TalanSoft Toolkits  201707
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
iTransform Struct Referenceabstract
Inheritance diagram for iTransform:
iUnknown

Detailed Description

iTransform is the interface for positionning and orienting.

General

virtual tPtr GetDescStructPtr () const =0
 Get the transform description structure pointer. {Property}. More...
 
virtual iTransformClone () const =0
 Clone the transform. More...
 
virtual tBool Copy (const iTransform *apSrc)=0
 Copy another transform in this transform. More...
 
virtual tU16 SetDirty ()=0
 Mark the transform as "Dirty". More...
 
virtual void SetFlags (tU16 anFlags)=0
 Set the transform flags. {Property}. More...
 
virtual tU16 GetFlags () const =0
 Get the transform flags. {Property}. More...
 
virtual void SetSyncCounter (tU16 anFlags)=0
 Set the synchronization counter. {Property}. More...
 
virtual tU16 GetSyncCounter () const =0
 Get the synchronization counter. {Property}. More...
 

Parent

virtual void SetParent (iTransform *apParent)=0
 Set the parent transform. {Property}. More...
 
virtual iTransformGetParent () const =0
 Get the parent transform. {Property}. More...
 

Matrices

virtual void Identity ()=0
 Set the transform to identity. More...
 
virtual void SetWorldMatrix (const sMatrixf &aMatrix)=0
 Set the world matrix. {Property}. More...
 
virtual sMatrixf GetWorldMatrix () const =0
 Get the world matrix. {Property}. More...
 
virtual void SetLocalMatrix (const sMatrixf &aMatrix)=0
 Set the local matrix. {Property}. More...
 
virtual sMatrixf GetLocalMatrix () const =0
 Get the local matrix. {Property}. More...
 
virtual void MultiplyWorldMatrix (const sMatrixf &aMatrix)=0
 Multiply the world matrix. More...
 
virtual void PreMultiplyWorldMatrix (const sMatrixf &aMatrix)=0
 Pre-Multiply the world matrix. More...
 
virtual void MultiplyLocalMatrix (const sMatrixf &aMatrix)=0
 Multiply the local matrix. More...
 
virtual void PreMultiplyLocalMatrix (const sMatrixf &aMatrix)=0
 Pre-Multiply the local matrix. More...
 
virtual void LookAt (const sVec3f &avLookAt, const sVec3f &avUp)=0
 Set the transform's orientation that the forward vector points at a specified world position. More...
 

Position

virtual void SetWorldPosition (const sVec3f &v)=0
 Set the world position of the transform. {Property}. More...
 
virtual sVec3f GetWorldPosition () const =0
 Get the world position of the transform. {Property}. More...
 
virtual void SetLocalPosition (const sVec3f &v)=0
 Set the local position of the transform. {Property}. More...
 
virtual sVec3f GetLocalPosition () const =0
 Get the local position of the transform. {Property}. More...
 
virtual void Translate (const sVec3f &v)=0
 Translate the local position of the transform. More...
 
virtual void PreTranslate (const sVec3f &v)=0
 PreTranslate the local position of the transform. More...
 

Rotations

virtual void SetWorldRotation (const sMatrixf &aMatrix)=0
 Set the world rotation of the transform. {Property}. More...
 
virtual void SetLocalRotation (const sMatrixf &aMatrix)=0
 Set the local rotation of the transform. {Property}. More...
 
virtual void Rotate (const sMatrixf &aMatrix)=0
 Rotate the local rotation of the transform. More...
 
virtual void PreRotate (const sMatrixf &aMatrix)=0
 PreRotate the local rotation of the transform. More...
 

Scale

virtual void SetScale (const sVec3f &aScale)=0
 Set the scale of the transform. {Property}. More...
 
virtual sVec3f GetScale () const =0
 Return the scale of the transform. {Property}. More...
 

Offset transforms

virtual iTransformCreatePreOffsetTransform ()=0
 Create a pre offset transform. More...
 
virtual iTransformCreatePostOffsetTransform ()=0
 Create a post offset transform. More...
 

Axis vectors

virtual sVec3f GetRight () const =0
 Get the right (X) vector. {Property}. More...
 
virtual sVec3f GetUp () const =0
 Get the up (Y) vector. {Property}. More...
 
virtual sVec3f GetForward () const =0
 Get the forward (Z) vector. {Property}. More...
 
virtual sVec3f GetInvRight () const =0
 Get the inverse transform right (X) vector. {Property}. More...
 
virtual sVec3f GetInvUp () const =0
 Get the inverse transform up (Y) vector. {Property}. More...
 
virtual sVec3f GetInvForward () const =0
 Get the inverse transform forward (Z) vector. {Property}. More...
 

Additional Inherited Members

- Public Member Functions inherited from iUnknown
virtual tBool IsOK () const =0
 Check if the object is valid. More...
 
virtual tI32 AddRef ()=0
 Signal that one more reference of the object has been created. More...
 
virtual tI32 Release ()=0
 Release a reference of the object. More...
 
virtual void DeleteThis ()=0
 Bypass any reference counting and delete this object. More...
 
virtual void Invalidate ()=0
 Invalidate the object. More...
 
virtual iUnknownQueryInterface (const tUUID &aIID)=0
 Query an interface. More...
 
