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

Detailed Description

Entity interface.

Remarks
The entity sink interfaces can be queried from the VlkEntity objects.

General

virtual void Reset ()=0
 Reset the entity. More...
 
virtual iVlkGetVlk () const =0
 Get the vlk interface. {Property}. More...
 
virtual ni::iHStringGetClassName () const =0
 Get the entity class name. {Property}. More...
 
virtual void SetName (ni::iHString *ahspName)=0
 Set the entity name. {Property}. More...
 
virtual ni::iHStringGetName () const =0
 Get the entity name. {Property}. More...
 
virtual void SetGroup (ni::iHString *ahspGroup)=0
 Set the entity's group. {Property}. More...
 
virtual ni::iHStringGetGroup () const =0
 Get the entity's group. {Property}. More...
 
virtual void SetFlags (tVlkEntityFlags aFlags)=0
 Set the entity flags. {Property}. More...
 
virtual tVlkEntityFlags GetFlags () const =0
 Get the entity flags. {Property}. More...
 
virtual void SetClassFlags (tVlkEntityClassFlags aFlags)=0
 Set the entity class flags. {Property}. More...
 
virtual tVlkEntityClassFlags GetClassFlags () const =0
 Get the entity class flags. {Property}. More...
 
virtual void SetTransform (ni::iTransform *apTransform)=0
 Set the entity transform. {Property}. More...
 
virtual ni::iTransformGetTransform () const =0
 Get the entity transform. {Property}. More...
 
virtual ni::sVec3f GetCenter () const =0
 Get the entity's center. {Property}. More...
 

Boundaries, Collisions and Physics

virtual void SetLocalBoundingVolume (ni::iBoundingVolume *apBV)=0
 Set the entity local bounding volume. {Property}. More...
 
virtual ni::iBoundingVolumeGetLocalBoundingVolume () const =0
 Get the entity local bounding volume. {Property}. More...
 
virtual ni::iBoundingVolumeUpdateBoundingVolume ()=0
 Update the entity's world bounding volume. More...
 
virtual const ni::iBoundingVolumeGetBoundingVolume () const =0
 Get the entity world bounding volume. {Property}. More...
 

Rendering

virtual void SetPainterObject (ni::iPainterObject *apObject)=0
 Set the entity's painter object. {Property}. More...
 
virtual ni::iPainterObjectGetPainterObject () const =0
 Get the entity's message sending painter object. {Property}. More...
 
virtual ni::tBool SetPainterObjectFlags (ni::tPainterObjectFlags aFlags)=0
 Set the entity's painter object flags. {Property}. More...
 
virtual ni::tPainterObjectFlags GetPainterObjectFlags () const =0
 Get the entity's painter object flags. {Property}. More...
 
virtual ni::tBool SetVizObject (ni::iVizObject *apObject)=0
 Set the entity's viz object. {Property}. More...
 
virtual ni::iVizObjectGetVizObject () const =0
 Get the entity's viz object. {Property}. More...
 
virtual ni::tBool SetVizObjectUnbounded ()=0
 Set an unbounded (always visible) viz object. More...
 
virtual ni::tBool SetVizObjectAABB ()=0
 Set a AABB viz object. More...
 

Layer

virtual ni::tBool GetIsLayer () const =0
 Return eTrue if the node is a layer. {Property}. More...
 
virtual iVlkLayerGetLayer () const =0
 Return the entity's parent layer. {Property}. More...
 
virtual ni::iCollideSceneGetCollideScene () const =0
 Get the collide scene of the entity. {Property}. More...
 
virtual ni::iDynamicsSceneGetDynamicsScene () const =0
 Get the dynamics scene of the entity. {Property}. More...
 
virtual ni::iCollideQueryGetCollideQuery () const =0
 Get the collide query of the entity. {Property}. More...
 
virtual ni::iPainterDrawSetGetPainterDrawSet () const =0
 Get the painter draw set of the entity. {Property}. More...
 
virtual ni::iPainterStatesGetPainterStates () const =0
 Get the painter states of the entity. {Property}. More...
 
virtual ni::iVizCellGetVizCell () const =0
 Get the viz cell of the entity. {Property}. More...
 
virtual iVlkCameraGetLayerCamera () const =0
 Return the camera that 'see' the entity in its layer. {Property}. More...
 
virtual iVlkCameraGetCamera () const =0
 Return the camera that 'see' the entity. {Property}. More...
 
