iAnimatedMeshFactory Struct Reference
[Mesh plugins]
State of animated mesh object factory.
More...
#include <imesh/animesh.h>

Public Member Functions | |
Morph targets | |
virtual void | ClearMorphTargets ()=0 |
Remove all morph targets. | |
virtual iAnimatedMeshMorphTarget * | CreateMorphTarget (const char *name)=0 |
Create a new morph target. | |
virtual uint | FindMorphTarget (const char *name) const =0 |
Find the index of the morph target with the given name (or (uint)~0 if no target with that name exists). | |
virtual iAnimatedMeshMorphTarget * | GetMorphTarget (uint target)=0 |
Get a specific morph target. | |
virtual uint | GetMorphTargetCount () const =0 |
Get number of morph targets. | |
Socket | |
virtual void | CreateSocket (BoneID bone, const csReversibleTransform &transform, const char *name)=0 |
Create a new socket. | |
virtual uint | FindSocket (const char *name) const =0 |
Find the index of the socket with the given name (or (uint)~0 if no socket with that name exists). | |
virtual iAnimatedMeshSocketFactory * | GetSocket (size_t index) const =0 |
Get a specific socket instance. | |
virtual size_t | GetSocketCount () const =0 |
Get the number of sockets in factory. | |
SubMesh handling | |
virtual iAnimatedMeshFactorySubMesh * | CreateSubMesh (const csArray< iRenderBuffer * > &indices, const csArray< csArray< unsigned int > > &boneIndices, const char *name, bool visible)=0 |
Create a new submesh. | |
virtual iAnimatedMeshFactorySubMesh * | CreateSubMesh (iRenderBuffer *indices, const char *name, bool visible)=0 |
Create a new submesh. | |
virtual void | DeleteSubMesh (iAnimatedMeshFactorySubMesh *mesh)=0 |
Remove a submesh from factory. | |
virtual size_t | FindSubMesh (const char *name) const =0 |
Find a submesh index by name, returns (size_t)-1 if not found. | |
virtual iAnimatedMeshFactorySubMesh * | GetSubMesh (size_t index) const =0 |
Get a submesh by index. | |
virtual size_t | GetSubMeshCount () const =0 |
Get the total number of submeshes. | |
Vertex data definition and handling | |
virtual iRenderBuffer * | GetBinormals ()=0 |
Get a pointer to the buffer specifying vertex binormals. | |
virtual iRenderBuffer * | GetColors ()=0 |
Get a pointer to the buffer specifying vertex color. | |
virtual iRenderBuffer * | GetNormals ()=0 |
Get a pointer to the buffer specifying vertex normals. | |
virtual iRenderBuffer * | GetTangents ()=0 |
Get a pointer to the buffer specifying vertex tangents. | |
virtual iRenderBuffer * | GetTexCoords ()=0 |
Get a pointer to the buffer specifying texture coordinates. | |
virtual uint | GetVertexCount () const =0 |
Get the number of vertices in the mesh. | |
virtual iRenderBuffer * | GetVertices ()=0 |
Get a pointer to the buffer specifying vertices. | |
virtual void | Invalidate ()=0 |
Update the mesh after modifying its geometry. | |
virtual bool | SetBinormals (iRenderBuffer *renderBuffer)=0 |
Set the render buffer to use for binormals. | |
virtual bool | SetColors (iRenderBuffer *renderBuffer)=0 |
Set the render buffer to use for vertex color. | |
virtual bool | SetNormals (iRenderBuffer *renderBuffer)=0 |
Set the render buffer to use for normals. | |
virtual bool | SetTangents (iRenderBuffer *renderBuffer)=0 |
Set the render buffer to use for tangents. | |
virtual bool | SetTexCoords (iRenderBuffer *renderBuffer)=0 |
Set the render buffer to use for texture coordinates. | |
virtual bool | SetVertices (iRenderBuffer *renderBuffer)=0 |
Set the render buffer to use for vertices. | |
Bone interface and influence | |
virtual csAnimatedMeshBoneInfluence * | GetBoneInfluences ()=0 |
Get the bone influences. | |
virtual uint | GetBoneInfluencesPerVertex () const =0 |
Get the number of bone influences per vertex. | |
virtual iSkeletonFactory2 * | GetSkeletonFactory () const =0 |
Get the skeleton factory associated with the mesh factory. | |
virtual void | SetBoneInfluencesPerVertex (uint num)=0 |
Set the requested number of bone influences per vertex. | |
virtual void | SetSkeletonFactory (iSkeletonFactory2 *skeletonFactory)=0 |
Set the skeleton factory to associate with the mesh factory. |
Detailed Description
State of animated mesh object factory.Definition at line 155 of file animesh.h.
Member Function Documentation
virtual void iAnimatedMeshFactory::ClearMorphTargets | ( | ) | [pure virtual] |
Remove all morph targets.
virtual iAnimatedMeshMorphTarget* iAnimatedMeshFactory::CreateMorphTarget | ( | const char * | name | ) | [pure virtual] |
Create a new morph target.
- Parameters:
-
name Identifier of the morph target. Can be 0 or non-unique, but setting a unique name usually helps with finding a morph target later on.
virtual void iAnimatedMeshFactory::CreateSocket | ( | BoneID | bone, | |
const csReversibleTransform & | transform, | |||
const char * | name | |||
) | [pure virtual] |
Create a new socket.
- Parameters:
-
bone Bone id to connect socket for transform Initial transform name Name of the socket, optional
virtual iAnimatedMeshFactorySubMesh* iAnimatedMeshFactory::CreateSubMesh | ( | const csArray< iRenderBuffer * > & | indices, | |
const csArray< csArray< unsigned int > > & | boneIndices, | |||
const char * | name, | |||
bool | visible | |||
) | [pure virtual] |
Create a new submesh.
This creates a submesh which have several triangle sets<->bone mapping pairs. Such a submesh is useful when you want to limit the number of bones per batch rendered.
- Parameters:
-
indices Array of index buffers to use per part boneIndices Array of indices of bones to use for bone mappings
virtual iAnimatedMeshFactorySubMesh* iAnimatedMeshFactory::CreateSubMesh | ( | iRenderBuffer * | indices, | |
const char * | name, | |||
bool | visible | |||
) | [pure virtual] |
Create a new submesh.
This creates a submesh that use the normal per-vertex bone influence mappings. The newly created submesh will use all bones.
- Parameters:
-
indices Index buffer to use for the newly created submesh.
virtual void iAnimatedMeshFactory::DeleteSubMesh | ( | iAnimatedMeshFactorySubMesh * | mesh | ) | [pure virtual] |
Remove a submesh from factory.
virtual uint iAnimatedMeshFactory::FindMorphTarget | ( | const char * | name | ) | const [pure virtual] |
Find the index of the morph target with the given name (or (uint)~0 if no target with that name exists).
virtual uint iAnimatedMeshFactory::FindSocket | ( | const char * | name | ) | const [pure virtual] |
Find the index of the socket with the given name (or (uint)~0 if no socket with that name exists).
virtual size_t iAnimatedMeshFactory::FindSubMesh | ( | const char * | name | ) | const [pure virtual] |
Find a submesh index by name, returns (size_t)-1 if not found.
virtual iRenderBuffer* iAnimatedMeshFactory::GetBinormals | ( | ) | [pure virtual] |
Get a pointer to the buffer specifying vertex binormals.
The buffer is at least as many entries as specified by the vertex count. You must call Invalidate() after modifying it.
virtual csAnimatedMeshBoneInfluence* iAnimatedMeshFactory::GetBoneInfluences | ( | ) | [pure virtual] |
Get the bone influences.
You must call Invalidate() after modifying it.
virtual uint iAnimatedMeshFactory::GetBoneInfluencesPerVertex | ( | ) | const [pure virtual] |
Get the number of bone influences per vertex.
virtual iRenderBuffer* iAnimatedMeshFactory::GetColors | ( | ) | [pure virtual] |
Get a pointer to the buffer specifying vertex color.
The buffer is at least as many entries as specified by the vertex count. You must call Invalidate() after modifying it.
virtual iAnimatedMeshMorphTarget* iAnimatedMeshFactory::GetMorphTarget | ( | uint | target | ) | [pure virtual] |
Get a specific morph target.
virtual uint iAnimatedMeshFactory::GetMorphTargetCount | ( | ) | const [pure virtual] |
Get number of morph targets.
virtual iRenderBuffer* iAnimatedMeshFactory::GetNormals | ( | ) | [pure virtual] |
Get a pointer to the buffer specifying vertex normals.
The buffer is at least as many entries as specified by the vertex count. You must call Invalidate() after modifying it.
virtual iSkeletonFactory2* iAnimatedMeshFactory::GetSkeletonFactory | ( | ) | const [pure virtual] |
Get the skeleton factory associated with the mesh factory.
virtual iAnimatedMeshSocketFactory* iAnimatedMeshFactory::GetSocket | ( | size_t | index | ) | const [pure virtual] |
Get a specific socket instance.
virtual size_t iAnimatedMeshFactory::GetSocketCount | ( | ) | const [pure virtual] |
Get the number of sockets in factory.
virtual iAnimatedMeshFactorySubMesh* iAnimatedMeshFactory::GetSubMesh | ( | size_t | index | ) | const [pure virtual] |
Get a submesh by index.
virtual size_t iAnimatedMeshFactory::GetSubMeshCount | ( | ) | const [pure virtual] |
Get the total number of submeshes.
virtual iRenderBuffer* iAnimatedMeshFactory::GetTangents | ( | ) | [pure virtual] |
Get a pointer to the buffer specifying vertex tangents.
The buffer is at least as many entries as specified by the vertex count. You must call Invalidate() after modifying it.
virtual iRenderBuffer* iAnimatedMeshFactory::GetTexCoords | ( | ) | [pure virtual] |
Get a pointer to the buffer specifying texture coordinates.
The buffer is at least as many entries as specified by the vertex count. You must call Invalidate() after modifying it.
virtual uint iAnimatedMeshFactory::GetVertexCount | ( | ) | const [pure virtual] |
Get the number of vertices in the mesh.
virtual iRenderBuffer* iAnimatedMeshFactory::GetVertices | ( | ) | [pure virtual] |
Get a pointer to the buffer specifying vertices.
The buffer is at least as many entries as specified by the vertex count. You must call Invalidate() after modifying it.
virtual void iAnimatedMeshFactory::Invalidate | ( | ) | [pure virtual] |
Update the mesh after modifying its geometry.
virtual bool iAnimatedMeshFactory::SetBinormals | ( | iRenderBuffer * | renderBuffer | ) | [pure virtual] |
Set the render buffer to use for binormals.
Must hold at least as many elements as the vertex buffer.
- Returns:
- false if the buffer doesn't follow required specifications
virtual void iAnimatedMeshFactory::SetBoneInfluencesPerVertex | ( | uint | num | ) | [pure virtual] |
Set the requested number of bone influences per vertex.
The mesh might not support as many and/or round it, so check the real amount with GetBoneInfluencesPerVertex ().
virtual bool iAnimatedMeshFactory::SetColors | ( | iRenderBuffer * | renderBuffer | ) | [pure virtual] |
Set the render buffer to use for vertex color.
Must hold at least as many elements as the vertex buffer.
- Returns:
- false if the buffer doesn't follow required specifications
virtual bool iAnimatedMeshFactory::SetNormals | ( | iRenderBuffer * | renderBuffer | ) | [pure virtual] |
Set the render buffer to use for normals.
Must hold at least as many elements as the vertex buffer.
- Returns:
- false if the buffer doesn't follow required specifications
virtual void iAnimatedMeshFactory::SetSkeletonFactory | ( | iSkeletonFactory2 * | skeletonFactory | ) | [pure virtual] |
Set the skeleton factory to associate with the mesh factory.
When a mesh is instanced it will by default get a skeleton from this skeleton factory.
virtual bool iAnimatedMeshFactory::SetTangents | ( | iRenderBuffer * | renderBuffer | ) | [pure virtual] |
Set the render buffer to use for tangents.
Must hold at least as many elements as the vertex buffer.
- Returns:
- false if the buffer doesn't follow required specifications
virtual bool iAnimatedMeshFactory::SetTexCoords | ( | iRenderBuffer * | renderBuffer | ) | [pure virtual] |
Set the render buffer to use for texture coordinates.
Must hold at least as many elements as the vertex buffer.
- Returns:
- false if the buffer doesn't follow required specifications
virtual bool iAnimatedMeshFactory::SetVertices | ( | iRenderBuffer * | renderBuffer | ) | [pure virtual] |
Set the render buffer to use for vertices.
The buffer must contain at least three components per elements and its length will specify the number of vertices within the mesh.
- Returns:
- false if the buffer doesn't follow required specifications
The documentation for this struct was generated from the following file:
- imesh/animesh.h
Generated for Crystal Space 1.4.0 by doxygen 1.5.8