virtual void ListInterfaces (iMutableCollection *apLst, tU32 anFlags) const =0
 Fill a UUID list containing the UUIDs of the implemented interfaces. More...
 
virtual tI32 SetNumRefs (tI32 anNumRefs)=0
 Set the reference counter directly. More...
 
virtual tI32 GetNumRefs () const =0
 Get the number of references to this object. More...
 

Member Function Documentation

virtual tPtr GetDescStructPtr ( ) const
pure virtual

Get the transform description structure pointer. {Property}.

virtual iTransform* Clone ( ) const
pure virtual

Clone the transform.

virtual tBool Copy ( const iTransform apSrc)
pure virtual

Copy another transform in this transform.

Remarks
This function should be prefered to copying the world matrix of the transform. The scale of the transform is stored separatly and will be lost if not copied aswell.
virtual tU16 SetDirty ( )
pure virtual

Mark the transform as "Dirty".

Remarks
If the transform isn't already marked as dirty it increases the update count.
Returns
The previous value of the sync counter, garanteed to be different of the current counter.
virtual void SetFlags ( tU16  anFlags)
pure virtual

Set the transform flags. {Property}.

virtual tU16 GetFlags ( ) const
pure virtual

Get the transform flags. {Property}.

virtual void SetSyncCounter ( tU16  anFlags)
pure virtual

Set the synchronization counter. {Property}.

virtual tU16 GetSyncCounter ( ) const
pure virtual

Get the synchronization counter. {Property}.

Remarks
The counter can be used to synchronize updates.
virtual void SetParent ( iTransform apParent)
pure virtual

Set the parent transform. {Property}.

virtual iTransform* GetParent ( ) const
pure virtual

Get the parent transform. {Property}.

virtual void Identity ( )
pure virtual

Set the transform to identity.

virtual void SetWorldMatrix ( const sMatrixf aMatrix)
pure virtual

Set the world matrix. {Property}.

virtual sMatrixf GetWorldMatrix ( ) const
pure virtual

Get the world matrix. {Property}.

virtual void SetLocalMatrix ( const sMatrixf aMatrix)
pure virtual

Set the local matrix. {Property}.

virtual sMatrixf GetLocalMatrix ( ) const
pure virtual

Get the local matrix. {Property}.

virtual void MultiplyWorldMatrix ( const sMatrixf aMatrix)
pure virtual

Multiply the world matrix.

virtual void PreMultiplyWorldMatrix ( const sMatrixf aMatrix)
pure virtual

Pre-Multiply the world matrix.

virtual void MultiplyLocalMatrix ( const sMatrixf aMatrix)
pure virtual

Multiply the local matrix.

virtual void PreMultiplyLocalMatrix ( const sMatrixf aMatrix)
pure virtual

Pre-Multiply the local matrix.

virtual void LookAt ( const sVec3f avLookAt,
const sVec3f avUp 
)
pure virtual

Set the transform's orientation that the forward vector points at a specified world position.

virtual void SetWorldPosition ( const sVec3f v)
pure virtual

Set the world position of the transform. {Property}.

virtual sVec3f GetWorldPosition ( ) const
pure virtual

Get the world position of the transform. {Property}.

virtual void SetLocalPosition ( const sVec3f v)
pure virtual

Set the local position of the transform. {Property}.

virtual sVec3f GetLocalPosition ( ) const
pure virtual

Get the local position of the transform. {Property}.

virtual void Translate ( const sVec3f v)
pure virtual

Translate the local position of the transform.

virtual void PreTranslate ( const sVec3f v)
pure virtual

PreTranslate the local position of the transform.

virtual void SetWorldRotation ( const sMatrixf aMatrix)
pure virtual

Set the world rotation of the transform. {Property}.

virtual void SetLocalRotation ( const sMatrixf aMatrix)
pure virtual

Set the local rotation of the transform. {Property}.

virtual void Rotate ( const sMatrixf aMatrix)
pure virtual

Rotate the local rotation of the transform.

virtual void PreRotate ( const sMatrixf aMatrix)
pure virtual

PreRotate the local rotation of the transform.

virtual void SetScale ( const sVec3f aScale)
pure virtual

Set the scale of the transform. {Property}.

virtual sVec3f GetScale ( ) const
pure virtual

Return the scale of the transform. {Property}.

virtual iTransform* CreatePreOffsetTransform ( )
pure virtual

Create a pre offset transform.

Remarks
The created transform will be the new parent of this transform. The current parent of this transform becoming the parent of the offset transform.
virtual iTransform* CreatePostOffsetTransform ( )
pure virtual

Create a post offset transform.

Remarks
The created transform will have this transform as parent.
virtual sVec3f GetRight ( ) const
pure virtual

Get the right (X) vector. {Property}.

virtual sVec3f GetUp ( ) const
pure virtual

Get the up (Y) vector. {Property}.

virtual sVec3f GetForward ( ) const
pure virtual

Get the forward (Z) vector. {Property}.

virtual sVec3f GetInvRight ( ) const
pure virtual

Get the inverse transform right (X) vector. {Property}.

virtual sVec3f GetInvUp ( ) const
pure virtual

Get the inverse transform up (Y) vector. {Property}.

virtual sVec3f GetInvForward ( ) const
pure virtual

Get the inverse transform forward (Z) vector. {Property}.