|  | OGRE 2.1
    Object-Oriented Graphics Rendering Engine | 
Defines a part of a complete mesh. More...
#include <OgreSubMesh.h>
 Inheritance diagram for Ogre::v1::SubMesh:
 Inheritance diagram for Ogre::v1::SubMesh:| Public Types | |
| typedef ConstMapIterator< AliasTextureNamePairList > | AliasTextureIterator | 
| typedef MapIterator< VertexBoneAssignmentList > | BoneAssignmentIterator | 
| typedef FastArray< unsigned short > | 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, bool casterPass) | 
| 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 | arrangeEfficient (bool halfPos, bool halfTexCoords, bool qTangents) | 
| 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 | dearrangeToInefficient (void) | 
| 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 | |
| void | importFromV2 (Ogre::SubMesh *subMesh) | 
| Imports a v2 SubMesh @See Mesh::importV2. | |
| 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 [NumVertexPass] | 
| Face index data. | |
| LODFaceList | mLodFaceList [NumVertexPass] | 
| 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). | |
| uint32 | renderOpMeshIndex | 
| bool | useSharedVertices | 
| Indicates if this submesh shares vertex data with other meshes or whether it has it's own vertices. | |
| VertexData * | vertexData [NumVertexPass] | 
| Dedicated vertex data (only valid if useSharedVertices = false). | |
| Friends | |
| class | Mesh | 
| class | MeshSerializerImpl | 
| class | MeshSerializerImpl_v1_1 | 
| class | MeshSerializerImpl_v1_2 | 
Defines a part of a complete mesh.
Dedicated index map for translate blend index to bone index (only valid if useSharedVertices = false).
Multimap of verex bone assignments (orders by vertex index)
| Ogre::v1::SubMesh::SubMesh | ( | ) | 
| Ogre::v1::SubMesh::~SubMesh | ( | ) | 
Must be called once to compile bone assignments into geometry buffer.
| void Ogre::v1::SubMesh::_getRenderOperation | ( | RenderOperation & | rend, | 
| ushort | lodIndex, | ||
| bool | casterPass | ||
| ) | 
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::v1::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::v1::SubMesh::getAliasTextureIterator | ( | void | ) | const | 
Gets an constant iterator to access all texture alias names assigned to this submesh.
| BoneAssignmentIterator Ogre::v1::SubMesh::getBoneAssignmentIterator | ( | void | ) | 
Gets an iterator for access all bone assignments.
| 
 | inline | 
Gets a const reference to the list of bone assignments.
Gets the number of texture aliases assigned to the sub mesh.
| 
 | inline | 
Returns whether animation on dedicated vertex data includes normals.
| VertexAnimationType Ogre::v1::SubMesh::getVertexAnimationType | ( | void | ) | const | 
Get the type of any vertex animation used by dedicated geometry.
returns true if the sub mesh has texture aliases
| void Ogre::v1::SubMesh::importFromV2 | ( | Ogre::SubMesh * | subMesh | ) | 
Imports a v2 SubMesh @See Mesh::importV2.
Returns true(by default) if the submesh should be included in the mesh EdgeList, otherwise returns false.
Returns true if a material has been assigned to the submesh, otherwise returns false.
| 
 | inlineinherited | 
| 
 | inlineinherited | 
| 
 | inlineinherited | 
| 
 | inlineinherited | 
| 
 | inlineinherited | 
| 
 | inlineinherited | 
operator new, with debug line info
placement operator new
| 
 | inlineinherited | 
| 
 | inlineinherited | 
array operator new, with debug line info
removes all texture aliases from the sub mesh
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.
| 
 | friend | 
| 
 | friend | 
| 
 | friend | 
| IndexMap Ogre::v1::SubMesh::blendIndexToBoneIndexMap | 
A list of extreme points on the submesh (optional).
| IndexData* Ogre::v1::SubMesh::indexData[NumVertexPass] | 
Face index data.
Referenced by Ogre::Lod0Stripifier::StripLod0Vertices().
| LODFaceList Ogre::v1::SubMesh::mLodFaceList[NumVertexPass] | 
Referenced by Ogre::Lod0Stripifier::StripLod0Vertices().
| OperationType Ogre::v1::SubMesh::operationType | 
The render operation type used to render this submesh.
| Mesh* Ogre::v1::SubMesh::parent | 
Reference to parent Mesh (not a smart pointer so child does not keep parent alive).
| uint32 Ogre::v1::SubMesh::renderOpMeshIndex | 
| bool Ogre::v1::SubMesh::useSharedVertices | 
Indicates if this submesh shares vertex data with other meshes or whether it has it's own vertices.
Referenced by Ogre::Lod0Stripifier::StripLod0Vertices().
| VertexData* Ogre::v1::SubMesh::vertexData[NumVertexPass] | 
Dedicated vertex data (only valid if useSharedVertices = false).
[0] is for the regular pass, [1] is for the caster. Note that vertexData[0] = vertexData[1] is possible, but if one submesh has vertexData[0] = vertexData[1], then all submeshes in the mesh must have vertexData[0] = vertexData[1] as well for the sake of simplicity.
Referenced by Ogre::Lod0Stripifier::StripLod0Vertices().