virtual iVlkEntityGetParentLayer () const =0
 Return the entity's parent layer. {Property}. More...
 
virtual iVlkEntityGetLevel () const =0
 Return the entity's level entity. {Property}. More...
 

Hierarchy

virtual ni::tBool GetIsRoot () const =0
 Return eTrue if the node is a the root node of tree (aka. has no parent). {Property}. More...
 
virtual iVlkEntityGetRoot () const =0
 Get the root node of the tree. {Property}. More...
 
virtual ni::tBool SetParent (iVlkEntity *apParent)=0
 Set the entity's parent. {Property}. More...
 
virtual iVlkEntityGetParent () const =0
 Return the parent. {Property}. More...
 
virtual ni::tU32 GetNumChildren () const =0
 Get the number of children node attached to this node. {Property}. More...
 
virtual iVlkEntityGetChildFromIndex (ni::tU32 anIndex) const =0
 Get the node at the given index. {Property}. More...
 
virtual iVlkEntityGetChildFromName (ni::iHString *ahspName) const =0
 Get the first child node with the given name. {Property}. More...
 
virtual ni::tU32 GetChildIndex (iVlkEntity *apE) const =0
 Get the index of the specified child. {Property}. More...
 
virtual ni::tBool AttachChild (iVlkEntity *apNode)=0
 Attach a child entity. More...
 
virtual ni::tBool AttachChildBefore (iVlkEntity *apNode, ni::tU32 anIndex)=0
 Attach a child entity before the specified index. More...
 
virtual ni::tBool DetachChild (iVlkEntity *apNode)=0
 Detach the specified child entity. More...
 
virtual ni::tBool DetachAllChildren ()=0
 Detach all child nodes. More...
 

Properties

virtual ni::iDataTableGetProperties () const =0
 Get the entity property datatable. {Property}. More...
 
virtual void BindProperty (ni::iHString *ahspProperty, const ni::Var &aInitialValue, ni::iRunnable *apGet, ni::iCallback *apSet)=0
 Bind a property to the specified getter and setter. More...
 

Status

virtual void SetEnabled (ni::tBool abEnabled)=0
 Set the entity enabled status. {Property}. More...
 
virtual ni::tBool GetEnabled () const =0
 Get the entity enabled status. {Property}. More...
 
virtual ni::tBool GetAbsoluteEnabled () const =0
 Get the entity enabled status, taking in account the parent's visibility and the timeline visibility. {Property}. More...
 
virtual ni::tBool GetSelected () const =0
 Get whether the entity is selected in any selection group. {Property}. More...
 
virtual ni::tBool GetIsInvalidating () const =0
 Get whether the entity is being invalidated. {Property}. More...
 

Timer

virtual void SetTimer (ni::tU32 anID, ni::tF32 afTime)=0
 Set a timer. More...
 

Sinks

virtual void ClearSinks ()=0
 Clear all entity sinks. More...
 
virtual ni::tBool AddSink (iVlkEntitySink *apSink)=0
 Add a entity sink as first sink called. More...
 
virtual ni::tBool AddPostSink (iVlkEntitySink *apSink)=0
 Add a entity sink as last sink called. More...
 
virtual void RemoveSink (iVlkEntitySink *apSink)=0
 Remove a entity sink. More...
 

Message

virtual ni::tBool SendMessage (ni::tU32 aMsg, const ni::Var &avarA=niVarNull, const ni::Var &avarB=niVarNull)=0
 Send a message to the entity. More...
 
virtual ni::tBool BroadcastMessage (ni::tU32 aMsg, const ni::Var &avarA=niVarNull, const ni::Var &avarB=niVarNull)=0
 Send a message to the entity and its children recursivly. More...
 
virtual void DispatchEventMessage (ni::tU32 aMsg, const ni::Var &avarA, const ni::Var &avarB, ni::tBool abReset)=0
 Dispatch an entity message to the event handlers. More...
 
virtual ni::tBool CallMessageHandler (ni::tU32 aMsg, const ni::Var &avarA, const ni::Var &avarB)=0
 Call the entity's message handler directly. More...
 

Timelines

virtual ni::tBool AddTimeline (ni::iHString *ahspName, ni::iHString *ahspEvent)=0
 Add a timeline. More...
 
virtual ni::tBool AddTimelineEx (vlk::iVlkTimeline *apTL)=0
 Add an existing timeline. More...
 
