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

Detailed Description

Non-uniform spline interface.

Public Member Functions

virtual tBool SetType (eNUSplineType aType)=0
 Set the spline type. {Property}. More...
 
virtual eNUSplineType GetType () const =0
 Get the spline type. {Property}. More...
 
virtual void Clear ()=0
 Clear the spline, remove all nodes. More...
 
virtual void AddNode (const sVec4f &avNode)=0
 Add a node. More...
 
virtual tBool RemoveNode (tU32 anIndex)=0
 Remove the node at the specified index. More...
 
virtual tU32 GetNumNodes () const =0
 Get the number of nodes. {Property}. More...
 
virtual tBool SetNode (tU32 anIndex, const sVec4f &avNode)=0
 Set the node at the specified index. {Property}. More...
 
virtual sVec4f GetNode (tU32 anIndex) const =0
 Get the node at the specified index. {Property}. More...
 
virtual tF32 GetNodeDistance (tU32 anIndex) const =0
 Get the distance of the specified node. {Property}. More...
 
virtual tF32 GetLength () const =0
 Get the length of the path. {Property}. More...
 
virtual sVec3f GetPosition (tF32 afTime)=0
 Get the position at the specified time. More...
 
virtual sVec3f GetRelativePosition (tF32 afTime)=0
 Get the relative position at the specified time. More...
 
virtual tBool SerializeDataTable (iDataTable *apDT, tSerializeFlags aFlags)=0
 Serialize the spline in the specified datatable. More...
 
- 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 tBool SetType ( eNUSplineType  aType)
pure virtual

Set the spline type. {Property}.

virtual eNUSplineType GetType ( ) const
pure virtual

Get the spline type. {Property}.

virtual void Clear ( )
pure virtual

Clear the spline, remove all nodes.

virtual void AddNode ( const sVec4f avNode)
pure virtual

Add a node.

Remarks
The node is a 4D vector, with x,y,z as position and w as time interval.
The time interval is used only by timed non-uniform spline.
virtual tBool RemoveNode ( tU32  anIndex)
pure virtual

Remove the node at the specified index.

virtual tU32 GetNumNodes ( ) const
pure virtual

Get the number of nodes. {Property}.

virtual tBool SetNode ( tU32  anIndex,
const sVec4f avNode 
)
pure virtual

Set the node at the specified index. {Property}.

virtual sVec4f GetNode ( tU32  anIndex) const
pure virtual

Get the node at the specified index. {Property}.

virtual tF32 GetNodeDistance ( tU32  anIndex) const
pure virtual

Get the distance of the specified node. {Property}.

virtual tF32 GetLength ( ) const
pure virtual

Get the length of the path. {Property}.

virtual sVec3f GetPosition ( tF32  afTime)
pure virtual

Get the position at the specified time.

Remarks
The spline must have at least three nodes to return a valid position. If the spline is invalid a 0,0,0 position will be returned. {Property}
virtual sVec3f GetRelativePosition ( tF32  afTime)
pure virtual

Get the relative position at the specified time.

Remarks
The spline must have at least three nodes to return a valid position. If the spline is invalid a 0,0,0 position will be returned.
The relative position is relative to the first node's position. {Property}
virtual tBool SerializeDataTable ( iDataTable apDT,
tSerializeFlags  aFlags 
)
pure virtual

Serialize the spline in the specified datatable.