Defines a part of a complete mesh. More...
#include <OgreSubMesh.h>
Public Types | |
typedef vector< unsigned short > ::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). | |
typedef MapIterator < VertexBoneAssignmentList > | BoneAssignmentIterator |
typedef ConstMapIterator < AliasTextureNamePairList > | AliasTextureIterator |
Public Member Functions | |
SubMesh () | |
~SubMesh () | |
void | setMaterialName (const String &matName, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME) |
Sets the name of the Material which this SubMesh will use. | |
const String & | getMaterialName (void) const |
bool | isMatInitialised (void) const |
Returns true if a material has been assigned to the submesh, otherwise returns false. | |
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 | clearBoneAssignments (void) |
Removes all bone assignments for this mesh. | |
BoneAssignmentIterator | getBoneAssignmentIterator (void) |
Gets an iterator for access all bone assignments. | |
const VertexBoneAssignmentList & | getBoneAssignments () |
Gets a const reference to the list of bone assignments. | |
void | _compileBoneAssignments (void) |
Must be called once to compile bone assignments into geometry buffer. | |
AliasTextureIterator | getAliasTextureIterator (void) const |
Gets an constant iterator to access all texture alias names assigned to this submesh. | |
void | addTextureAlias (const String &aliasName, const String &textureName) |
Adds the alias or replaces an existing one and associates the texture name to it. | |
void | removeTextureAlias (const String &aliasName) |
Remove a specific texture alias name from the sub mesh. | |
void | removeAllTextureAliases (void) |
removes all texture aliases from the sub mesh | |
bool | hasTextureAliases (void) const |
returns true if the sub mesh has texture aliases | |
size_t | getTextureAliasCount (void) const |
Gets the number of texture aliases assigned to the sub mesh. | |
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. | |
VertexAnimationType | getVertexAnimationType (void) const |
Get the type of any vertex animation used by dedicated geometry. | |
bool | getVertexAnimationIncludesNormals () const |
Returns whether animation on dedicated vertex data includes normals. | |
void | generateExtremes (size_t count) |
Generate the submesh extremes (. | |
bool | isBuildEdgesEnabled (void) const |
Returns true(by default) if the submesh should be included in the mesh EdgeList, otherwise returns false. | |
void | setBuildEdgesEnabled (bool b) |
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 * | operator new (size_t sz, void *ptr) |
placement operator new | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info | |
void * | operator new[] (size_t sz) |
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 *) |
Public Attributes | |
bool | useSharedVertices |
Indicates if this submesh shares vertex data with other meshes or whether it has it's own vertices. | |
RenderOperation::OperationType | operationType |
The render operation type used to render this submesh. | |
VertexData * | vertexData |
Dedicated vertex data (only valid if useSharedVertices = false). | |
IndexData * | indexData |
Face index data. | |
IndexMap | blendIndexToBoneIndexMap |
LODFaceList | mLodFaceList |
vector< Vector3 >::type | extremityPoints |
A list of extreme points on the submesh (optional). | |
Mesh * | parent |
Reference to parent Mesh (not a smart pointer so child does not keep parent alive). | |
Protected Member Functions | |
void | removeLodLevels (void) |
Internal method for removing LOD data. | |
Protected Attributes | |
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 | |
VertexBoneAssignmentList | mBoneAssignments |
bool | mBoneAssignmentsOutOfDate |
Flag indicating that bone assignments need to be recompiled. | |
VertexAnimationType | mVertexAnimationType |
Type of vertex animation for dedicated vertex data (populated by Mesh). | |
bool | mVertexAnimationIncludesNormals |
Whether normals are included in vertex animation keyframes. | |
bool | mBuildEdgesEnabled |
Is Build Edges Enabled. | |
Friends | |
class | Mesh |
class | MeshSerializerImpl |
class | MeshSerializerImpl_v1_2 |
class | MeshSerializerImpl_v1_1 |
Defines a part of a complete mesh.
Definition at line 61 of file OgreSubMesh.h.
Definition at line 194 of file OgreSubMesh.h.
Definition at line 178 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 109 of file OgreSubMesh.h.
typedef vector<IndexData*>::type Ogre::SubMesh::LODFaceList |
Definition at line 112 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 177 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 | ) |
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.
const VertexBoneAssignmentList& Ogre::SubMesh::getBoneAssignments | ( | ) |
Gets a const reference to the list of bone assignments.
Definition at line 188 of file OgreSubMesh.h.
const String& Ogre::SubMesh::getMaterialName | ( | void | ) | const |
size_t Ogre::SubMesh::getTextureAliasCount | ( | void | ) | const |
Gets the number of texture aliases assigned to the sub mesh.
Definition at line 224 of file OgreSubMesh.h.
bool Ogre::SubMesh::getVertexAnimationIncludesNormals | ( | ) | const |
Returns whether animation on dedicated vertex data includes normals.
Definition at line 243 of file OgreSubMesh.h.
VertexAnimationType Ogre::SubMesh::getVertexAnimationType | ( | void | ) | const |
Get the type of any vertex animation used by dedicated geometry.
bool Ogre::SubMesh::hasTextureAliases | ( | void | ) | const |
returns true if the sub mesh has texture aliases
Definition at line 221 of file OgreSubMesh.h.
bool Ogre::SubMesh::isBuildEdgesEnabled | ( | void | ) | const |
Returns true(by default) if the submesh should be included in the mesh EdgeList, otherwise returns false.
Definition at line 254 of file OgreSubMesh.h.
bool Ogre::SubMesh::isMatInitialised | ( | void | ) | const |
Returns true if a material has been assigned to the submesh, otherwise returns false.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 107 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
void * | ||||
) | [inherited] |
Definition at line 101 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | [inherited] |
Definition at line 95 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 118 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | [inherited] |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
void * | ptr | |||
) | [inherited] |
placement operator new
Definition at line 78 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | [inherited] |
Definition at line 72 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
const char * | file, | |||
int | line, | |||
const char * | func | |||
) | [inherited] |
operator new, with debug line info
Definition at line 67 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | [inherited] |
Definition at line 90 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz, | |
const char * | file, | |||
int | line, | |||
const char * | func | |||
) | [inherited] |
array operator new, with debug line info
Definition at line 85 of file OgreMemoryAllocatedObject.h.
void Ogre::SubMesh::removeAllTextureAliases | ( | void | ) |
removes all texture aliases from the sub mesh
void Ogre::SubMesh::removeLodLevels | ( | void | ) | [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 class Mesh [friend] |
Definition at line 63 of file OgreSubMesh.h.
friend class MeshSerializerImpl [friend] |
Definition at line 64 of file OgreSubMesh.h.
friend class MeshSerializerImpl_v1_1 [friend] |
Definition at line 66 of file OgreSubMesh.h.
friend class MeshSerializerImpl_v1_2 [friend] |
Definition at line 65 of file OgreSubMesh.h.
Definition at line 110 of file OgreSubMesh.h.
A list of extreme points on the submesh (optional).
Definition at line 134 of file OgreSubMesh.h.
Face index data.
Definition at line 88 of file OgreSubMesh.h.
Definition at line 268 of file OgreSubMesh.h.
bool Ogre::SubMesh::mBoneAssignmentsOutOfDate [protected] |
Flag indicating that bone assignments need to be recompiled.
Definition at line 271 of file OgreSubMesh.h.
bool Ogre::SubMesh::mBuildEdgesEnabled [protected] |
Is Build Edges Enabled.
Definition at line 280 of file OgreSubMesh.h.
Definition at line 113 of file OgreSubMesh.h.
String Ogre::SubMesh::mMaterialName [protected] |
Name of the material this SubMesh uses.
Definition at line 260 of file OgreSubMesh.h.
bool Ogre::SubMesh::mMatInitialised [protected] |
Is there a material yet?
Definition at line 263 of file OgreSubMesh.h.
paired list of texture aliases and texture names
Definition at line 266 of file OgreSubMesh.h.
bool Ogre::SubMesh::mVertexAnimationIncludesNormals [mutable, protected] |
Whether normals are included in vertex animation keyframes.
Definition at line 277 of file OgreSubMesh.h.
VertexAnimationType Ogre::SubMesh::mVertexAnimationType [mutable, protected] |
Type of vertex animation for dedicated vertex data (populated by Mesh).
Definition at line 274 of file OgreSubMesh.h.
The render operation type used to render this submesh.
Definition at line 76 of file OgreSubMesh.h.
Reference to parent Mesh (not a smart pointer so child does not keep parent alive).
Definition at line 137 of file OgreSubMesh.h.
Indicates if this submesh shares vertex data with other meshes or whether it has it's own vertices.
Definition at line 73 of file OgreSubMesh.h.
Dedicated vertex data (only valid if useSharedVertices = false).
Definition at line 85 of file OgreSubMesh.h.
Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 23:40:57 2012