Defines a part of a complete mesh. More...
#include <OgreSubMesh.h>
Public Types | |
typedef ConstMapIterator < AliasTextureNamePairList > | AliasTextureIterator |
typedef MapIterator < VertexBoneAssignmentList > | BoneAssignmentIterator |
typedef vector< unsigned short > ::type | IndexMap |
Dedicated index map for translate blend index to bone index (only valid if useSharedVertices = false). More... | |
typedef vector< IndexData * >::type | LODFaceList |
typedef multimap< size_t, VertexBoneAssignment >::type | VertexBoneAssignmentList |
Multimap of verex bone assignments (orders by vertex index) More... | |
Public Member Functions | |
SubMesh () | |
~SubMesh () | |
void | _compileBoneAssignments (void) |
Must be called once to compile bone assignments into geometry buffer. More... | |
void | _getRenderOperation (RenderOperation &rend, ushort lodIndex=0) |
Returns a RenderOperation structure required to render this mesh. More... | |
void | addBoneAssignment (const VertexBoneAssignment &vertBoneAssign) |
Assigns a vertex to a bone with a given weight, for skeletal animation. More... | |
void | addTextureAlias (const String &aliasName, const String &textureName) |
Adds the alias or replaces an existing one and associates the texture name to it. More... | |
void | clearBoneAssignments (void) |
Removes all bone assignments for this mesh. More... | |
SubMesh * | clone (const String &newName, Mesh *parentMesh=0) |
Makes a copy of this submesh object and gives it a new name. More... | |
void | generateExtremes (size_t count) |
Generate the submesh extremes (. More... | |
AliasTextureIterator | getAliasTextureIterator (void) const |
Gets an constant iterator to access all texture alias names assigned to this submesh. More... | |
BoneAssignmentIterator | getBoneAssignmentIterator (void) |
Gets an iterator for access all bone assignments. More... | |
const VertexBoneAssignmentList & | getBoneAssignments () |
Gets a const reference to the list of bone assignments. More... | |
const String & | getMaterialName (void) const |
size_t | getTextureAliasCount (void) const |
Gets the number of texture aliases assigned to the sub mesh. More... | |
bool | getVertexAnimationIncludesNormals () const |
Returns whether animation on dedicated vertex data includes normals. More... | |
VertexAnimationType | getVertexAnimationType (void) const |
Get the type of any vertex animation used by dedicated geometry. More... | |
bool | hasTextureAliases (void) const |
returns true if the sub mesh has texture aliases More... | |
bool | isBuildEdgesEnabled (void) const |
Returns true(by default) if the submesh should be included in the mesh EdgeList, otherwise returns false. More... | |
bool | isMatInitialised (void) const |
Returns true if a material has been assigned to the submesh, otherwise returns false. More... | |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info More... | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new More... | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info More... | |
void * | operator new[] (size_t sz) |
void | removeAllTextureAliases (void) |
removes all texture aliases from the sub mesh More... | |
void | removeTextureAlias (const String &aliasName) |
Remove a specific texture alias name from the sub mesh. More... | |
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. More... | |
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. More... | |
Public Attributes | |
IndexMap | blendIndexToBoneIndexMap |
vector< Vector3 >::type | extremityPoints |
A list of extreme points on the submesh (optional). More... | |
IndexData * | indexData |
Face index data. More... | |
LODFaceList | mLodFaceList |
RenderOperation::OperationType | operationType |
The render operation type used to render this submesh. More... | |
Mesh * | parent |
Reference to parent Mesh (not a smart pointer so child does not keep parent alive). More... | |
bool | useSharedVertices |
Indicates if this submesh shares vertex data with other meshes or whether it has it's own vertices. More... | |
VertexData * | vertexData |
Dedicated vertex data (only valid if useSharedVertices = false). More... | |
Protected Member Functions | |
void | removeLodLevels (void) |
Internal method for removing LOD data. More... | |
Protected Attributes | |
VertexBoneAssignmentList | mBoneAssignments |
bool | mBoneAssignmentsOutOfDate |
Flag indicating that bone assignments need to be recompiled. More... | |
bool | mBuildEdgesEnabled |
Is Build Edges Enabled. More... | |
String | mMaterialName |
Name of the material this SubMesh uses. More... | |
bool | mMatInitialised |
Is there a material yet? More... | |
AliasTextureNamePairList | mTextureAliases |
paired list of texture aliases and texture names More... | |
bool | mVertexAnimationIncludesNormals |
Whether normals are included in vertex animation keyframes. More... | |
VertexAnimationType | mVertexAnimationType |
Type of vertex animation for dedicated vertex data (populated by Mesh) More... | |
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.
typedef vector<unsigned short>::type Ogre::SubMesh::IndexMap |
Dedicated index map for translate blend index to bone index (only valid if useSharedVertices = false).
Definition at line 110 of file OgreSubMesh.h.
typedef vector<IndexData*>::type Ogre::SubMesh::LODFaceList |
Definition at line 113 of file OgreSubMesh.h.
typedef multimap<size_t, VertexBoneAssignment>::type Ogre::SubMesh::VertexBoneAssignmentList |
Multimap of verex bone assignments (orders by vertex index)
Definition at line 178 of file OgreSubMesh.h.
Ogre::SubMesh::SubMesh | ( | ) |
Ogre::SubMesh::~SubMesh | ( | ) |
void Ogre::SubMesh::_compileBoneAssignments | ( | void | ) |
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 |
void Ogre::SubMesh::clearBoneAssignments | ( | void | ) |
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. |
void Ogre::SubMesh::generateExtremes | ( | size_t | count | ) |
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.
|
inline |
Gets a const reference to the list of bone assignments.
Definition at line 189 of file OgreSubMesh.h.
const String& Ogre::SubMesh::getMaterialName | ( | void | ) | const |
|
inline |
Gets the number of texture aliases assigned to the sub mesh.
Definition at line 225 of file OgreSubMesh.h.
|
inline |
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.
|
inline |
returns true if the sub mesh has texture aliases
Definition at line 222 of file OgreSubMesh.h.
|
inline |
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.
bool Ogre::SubMesh::isMatInitialised | ( | void | ) | const |
Returns true if a material has been assigned to the submesh, otherwise returns false.
|
inlineinherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
void Ogre::SubMesh::removeAllTextureAliases | ( | void | ) |
removes all texture aliases from the sub mesh
|
protected |
Internal method for removing LOD data.
void Ogre::SubMesh::removeTextureAlias | ( | const String & | aliasName | ) |
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. |
void Ogre::SubMesh::setBuildEdgesEnabled | ( | bool | b | ) |
void Ogre::SubMesh::setMaterialName | ( | const String & | matName, |
const String & | groupName = ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME |
||
) |
bool Ogre::SubMesh::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.
|
friend |
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.