OGRE
1.9.0
|
Defines a part of a complete mesh. More...
#include <OgreSubMesh.h>
Public Types | |
typedef ConstMapIterator< AliasTextureNamePairList > | AliasTextureIterator |
typedef MapIterator< VertexBoneAssignmentList > | BoneAssignmentIterator |
typedef vector< unsignedshort >::type | IndexMap |
Dedicated index map for translate blend index to bone index (only valid if useSharedVertices = false). | |
typedef vector< IndexData * >::type | LODFaceList |
typedef multimap< size_t, VertexBoneAssignment >::type | VertexBoneAssignmentList |
Multimap of verex bone assignments (orders by vertex index) | |
Public Member Functions | |
SubMesh () | |
~SubMesh () | |
void | _compileBoneAssignments (void) |
Must be called once to compile bone assignments into geometry buffer. | |
void | _getRenderOperation (RenderOperation &rend, ushort lodIndex=0) |
Returns a RenderOperation structure required to render this mesh. | |
void | addBoneAssignment (const VertexBoneAssignment &vertBoneAssign) |
Assigns a vertex to a bone with a given weight, for skeletal animation. | |
void | addTextureAlias (const String &aliasName, const String &textureName) |
Adds the alias or replaces an existing one and associates the texture name to it. | |
void | clearBoneAssignments (void) |
Removes all bone assignments for this mesh. | |
SubMesh * | clone (const String &newName, Mesh *parentMesh=0) |
Makes a copy of this submesh object and gives it a new name. | |
void | generateExtremes (size_t count) |
Generate the submesh extremes (. | |
AliasTextureIterator | getAliasTextureIterator (void) const |
Gets an constant iterator to access all texture alias names assigned to this submesh. | |
BoneAssignmentIterator | getBoneAssignmentIterator (void) |
Gets an iterator for access all bone assignments. | |
const VertexBoneAssignmentList & | getBoneAssignments () |
Gets a const reference to the list of bone assignments. | |
const String & | getMaterialName (void) const |
size_t | getTextureAliasCount (void) const |
Gets the number of texture aliases assigned to the sub mesh. | |
bool | getVertexAnimationIncludesNormals () const |
Returns whether animation on dedicated vertex data includes normals. | |
VertexAnimationType | getVertexAnimationType (void) const |
Get the type of any vertex animation used by dedicated geometry. | |
bool | hasTextureAliases (void) const |
returns true if the sub mesh has texture aliases | |
bool | isBuildEdgesEnabled (void) const |
Returns true(by default) if the submesh should be included in the mesh EdgeList, otherwise returns false. | |
bool | isMatInitialised (void) const |
Returns true if a material has been assigned to the submesh, otherwise returns false. | |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete (void *ptr, void *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info | |
void * | operator new (size_t sz, void *ptr) |
placement operator new | |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info | |
void | removeAllTextureAliases (void) |
removes all texture aliases from the sub mesh | |
void | removeTextureAlias (const String &aliasName) |
Remove a specific texture alias name from the sub mesh. | |
void | setBuildEdgesEnabled (bool b) |
void | setMaterialName (const String &matName, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME) |
Sets the name of the Material which this SubMesh will use. | |
bool | updateMaterialUsingTextureAliases (void) |
The current material used by the submesh is copied into a new material and the submesh's texture aliases are applied if the current texture alias names match those found in the original material. | |
Public Attributes | |
IndexMap | blendIndexToBoneIndexMap |
vector< Vector3 >::type | extremityPoints |
A list of extreme points on the submesh (optional). | |
IndexData * | indexData |
Face index data. | |
LODFaceList | mLodFaceList |
RenderOperation::OperationType | operationType |
The render operation type used to render this submesh. | |
Mesh * | parent |
Reference to parent Mesh (not a smart pointer so child does not keep parent alive). | |
bool | useSharedVertices |
Indicates if this submesh shares vertex data with other meshes or whether it has it's own vertices. | |
VertexData * | vertexData |
Dedicated vertex data (only valid if useSharedVertices = false). | |
Protected Member Functions | |
void | removeLodLevels (void) |
Internal method for removing LOD data. | |
Protected Attributes | |
VertexBoneAssignmentList | mBoneAssignments |
bool | mBoneAssignmentsOutOfDate |
Flag indicating that bone assignments need to be recompiled. | |
bool | mBuildEdgesEnabled |
Is Build Edges Enabled. | |
String | mMaterialName |
Name of the material this SubMesh uses. | |
bool | mMatInitialised |
Is there a material yet? | |
AliasTextureNamePairList | mTextureAliases |
paired list of texture aliases and texture names | |
bool | mVertexAnimationIncludesNormals |
Whether normals are included in vertex animation keyframes. | |
VertexAnimationType | mVertexAnimationType |
Type of vertex animation for dedicated vertex data (populated by Mesh) | |
Friends | |
class | Mesh |
class | MeshSerializerImpl |
class | MeshSerializerImpl_v1_1 |
class | MeshSerializerImpl_v1_2 |
Defines a part of a complete mesh.
Definition at line 62 of file OgreSubMesh.h.
Definition at line 195 of file OgreSubMesh.h.
Definition at line 179 of file OgreSubMesh.h.
Dedicated index map for translate blend index to bone index (only valid if useSharedVertices = false).
Definition at line 110 of file OgreSubMesh.h.
Definition at line 113 of file OgreSubMesh.h.
Multimap of verex bone assignments (orders by vertex index)
Definition at line 178 of file OgreSubMesh.h.
Ogre::SubMesh::SubMesh | ( | ) |
Ogre::SubMesh::~SubMesh | ( | ) |
Must be called once to compile bone assignments into geometry buffer.
void Ogre::SubMesh::_getRenderOperation | ( | RenderOperation & | rend, |
ushort | lodIndex = 0 |
||
) |
Returns a RenderOperation structure required to render this mesh.
rend | Reference to a RenderOperation structure to populate. |
lodIndex | The index of the LOD to use. |
void Ogre::SubMesh::addBoneAssignment | ( | const VertexBoneAssignment & | vertBoneAssign | ) |
Assigns a vertex to a bone with a given weight, for skeletal animation.
Adds the alias or replaces an existing one and associates the texture name to it.
aliasName | is the name of the alias. |
textureName | is the name of the texture to be associated with the alias |
Makes a copy of this submesh object and gives it a new name.
newName | The name to give the clone. |
parentMesh | Optional mesh to make the parent of the newly created clone. If you leave this blank, the clone will be parented to the same Mesh as the original. |
Generate the submesh extremes (.
count | Number of extreme points to compute for the submesh. |
AliasTextureIterator Ogre::SubMesh::getAliasTextureIterator | ( | void | ) | const |
Gets an constant iterator to access all texture alias names assigned to this submesh.
BoneAssignmentIterator Ogre::SubMesh::getBoneAssignmentIterator | ( | void | ) |
Gets an iterator for access all bone assignments.
const VertexBoneAssignmentList & Ogre::SubMesh::getBoneAssignments | ( | ) |
Gets a const reference to the list of bone assignments.
Definition at line 189 of file OgreSubMesh.h.
Gets the number of texture aliases assigned to the sub mesh.
Definition at line 225 of file OgreSubMesh.h.
bool Ogre::SubMesh::getVertexAnimationIncludesNormals | ( | ) | const |
Returns whether animation on dedicated vertex data includes normals.
Definition at line 244 of file OgreSubMesh.h.
VertexAnimationType Ogre::SubMesh::getVertexAnimationType | ( | void | ) | const |
Get the type of any vertex animation used by dedicated geometry.
returns true if the sub mesh has texture aliases
Definition at line 222 of file OgreSubMesh.h.
Returns true(by default) if the submesh should be included in the mesh EdgeList, otherwise returns false.
Definition at line 255 of file OgreSubMesh.h.
Returns true if a material has been assigned to the submesh, otherwise returns false.
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
inherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
Remove a specific texture alias name from the sub mesh.
aliasName | is the name of the alias to be removed. If it is not found then it is ignored. |
The current material used by the submesh is copied into a new material and the submesh's texture aliases are applied if the current texture alias names match those found in the original material.
Definition at line 64 of file OgreSubMesh.h.
|
friend |
Definition at line 65 of file OgreSubMesh.h.
|
friend |
Definition at line 67 of file OgreSubMesh.h.
|
friend |
Definition at line 66 of file OgreSubMesh.h.
IndexMap Ogre::SubMesh::blendIndexToBoneIndexMap |
Definition at line 111 of file OgreSubMesh.h.
A list of extreme points on the submesh (optional).
Definition at line 135 of file OgreSubMesh.h.
IndexData* Ogre::SubMesh::indexData |
Face index data.
Definition at line 89 of file OgreSubMesh.h.
|
protected |
Definition at line 277 of file OgreSubMesh.h.
|
protected |
Flag indicating that bone assignments need to be recompiled.
Definition at line 280 of file OgreSubMesh.h.
|
protected |
Is Build Edges Enabled.
Definition at line 289 of file OgreSubMesh.h.
LODFaceList Ogre::SubMesh::mLodFaceList |
Definition at line 114 of file OgreSubMesh.h.
|
protected |
Name of the material this SubMesh uses.
Definition at line 269 of file OgreSubMesh.h.
|
protected |
Is there a material yet?
Definition at line 272 of file OgreSubMesh.h.
|
protected |
paired list of texture aliases and texture names
Definition at line 275 of file OgreSubMesh.h.
|
mutableprotected |
Whether normals are included in vertex animation keyframes.
Definition at line 286 of file OgreSubMesh.h.
|
mutableprotected |
Type of vertex animation for dedicated vertex data (populated by Mesh)
Definition at line 283 of file OgreSubMesh.h.
RenderOperation::OperationType Ogre::SubMesh::operationType |
The render operation type used to render this submesh.
Definition at line 77 of file OgreSubMesh.h.
Mesh* Ogre::SubMesh::parent |
Reference to parent Mesh (not a smart pointer so child does not keep parent alive).
Definition at line 138 of file OgreSubMesh.h.
bool Ogre::SubMesh::useSharedVertices |
Indicates if this submesh shares vertex data with other meshes or whether it has it's own vertices.
Definition at line 74 of file OgreSubMesh.h.
VertexData* Ogre::SubMesh::vertexData |
Dedicated vertex data (only valid if useSharedVertices = false).
Definition at line 86 of file OgreSubMesh.h.