virtual vlk::iVlkTimelineAddTimelineBefore (ni::iHString *ahspName, ni::iHString *ahspEvent, ni::tU32 anIndex)=0
 Add a timeline. More...
 
virtual vlk::iVlkTimelineAddTimelineExBefore (vlk::iVlkTimeline *apTL, ni::tU32 anIndex)=0
 Add an existing timeline. More...
 
virtual ni::tBool RemoveTimeline (vlk::iVlkTimeline *apTL)=0
 Remove a timeline. More...
 
virtual ni::tU32 GetNumTimelines () const =0
 Get the number of timelines. {Property}. More...
 
virtual vlk::iVlkTimelineGetTimeline (ni::tU32 anIndex) const =0
 Get the timeline of the entity at the specified index. {Property}. More...
 
virtual vlk::iVlkTimelineGetTimelineFromName (ni::iHString *ahspName) const =0
 Get the timeline with the specified name. {Property}. More...
 
virtual ni::tU32 GetTimelineIndex (vlk::iVlkTimeline *apTL) const =0
 Get the index of the specified timeline. {Property}. More...
 

Serialization.

virtual ni::tBool SerializeBase (ni::iDataTable *apDT, tVlkEntitySerializeFlags anFlags)=0
 Serialize this entity. More...
 
virtual ni::tBool SerializeChildren (ni::iDataTable *apDT, tVlkEntitySerializeFlags anFlags)=0
 Serialize the entity's children. More...
 
virtual ni::tBool SerializeTimeline (ni::iDataTable *apDT, tVlkEntitySerializeFlags anFlags)=0
 Serialize the entity's actions. More...
 
virtual ni::tBool SerializeMaterials (ni::iDataTable *apDT, tVlkEntitySerializeFlags anFlags)=0
 Serialize this entity's materials. More...
 
virtual ni::tBool SerializeFinalize (ni::iDataTable *apDT, tVlkEntitySerializeFlags anFlags)=0
 Serialize finalize. More...
 

Materials

virtual ni::tBool ClearMaterials ()=0
 Remove all materials. More...
 
virtual ni::tBool AddMaterial (ni::iMaterial *apMaterial)=0
 Add a material. More...
 
virtual ni::tBool RemoveMaterial (ni::iMaterial *apMaterial)=0
 Remove a material. More...
 
virtual ni::tU32 GetNumMaterials () const =0
 Get the number of materials. {Property}. More...
 
virtual ni::iMaterialGetMaterial (ni::tU32 anIndex) const =0
 Get the material at the specified index. {Property}. More...
 
virtual ni::iMaterialGetMaterialFromName (ni::iHString *ahspName) const =0
 Get the material from the specified name. {Property}. More...
 
virtual ni::tU32 GetMaterialIndex (ni::iMaterial *apMaterial) const =0
 Get the index of the specified material. {Property}. More...
 
virtual ni::iMaterialLibraryGetMaterialLibrary () const =0
 Get the material library. {Property}. More...
 
virtual ni::tBool SetMaterialLibrary (ni::iMaterialLibrary *apMatLib)=0
 Set the material library. {Property}. More...
 

Additional Inherited Members

- Public Member Functions inherited from iMessageHandler
virtual tU64 GetThreadID () const =0
 Get the message handler's owner thread. That is the thread where HandleMessage will be called. {Property}{Optional}. More...
 
virtual void HandleMessage (const tU32 anMsg, const Var &avarA, const Var &avarB)=0
 Called when a message should be handled. 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 void Reset ( )
pure virtual

Reset the entity.

Remarks
This will reset the whole entity excepted it's class name, name, group and data table.
virtual iVlk* GetVlk ( ) const
pure virtual

Get the vlk interface. {Property}.

virtual ni::iHString* GetClassName ( ) const
pure virtual

Get the entity class name. {Property}.

virtual void SetName ( ni::iHString ahspName)
pure virtual

Set the entity name. {Property}.

virtual ni::iHString* GetName ( ) const
pure virtual

Get the entity name. {Property}.

virtual void SetGroup ( ni::iHString ahspGroup)
pure virtual

Set the entity's group. {Property}.

virtual ni::iHString* GetGroup ( ) const
pure virtual

Get the entity's group. {Property}.

virtual void SetFlags ( tVlkEntityFlags  aFlags)
pure virtual

