Character interface.
General | |
| virtual iCharacterFactory * | GetCharacterFactory () const =0 |
| Get the parent character factory. {Property}. More... | |
| virtual void | Update (tF32 fFrameTime)=0 |
| Update the model. More... | |
| virtual void | UpdateEx (tF32 fFrameTime, tU32 anFrameCount)=0 |
| Update the model with frame count. More... | |
| virtual void | UpdateAnimationMixer (tF32 fFrameTime, tU32 anFrameCount)=0 |
| Update only the animation mixer. More... | |
| virtual tBool | UpdateNodeAnimation (tU32 anIndex, tBool abForceStatic)=0 |
| Update only the transform of the specified node. More... | |
| virtual iBoundingVolume * | GetLocalBoundingVolume () const =0 |
| Get the local bounding volume of this object. {Property}. More... | |
| virtual iBoundingVolume * | GetBoundingVolume () const =0 |
| Get the world bounding volume of this object. {Property}. More... | |
| virtual void | SetTransform (iTransform *apTransform)=0 |
| Set the character's transform. {Property}. More... | |
| virtual iTransform * | GetTransform () const =0 |
| Get the character's transform. {Property}. More... | |
| virtual tBool | SetAnimationMixer (iAnimationMixer *apMixer)=0 |
| Set the character's animation mixer. {Property}. More... | |
| virtual iAnimationMixer * | GetAnimationMixer () const =0 |
| Get the character's animation mixer. {Property}. More... | |
| virtual tBool | SetMaterialLibrary (iMaterialLibrary *apMatLib)=0 |
| Set the material library of the character. {Property}. More... | |
| virtual iMaterialLibrary * | GetMaterialLibrary () const =0 |
| Get the material library of the character. {Property}. More... | |
Instance | |
| virtual ni::tU32 | GetInstanceFlags () const =0 |
| Get whether the character is an instance. {Property}. More... | |
| virtual iCharacter * | GetBaseCharacter () const =0 |
| Get the base character if the character is an instance. {Property}. More... | |
| virtual iCharacter * | CreateInstance (tCharacterInstanceFlags aInstanceFlags) const =0 |
| Create an instance of this character. More... | |
Nodes | |
| virtual iCharacterNode * | GetRootNode () const =0 |
| Get the root node. {Property}. More... | |
| virtual tU32 | GetNumNodes () const =0 |
| Get the number of nodes in the character. {Property}. More... | |
| virtual iCharacterNode * | GetNode (tU32 anIndex) const =0 |
| Get the node at the specified index. {Property}. More... | |
| virtual tU32 | GetNodeIndex (iCharacterNode *apNode) const =0 |
| Get the index of the specified node. {Property}. More... | |
| virtual tU32 | GetNodeIndexFromName (iHString *ahspName) const =0 |
| Get the index of the specified node from a node name. {Property}. More... | |
| virtual iCharacterNode * | GetNodeFromName (iHString *ahspName) const =0 |
| Get the node with the specified name. {Property}. More... | |
Meshes | |
| virtual tU32 | GetNumMeshes () const =0 |
| Get the number of meshes. {Property}. More... | |
| virtual void | SetMeshMaterial (tU32 anMesh, tU32 anMat)=0 |
| Set the material index of a mesh. {Property}. More... | |
| virtual tU32 | GetMeshMaterial (tU32 anIndex) const =0 |
| Get the material index of a mesh. {Property}. More... | |
| virtual tU32 | GetMeshGeometry (tU32 anIndex) const =0 |
| Get the geometry index of a mesh. {Property}. More... | |
| virtual tU32 | GetMeshFirstIndex (tU32 anIndex) const =0 |
| Get the draw op first index of a mesh. {Property}. More... | |
| virtual tU32 | GetMeshNumIndices (tU32 anIndex) const =0 |
| Get the draw op num indices of a mesh. {Property}. More... | |
| virtual iCollideShape * | GetMeshCollideShape (tU32 anIndex) const =0 |
| Get the collide shape associated with a mesh. {Property}. More... | |
| virtual iCharacterNode * | GetMeshNode (tU32 anIndex) const =0 |
| Get the node associated with a mesh. More... | |
| virtual iDrawOperation * | GetMeshDrawOperation (tU32 anIndex) const =0 |
| Get the draw operation associated with a mesh. More... | |
| virtual iCollideObject * | GetMeshCollideObject (tU32 anIndex) const =0 |
| Get the collide object associated with a mesh. More... | |
| virtual iBoundingVolume * | GetMeshBoundingVolume (tU32 anIndex) const =0 |
| Get the bounding volume associated with a mesh. More... | |
| virtual tBool | GetMeshWorldPos (tU32 anIndex) const =0 |
| Get whether the mesh's vertices are in world position. {Property}. More... | |
Geometries | |
| virtual tU32 | GetNumGeometries () const =0 |
| Get the number of geometries. {Property}. More... | |
| virtual iGeometry * | GetGeometry (tU32 anIndex) const =0 |
| Get a geometry. {Property}. More... | |
| virtual iGeometry * | GetGeometryBase (tU32 anIndex) const =0 |
| Get the base geometry of the specified geometry. {Property}. More... | |
| virtual iGeometryModifier * | GetGeometryModifier (tU32 anIndex) const =0 |
| Get the geometry modifier of the specified geometry. {Property}. More... | |
Bones | |
| virtual tU32 | GetNumBones () const =0 |
| Get the number of bones in the character. {Property}. More... | |
| virtual iCharacterNode * | GetBoneNode (tU32 anIndex) const =0 |
| Get the node associated with a bone. {Property}. More... | |
| virtual sMatrixf | GetBoneOffsetMatrix (tU32 anIndex) const =0 |
| Get the offset matrix of a bone. {Property}. More... | |
| virtual sMatrixf | GetBoneInvRefMatrix (tU32 anIndex) const =0 |
| Get the inverse reference matrix of a bone. {Property}. More... | |
| virtual void | UpdateBoneMatrixPalette ()=0 |
| Force the matrix palette update. More... | |
| virtual tMatrixfCVec * | GetBoneMatrixPalette () const =0 |
| Get the bone matrix palette. {Property}. More... | |
Entities | |
| virtual void | ClearEntities ()=0 |
| Remove all entities. More... | |
| virtual tBool | AddEntity (iDataTable *apEntity)=0 |
| Add an entity. More... | |
| virtual tBool | RemoveEntity (iDataTable *apEntity)=0 |
| Remove an entity. More... | |
| virtual tU32 | GetNumEntities () const =0 |
| Get the number of entities. {Property}. More... | |
| virtual tU32 | GetEntityIndex (iDataTable *apEntity) const =0 |
| Get the index of the specified entity. {Property}. More... | |
| virtual iDataTable * | GetEntity (tU32 anIndex) const =0 |
| Get the entity at the specified index. {Property}. More... | |
| virtual iDataTable * | GetEntityFromName (iHString *ahspName) const =0 |
| Get the first entity with the specified name. {Property}. More... | |
Instances and Rendering | |
| virtual tBool | FillDrawOpSet (iDrawOperationSet *apDrawOpSet, const iFrustum *apFrustum)=0 |
| Set the character in a draw operation set. More... | |
Initialization | |
| virtual iCharacterNode * | AddNode (iHString *ahspName, iHString *ahspParent, const sMatrixf &amtxNode)=0 |
| Add a node in the character. More... | |
| virtual tBool | CollapseNodeMeshes (iHString *ahspName)=0 |
| Collapse all the meshes of children node into the specified node. More... | |
| virtual tBool | RemoveEmptyNodes (iHString *ahspName, tBool abAllNoMeshes)=0 |
| Remove all empty nodes. More... | |
| virtual tU32 | RemoveEmptyMeshes ()=0 |
| Remove all empty meshes. More... | |
| virtual tU32 | AddBone (iHString *ahspBoneName, const sMatrixf &aBoneMatrix, const sMatrixf &aInvRefMatrix)=0 |
| Add a bone. More... | |
| virtual tU32 | AddMesh (iHString *ahspNodeName, tU32 anGeom, tU32 ulMaterial, tU32 ulFirstIdx, tU32 ulNumIdx, tBool abWorldPos)=0 |
| Add a mesh. More... | |
| virtual tBool | SortMeshesByMaterial (tU32 anFirstMesh, tU32 anNumMeshes)=0 |
| Sort meshes by material. More... | |
| virtual tBool | RemapMeshesIndicesFromSubsets (iGeometry *apGeom, tU32 anFirstSubset, tU32 anNumSubsets)=0 |
| Remap meshes indices from subsets. More... | |
| virtual tU32 | PackGeometry (iGeometry *apGeom, tU32 anFirstMesh, tU32 anNumMeshes, tU32 anGeomIndexBase, eArrayUsage aUsage, tFVF aBaseFVF, tFVF aDefaultFVF, tBool abOneFVF, tIUnknownCVec *apGeoms)=0 |
| Pack several meshes into several geometries. More... | |
| virtual iGeometry * | PackSingleGeometry (iGeometry *apGeom, tU32 anFirstMesh, tU32 anNumMeshes, tU32 anGeomIndexBase, eArrayUsage aUsage, tFVF aBaseFVF, tFVF aDefaultFVF)=0 |
| Pack several meshes into a single geometry. More... | |
| virtual tBool | AddGeometry (iGeometry *apGeom, iGeometryModifier *apModifier)=0 |
| Add a geometry. More... | |
| virtual tU32 | AddPackedGeometry (iGeometry *apGeom, tU32 anFirstMesh, tU32 anNumMeshes, eArrayUsage aUsage, tFVF aBaseFVF, tFVF aDefaultFVF, tBool abOneFVF)=0 |
| Add a packed geometry. More... | |
| virtual tU32 | AddPackedSingleGeometry (iGeometry *apGeom, tU32 anFirstMesh, tU32 anNumMeshes, eArrayUsage aUsage, tFVF aBaseFVF, tFVF aDefaultFVF)=0 |
| Add a single geometry. More... | |
| virtual tBool | InitMeshCollisions (iCollideScene *apScene, tCollideMeshFlags aCollideMeshFlags)=0 |
| Init the collisions of the character. More... | |
| virtual tBool | InitMeshInstances (iCollideScene *apScene)=0 |
| Init the drawops and collisions of the mesh of character. More... | |
| virtual tBool | InitAnimations ()=0 |
| Init the animations. 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 iUnknown * | QueryInterface (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... | |
|
pure virtual |
Get the parent character factory. {Property}.
Update the model with frame count.
Update only the animation mixer.
Update only the transform of the specified node.
|
pure virtual |
Get the local bounding volume of this object. {Property}.
|
pure virtual |
Get the world bounding volume of this object. {Property}.
|
pure virtual |
Set the character's transform. {Property}.
|
pure virtual |
Get the character's transform. {Property}.
|
pure virtual |
Set the character's animation mixer. {Property}.
|
pure virtual |
Get the character's animation mixer. {Property}.
|
pure virtual |
Set the material library of the character. {Property}.
|
pure virtual |
Get the material library of the character. {Property}.
|
pure virtual |
Get whether the character is an instance. {Property}.
|
pure virtual |
Get the base character if the character is an instance. {Property}.
|
pure virtual |
Create an instance of this character.
|
pure virtual |
Get the root node. {Property}.
|
pure virtual |
Get the number of nodes in the character. {Property}.
|
pure virtual |
Get the node at the specified index. {Property}.
|
pure virtual |
Get the index of the specified node. {Property}.
Get the index of the specified node from a node name. {Property}.
|
pure virtual |
Get the node with the specified name. {Property}.
|
pure virtual |
Get the number of meshes. {Property}.
Set the material index of a mesh. {Property}.
Get the material index of a mesh. {Property}.
Get the geometry index of a mesh. {Property}.
Get the draw op first index of a mesh. {Property}.
Get the draw op num indices of a mesh. {Property}.
|
pure virtual |
Get the collide shape associated with a mesh. {Property}.
|
pure virtual |
Get the node associated with a mesh.
|
pure virtual |
Get the draw operation associated with a mesh.
|
pure virtual |
Get the collide object associated with a mesh.
|
pure virtual |
Get the bounding volume associated with a mesh.
Get whether the mesh's vertices are in world position. {Property}.
|
pure virtual |
Get the number of geometries. {Property}.
Get the base geometry of the specified geometry. {Property}.
|
pure virtual |
Get the geometry modifier of the specified geometry. {Property}.
|
pure virtual |
Get the number of bones in the character. {Property}.
|
pure virtual |
Get the node associated with a bone. {Property}.
Get the offset matrix of a bone. {Property}.
Get the inverse reference matrix of a bone. {Property}.
|
pure virtual |
Force the matrix palette update.
|
pure virtual |
Get the bone matrix palette. {Property}.
|
pure virtual |
Remove all entities.
|
pure virtual |
Add an entity.
|
pure virtual |
Remove an entity.
|
pure virtual |
Get the number of entities. {Property}.
|
pure virtual |
Get the index of the specified entity. {Property}.
|
pure virtual |
Get the entity at the specified index. {Property}.
|
pure virtual |
Get the first entity with the specified name. {Property}.
|
pure virtual |
Set the character in a draw operation set.
|
pure virtual |
Add a node in the character.
Collapse all the meshes of children node into the specified node.
Remove all empty nodes.
| ahspName | is the name of the node where to start to remove empty nodes. |
| abAllNoMeshes | specify whether all nodes that dont have any mesh should be removed, or if the ones which dont have meshes but have custom data should be kept. |
|
pure virtual |
Remove all empty meshes.
|
pure virtual |
Add a bone.
|
pure virtual |
Add a mesh.
Sort meshes by material.
|
pure virtual |
Remap meshes indices from subsets.
|
pure virtual |
Pack several meshes into several geometries.
|
pure virtual |
Pack several meshes into a single geometry.
|
pure virtual |
Add a geometry.
|
pure virtual |
Add a packed geometry.
|
pure virtual |
Add a single geometry.
|
pure virtual |
Init the collisions of the character.
| apScene | |
| aCollideMeshFlags | the collide mesh flags, if eInvalidHandle disabled mesh collisions. eCollideMeshFlags_MaterialID will create packed collision meshes for for the character usually resulting in faster collisions detection. |
|
pure virtual |
Init the drawops and collisions of the mesh of character.
|
pure virtual |
Init the animations.
1.8.7