Set the entity flags. {Property}.

virtual tVlkEntityFlags GetFlags ( ) const
pure virtual

Get the entity flags. {Property}.

virtual void SetClassFlags ( tVlkEntityClassFlags  aFlags)
pure virtual

Set the entity class flags. {Property}.

virtual tVlkEntityClassFlags GetClassFlags ( ) const
pure virtual

Get the entity class flags. {Property}.

virtual void SetTransform ( ni::iTransform apTransform)
pure virtual

Set the entity transform. {Property}.

virtual ni::iTransform* GetTransform ( ) const
pure virtual

Get the entity transform. {Property}.

virtual ni::sVec3f GetCenter ( ) const
pure virtual

Get the entity's center. {Property}.

Remarks
This represents the 'physical'/'visible' center in world space of the entity. It is different of the transform's world position in that it represents the center of the visible portion of the entity (the center of the entity's world bounding volume).
virtual void SetLocalBoundingVolume ( ni::iBoundingVolume apBV)
pure virtual

Set the entity local bounding volume. {Property}.

virtual ni::iBoundingVolume* GetLocalBoundingVolume ( ) const
pure virtual

Get the entity local bounding volume. {Property}.

virtual ni::iBoundingVolume* UpdateBoundingVolume ( )
pure virtual

Update the entity's world bounding volume.

Returns
The updated world bounding volume.
Remarks
Should be called if the entity's local bounding volume is modified.
The default UpdateTransform handler will update the bounding volume.
Compute the world bounding volume from the local bounding volume and update the entity's status in the broadphase if necessary.
virtual const ni::iBoundingVolume* GetBoundingVolume ( ) const
pure virtual

Get the entity world bounding volume. {Property}.

virtual void SetPainterObject ( ni::iPainterObject apObject)
pure virtual

Set the entity's painter object. {Property}.

Remarks
By default and when set to null a message sending painter object is set.
If needed, the new painter object has to send the vlk rendering message to the entity. Set the painter object to NULL to reset to the default message sending painter object.
virtual ni::iPainterObject* GetPainterObject ( ) const
pure virtual

Get the entity's message sending painter object. {Property}.

virtual ni::tBool SetPainterObjectFlags ( ni::tPainterObjectFlags  aFlags)
pure virtual

Set the entity's painter object flags. {Property}.

Remarks
Affects only the default message sending painter object.
virtual ni::tPainterObjectFlags GetPainterObjectFlags ( ) const
pure virtual

Get the entity's painter object flags. {Property}.

virtual ni::tBool SetVizObject ( ni::iVizObject apObject)
pure virtual

Set the entity's viz object. {Property}.

virtual ni::iVizObject* GetVizObject ( ) const
pure virtual

Get the entity's viz object. {Property}.

virtual ni::tBool SetVizObjectUnbounded ( )
pure virtual

Set an unbounded (always visible) viz object.

Remarks
If an unbounded viz object is already set the function does nothing and return true.
virtual ni::tBool SetVizObjectAABB ( )
pure virtual

Set a AABB viz object.

Remarks
The AABB's extents will be the entity's local bounding volume.
virtual ni::tBool GetIsLayer ( ) const
pure virtual

Return eTrue if the node is a layer. {Property}.

virtual iVlkLayer* GetLayer ( ) const
pure virtual

Return the entity's parent layer. {Property}.

Remarks
Return itself if the entity is a layer.
virtual ni::iCollideScene* GetCollideScene ( ) const
pure virtual

Get the collide scene of the entity. {Property}.

virtual ni::iDynamicsScene* GetDynamicsScene ( ) const
pure virtual

Get the dynamics scene of the entity. {Property}.

virtual ni::iCollideQuery* GetCollideQuery ( ) const
pure virtual

Get the collide query of the entity. {Property}.

virtual ni::iPainterDrawSet* GetPainterDrawSet ( ) const
pure virtual

Get the painter draw set of the entity. {Property}.

virtual ni::iPainterStates* GetPainterStates ( ) const
pure virtual

Get the painter states of the entity. {Property}.

virtual ni::iVizCell* GetVizCell ( ) const
pure virtual

Get the viz cell of the entity. {Property}.

virtual iVlkCamera* GetLayerCamera ( ) const
pure virtual

Return the camera that 'see' the entity in its layer. {Property}.

virtual iVlkCamera* GetCamera ( ) const
pure virtual

Return the camera that 'see' the entity. {Property}.

Remarks
It'll be the entity's layer's camera, if no camera are found in there it'll got to the next parent layer, if none are found the current vlk camera is returned.
virtual iVlkEntity* GetParentLayer ( ) const
pure virtual

Return the entity's parent layer. {Property}.

Remarks
The fundamental difference with the vlk::iVlkEntity::GetLayer method is that it will start searching for the entity's layer in the parent entity. So it behaves in the same way for all entities (including layer and level entities).
virtual iVlkEntity* GetLevel ( ) const
pure virtual

Return the entity's level entity. {Property}.

virtual ni::tBool GetIsRoot ( ) const
pure virtual

Return eTrue if the node is a the root node of tree (aka. has no parent). {Property}.

virtual iVlkEntity* GetRoot ( ) const
pure virtual

Get the root node of the tree. {Property}.

virtual ni::tBool SetParent ( iVlkEntity apParent)
pure virtual

Set the entity's parent. {Property}.

virtual iVlkEntity* GetParent ( ) const
pure virtual

Return the parent. {Property}.

virtual ni::tU32 GetNumChildren ( ) const
pure virtual

Get the number of children node attached to this node. {Property}.

virtual iVlkEntity* GetChildFromIndex ( ni::tU32  anIndex) const
pure virtual

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

virtual iVlkEntity* GetChildFromName ( ni::iHString ahspName) const
pure virtual

Get the first child node with the given name. {Property}.

virtual ni::tU32 GetChildIndex ( iVlkEntity apE) const
pure virtual

Get the index of the specified child. {Property}.

virtual ni::tBool AttachChild ( iVlkEntity apNode)
pure virtual

Attach a child entity.

Returns
eTrue if the attached node is ok, else eFalse.
Remarks
All child node attached will be automaticaly released when detached of his parent node or when his parent node is released.
virtual ni::tBool AttachChildBefore ( iVlkEntity apNode,
ni::tU32  anIndex 
)
pure virtual

Attach a child entity before the specified index.

Remarks
If the index is out of range (>= num children), the function is equivalent to AttachChild
virtual ni::tBool DetachChild ( iVlkEntity apNode)
pure virtual

Detach the specified child entity.

Returns
eTrue if the node has been detached, else eFalse.
virtual ni::tBool DetachAllChildren ( )
pure virtual

Detach all child nodes.

virtual ni::iDataTable* GetProperties ( ) const
pure virtual

Get the entity property datatable. {Property}.

Remarks
Properties are not serialized automatically by SerializeBase
virtual void BindProperty ( ni::iHString ahspProperty,
const ni::Var aInitialValue,
ni::iRunnable apGet,
ni::iCallback apSet 
)
pure virtual

Bind a property to the specified getter and setter.

Remarks
Adds the property into the root properties datatable.
Pass null for the getter and setter to unbind the property.
virtual void SetEnabled ( ni::tBool  abEnabled)
pure virtual

Set the entity enabled status. {Property}.

virtual ni::tBool GetEnabled ( ) const
pure virtual

Get the entity enabled status. {Property}.

virtual ni::tBool GetAbsoluteEnabled ( ) const
pure virtual

Get the entity enabled status, taking in account the parent's visibility and the timeline visibility. {Property}.

virtual ni::tBool GetSelected ( ) const
pure virtual

Get whether the entity is selected in any selection group. {Property}.

virtual ni::tBool GetIsInvalidating ( ) const
pure virtual

Get whether the entity is being invalidated. {Property}.

virtual void SetTimer ( ni::tU32  anID,
ni::tF32  afTime 
)
pure virtual

Set a timer.

Parameters
anIDis the ID of the timer to set.
afTimeis the time in seconds after which the timer will expire. If < 0 the timer will be removed.
Remarks
When the timer expires a eUIMessage_Timer will be sent to the entity with the timer ID as parameter. {Property}
virtual void ClearSinks ( )
pure virtual

Clear all entity sinks.

virtual ni::tBool AddSink ( iVlkEntitySink apSink)
pure virtual

Add a entity sink as first sink called.

virtual ni::tBool AddPostSink ( iVlkEntitySink apSink)
pure virtual

Add a entity sink as last sink called.

virtual void RemoveSink ( iVlkEntitySink apSink)
pure virtual

Remove a entity sink.

virtual ni::tBool SendMessage ( ni::tU32  aMsg,
const ni::Var avarA = niVarNull,
const ni::Var avarB = niVarNull 
)
pure virtual

Send a message to the entity.

virtual ni::tBool BroadcastMessage ( ni::tU32  aMsg,
const ni::Var avarA = niVarNull,
const ni::Var avarB = niVarNull 
)
pure virtual

Send a message to the entity and its children recursivly.

virtual void DispatchEventMessage ( ni::tU32  aMsg,
const ni::Var avarA,
const ni::Var avarB,
ni::tBool  abReset 
)
pure virtual

Dispatch an entity message to the event handlers.

Returns
The number of event handler to which the message was sent.
Remarks
DispatchEventMessage sent the messages to all non-default timeline (so all of the timelines excepted the one at index zero).
virtual ni::tBool CallMessageHandler ( ni::tU32  aMsg,
const ni::Var avarA,
const ni::Var avarB 
)
pure virtual

Call the entity's message handler directly.

virtual ni::tBool AddTimeline ( ni::iHString ahspName,
ni::iHString ahspEvent 
)
pure virtual

Add a timeline.

virtual ni::tBool AddTimelineEx ( vlk::iVlkTimeline apTL)
pure virtual

Add an existing timeline.

virtual vlk::iVlkTimeline* AddTimelineBefore ( ni::iHString ahspName,
ni::iHString ahspEvent,
ni::tU32  anIndex 
)
pure virtual

Add a timeline.

virtual vlk::iVlkTimeline* AddTimelineExBefore ( vlk::iVlkTimeline apTL,
ni::tU32  anIndex 
)
pure virtual

Add an existing timeline.

virtual ni::tBool RemoveTimeline ( vlk::iVlkTimeline apTL)
pure virtual

Remove a timeline.

virtual ni::tU32 GetNumTimelines ( ) const
pure virtual

Get the number of timelines. {Property}.

virtual vlk::iVlkTimeline* GetTimeline ( ni::tU32  anIndex) const
pure virtual

Get the timeline of the entity at the specified index. {Property}.

virtual vlk::iVlkTimeline* GetTimelineFromName ( ni::iHString ahspName) const
pure virtual

Get the timeline with the specified name. {Property}.

virtual ni::tU32 GetTimelineIndex ( vlk::iVlkTimeline apTL) const
pure virtual

Get the index of the specified timeline. {Property}.

virtual ni::tBool SerializeBase ( ni::iDataTable apDT,
tVlkEntitySerializeFlags  anFlags 
)
pure virtual

Serialize this entity.

virtual ni::tBool SerializeChildren ( ni::iDataTable apDT,
tVlkEntitySerializeFlags  anFlags 
)
pure virtual

Serialize the entity's children.

virtual ni::tBool SerializeTimeline ( ni::iDataTable apDT,
tVlkEntitySerializeFlags  anFlags 
)
pure virtual

Serialize the entity's actions.

virtual ni::tBool SerializeMaterials ( ni::iDataTable apDT,
tVlkEntitySerializeFlags  anFlags 
)
pure virtual

Serialize this entity's materials.

virtual ni::tBool SerializeFinalize ( ni::iDataTable apDT,
tVlkEntitySerializeFlags  anFlags 
)
pure virtual

Serialize finalize.

virtual ni::tBool ClearMaterials ( )
pure virtual

Remove all materials.

virtual ni::tBool AddMaterial ( ni::iMaterial apMaterial)
pure virtual

Add a material.

virtual ni::tBool RemoveMaterial ( ni::iMaterial apMaterial)
pure virtual

Remove a material.

virtual ni::tU32 GetNumMaterials ( ) const
pure virtual

Get the number of materials. {Property}.

virtual ni::iMaterial* GetMaterial ( ni::tU32  anIndex) const
pure virtual

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

virtual ni::iMaterial* GetMaterialFromName ( ni::iHString ahspName) const
pure virtual

Get the material from the specified name. {Property}.

virtual ni::tU32 GetMaterialIndex ( ni::iMaterial apMaterial) const
pure virtual

Get the index of the specified material. {Property}.

virtual ni::iMaterialLibrary* GetMaterialLibrary ( ) const
pure virtual

Get the material library. {Property}.

virtual ni::tBool SetMaterialLibrary ( ni::iMaterialLibrary apMatLib)
pure virtual

Set the material library. {Property}.