#include <OgreMesh.h>
Inheritance diagram for Ogre::Mesh:
Public Types | |
typedef std::vector< Real > | LodDistanceList |
typedef std::multimap< size_t, VertexBoneAssignment > | VertexBoneAssignmentList |
Multimap of vertex bone assignments (orders by vertex index). | |
typedef MapIterator< VertexBoneAssignmentList > | BoneAssignmentIterator |
Public Methods | |
Mesh (const String &name) | |
Default constructor - used by MeshManager. | |
~Mesh () | |
virtual void | load (void) |
Generic load - called by MeshManager. | |
virtual void | unload (void) |
Generic unload - called by MeshManager. | |
SubMesh * | createSubMesh (void) |
Creates a new SubMesh. | |
SubMesh * | createSubMesh (const String &name) |
Creates a new SubMesh and gives it a name. | |
void | nameSubMesh (const String &name, ushort index) |
Gives a name to a SubMesh. | |
ushort | _getSubMeshIndex (const String &name) const |
Gets the index of a submesh with a given name. | |
unsigned short | getNumSubMeshes (void) const |
Gets the number of sub meshes which comprise this mesh. | |
SubMesh * | getSubMesh (unsigned short index) const |
Gets a pointer to the submesh indicated by the index. | |
SubMesh * | getSubMesh (const String &name) const |
Gets a SubMesh by name. | |
void | setManuallyDefined (bool manuallyDefined) |
Call this to indicate that this Mesh will be manually defined rather than loaded from a file. | |
Mesh * | clone (const String &newName) |
Makes a copy of this mesh object and gives it a new name. | |
const AxisAlignedBox & | getBounds (void) const |
Get the axis-aligned bounding box for this mesh. | |
Real | getBoundingSphereRadius (void) const |
Gets the radius of the bounding sphere surrounding this mesh. | |
void | _setBounds (const AxisAlignedBox &bounds) |
Manually set the bounding box for this Mesh. | |
void | _setBoundingSphereRadius (Real radius) |
Manually set the bounding radius. | |
void | setSkeletonName (const String &skelName) |
Sets the name of the skeleton this Mesh uses for animation. | |
bool | hasSkeleton (void) const |
Returns true if this Mesh has a linked Skeleton. | |
Skeleton * | getSkeleton (void) const |
Gets a pointer to any linked Skeleton. | |
const String & | getSkeletonName (void) const |
Gets the name of any linked Skeleton. | |
void | _initAnimationState (AnimationStateSet *animSet) |
Initialise an animation set suitable for use with 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. | |
unsigned short | _getNumBoneMatrices (void) const |
Returns the number of bone matrices this mesh uses. | |
void | _getBoneMatrices (const AnimationStateSet &animSet, Matrix4 *pMatrices) |
Applies the animation set passed in, and populates the passed in array of bone matrices. | |
void | _notifySkeleton (Skeleton *pSkel) |
Internal notification, used to tell the Mesh which Skeleton to use without loading it. | |
BoneAssignmentIterator | getBoneAssignmentIterator (void) |
Gets an iterator for access all bone assignments. | |
void | generateLodLevels (const LodDistanceList &lodDistances, ProgressiveMesh::VertexReductionQuota reductionMethod, Real reductionValue) |
Automatically generates lower level of detail versions of this mesh for use when a simpler version of the model is acceptable for rendering. | |
ushort | getNumLodLevels (void) const |
Returns the number of levels of detail that this mesh supports. | |
const MeshLodUsage & | getLodLevel (ushort index) const |
Gets details of the numbered level of detail entry. | |
void | createManualLodLevel (Real fromDepth, const String &meshName) |
Adds a new manual level-of-detail entry to this Mesh. | |
void | updateManualLodLevel (ushort index, const String &meshName) |
Changes the alternate mesh to use as a manual LOD at the given index. | |
ushort | getLodIndex (Real depth) const |
Retrieves the level of detail index for the given depth value. | |
ushort | getLodIndexSquaredDepth (Real squaredDepth) const |
Retrieves the level of detail index for the given squared depth value. | |
bool | isLodManual (void) const |
Returns true if this mesh is using manual LOD. | |
void | _setLodInfo (unsigned short numLevels, bool isManual) |
Internal methods for loading LOD, do not use. | |
void | _setLodUsage (unsigned short level, Mesh::MeshLodUsage &usage) |
Internal methods for loading LOD, do not use. | |
void | _setSubMeshLodFaceList (unsigned short subIdx, unsigned short level, IndexData *facedata) |
Internal methods for loading LOD, do not use. | |
void | removeLodLevels (void) |
Removes all LOD data from this Mesh. | |
void | setVertexBufferPolicy (HardwareBuffer::Usage usage, bool shadowBuffer=false) |
Sets the policy for the vertex buffers to be used when loading this Mesh. | |
void | setIndexBufferPolicy (HardwareBuffer::Usage usage, bool shadowBuffer=false) |
Sets the policy for the index buffers to be used when loading this Mesh. | |
HardwareBuffer::Usage | getVertexBufferUsage (void) const |
Gets the usage setting for this meshes vertex buffers. | |
HardwareBuffer::Usage | getIndexBufferUsage (void) const |
Gets the usage setting for this meshes index buffers. | |
bool | isVertexBufferShadowed (void) const |
Gets whether or not this meshes vertex buffers are shadowed. | |
bool | isIndexBufferShadowed (void) const |
Gets whether or not this meshes index buffers are shadowed. | |
unsigned short | _rationaliseBoneAssignments (size_t vertexCount, VertexBoneAssignmentList &assignments) |
Rationalises the passed in bone assignment list. | |
void | _compileBoneAssignments (void) |
Internal method, be called once to compile bone assignments into geometry buffer. | |
void | buildTangentVectors (unsigned short sourceTexCoordSet=0, unsigned short destTexCoordSet=1) |
This method builds a set of tangent vectors for a given mesh into a 3D texture coordinate buffer. | |
virtual size_t | getSize (void) const |
Retrieves info about the size of the resource. | |
virtual void | touch (void) |
'Touches' the resource to indicate it has been used. | |
time_t | getLastAccess (void) const |
Gets the last time the resource was 'touched'. | |
const String & | getName (void) const |
Gets resource name. | |
ResourceHandle | getHandle (void) const |
bool | isLoaded (void) const |
Returns true if the Resource has been loaded, false otherwise. | |
virtual void | destroy () |
A method to make the resource delete itself. | |
Public Attributes | |
VertexData * | sharedVertexData |
Shared vertex data. | |
Protected Types | |
typedef std::vector< SubMesh * > | SubMeshList |
typedef HashMap< String, ushort, _StringHash > | SubMeshNameMap |
A hashmap used to store optional SubMesh names. | |
typedef std::vector< MeshLodUsage > | MeshLodUsageList |
Protected Methods | |
HardwareVertexBufferSharedPtr | getTangentsBuffer (VertexData *vertexData, unsigned short texCoordSet) |
Internal method for getting or creating a 3D texture coord buffer to hold tangents. | |
void | compileBoneAssignmentsSoftware (const VertexBoneAssignmentList &boneAssignments, unsigned short numBlendWeightsPerVertex, VertexData *targetVertexData) |
Software blending oriented bone assignment compilation. | |
void | compileBoneAssignmentsHardware (const VertexBoneAssignmentList &boneAssignments, unsigned short numBlendWeightsPerVertex, VertexData *targetVertexData) |
Hardware blending oriented bone assignment compilation. | |
Protected Attributes | |
SubMeshList | mSubMeshList |
A list of submeshes which make up this mesh. | |
SubMeshNameMap | mSubMeshNameMap |
AxisAlignedBox | mAABB |
Local bounding box volume. | |
Real | mBoundRadius |
Local bounding sphere radius (centered on object). | |
bool | mManuallyDefined |
String | mSkeletonName |
Optional linked skeleton. | |
Skeleton * | mSkeleton |
VertexBoneAssignmentList | mBoneAssignments |
bool | mBoneAssignmentsOutOfDate |
Flag indicating that bone assignments need to be recompiled. | |
HardwareVertexBufferSharedPtr | mBlendingVB |
bool | mUseSoftwareBlending |
Option whether to use software or hardware blending, there are tradeoffs to both. | |
bool | mIsLodManual |
ushort | mNumLods |
MeshLodUsageList | mMeshLodUsageList |
HardwareBuffer::Usage | mVertexBufferUsage |
HardwareBuffer::Usage | mIndexBufferUsage |
bool | mVertexBufferShadowBuffer |
bool | mIndexBufferShadowBuffer |
String | mName |
ResourceHandle | mHandle |
bool | mIsLoaded |
time_t | mLastAccess |
size_t | mSize |
Friends | |
class | MeshSerializerImpl |
class | MeshSerializerImpl_v1 |
class | SubMesh |
Multiple world objects can (indeed should) be created from a single mesh object - see the Entity class for more info. The mesh object will have it's own default material properties, but potentially each world instance may wish to customise the materials from the original. When the object is instantiated into a scene node, the mesh material properties will be taken by default but may be changed. These properties are actually held at the SubMesh level since a single mesh may have parts with different materials.
As described above, because the mesh may have sections of differing material properties, a mesh is inherently a compound contruct, consisting of one or more SubMesh objects. However, it strongly 'owns' it's SubMeshes such that they are loaded / unloaded at the same time. This is contrary to the approach taken to hierarchically related (but loosely owned) scene nodes, where data is loaded / unloaded separately. Note also that mesh sub-sections (when used in an instantiated object) share the same scene node as the parent.
Definition at line 79 of file OgreMesh.h.
|
Definition at line 99 of file OgreMesh.h. Referenced by getBoneAssignmentIterator(). |
|
Definition at line 96 of file OgreMesh.h. |
|
Definition at line 154 of file OgreMesh.h. |
|
Definition at line 102 of file OgreMesh.h. |
|
A hashmap used to store optional SubMesh names. Translates a name into SubMesh index Definition at line 117 of file OgreMesh.h. |
|
Multimap of vertex bone assignments (orders by vertex index).
Definition at line 98 of file OgreMesh.h. |
|
Default constructor - used by MeshManager.
Definition at line 44 of file OgreMesh.cpp. References Ogre::Mesh::MeshLodUsage::fromDepthSquared, mBoneAssignmentsOutOfDate, mBoundRadius, mIndexBufferShadowBuffer, mIndexBufferUsage, mIsLodManual, mManuallyDefined, mMeshLodUsageList, Ogre::Resource::mName, mNumLods, mUseSoftwareBlending, mVertexBufferShadowBuffer, mVertexBufferUsage, setSkeletonName(), and sharedVertexData. |
|
Definition at line 73 of file OgreMesh.cpp. References unload(). |
|
Internal method, be called once to compile bone assignments into geometry buffer.
Definition at line 504 of file OgreMesh.cpp. References _rationaliseBoneAssignments(), compileBoneAssignmentsHardware(), compileBoneAssignmentsSoftware(), mBoneAssignments, mBoneAssignmentsOutOfDate, sharedVertexData, and Ogre::VertexData::vertexCount. Referenced by _initAnimationState(). |
|
Applies the animation set passed in, and populates the passed in array of bone matrices.
Definition at line 408 of file OgreMesh.cpp. References Ogre::Skeleton::_getBoneMatrices(), Ogre::AnimationStateSet, mSkeleton, and Ogre::Skeleton::setAnimationState(). Referenced by Ogre::Entity::cacheBoneMatrices(). |
|
Returns the number of bone matrices this mesh uses.
Definition at line 400 of file OgreMesh.cpp. References Ogre::Skeleton::getNumBones(), and mSkeleton. Referenced by Ogre::Entity::cacheBoneMatrices(), and Ogre::Entity::Entity(). |
|
Gets the index of a submesh with a given name.
Definition at line 815 of file OgreMesh.cpp. References Except, mSubMeshNameMap, and Ogre::ushort. Referenced by Ogre::Entity::getSubEntity(), and getSubMesh(). |
|
Initialise an animation set suitable for use with this mesh.
Definition at line 380 of file OgreMesh.cpp. References _compileBoneAssignments(), Ogre::Skeleton::_initAnimationState(), Ogre::AnimationStateSet, mSkeleton, and mSubMeshList. Referenced by Ogre::Entity::Entity(). |
|
Internal notification, used to tell the Mesh which Skeleton to use without loading it.
Definition at line 653 of file OgreMesh.cpp. References Ogre::Resource::getName(), mSkeleton, and mSkeletonName. |
|
Rationalises the passed in bone assignment list.
Definition at line 419 of file OgreMesh.cpp. References Ogre::Resource::mName, OGRE_MAX_BLEND_WEIGHTS, Ogre::Real, and Ogre::WeightIteratorMap. Referenced by Ogre::SubMesh::_compileBoneAssignments(), and _compileBoneAssignments(). |
|
Manually set the bounding radius.
Definition at line 322 of file OgreMesh.cpp. References mBoundRadius, and Ogre::Real. Referenced by Ogre::MeshManager::createCurvedIllusionPlane(), Ogre::MeshManager::createCurvedPlane(), Ogre::MeshManager::createPlane(), Ogre::MeshManager::createPrefabPlane(), Ogre::PatchMesh::load(), Ogre::MeshSerializerImpl::readBoundsInfo(), and Ogre::MeshSerializerImpl_v1::readGeometry(). |
|
Manually set the bounding box for this Mesh.
Definition at line 304 of file OgreMesh.cpp. References Ogre::AxisAlignedBox::getMaximum(), Ogre::AxisAlignedBox::getMinimum(), mAABB, mBoundRadius, Ogre::Real, Ogre::AxisAlignedBox::setExtents(), and Ogre::Vector3::squaredLength(). Referenced by Ogre::MeshManager::createCurvedIllusionPlane(), Ogre::MeshManager::createCurvedPlane(), Ogre::MeshManager::createPlane(), Ogre::MeshManager::createPrefabPlane(), Ogre::PatchMesh::load(), Ogre::MeshSerializerImpl::readBoundsInfo(), and Ogre::MeshSerializerImpl_v1::readGeometry(). |
|
Internal methods for loading LOD, do not use.
Definition at line 790 of file OgreMesh.cpp. References mIsLodManual, mMeshLodUsageList, mNumLods, and mSubMeshList. |
|
Internal methods for loading LOD, do not use.
Definition at line 802 of file OgreMesh.cpp. References mMeshLodUsageList. |
|
Internal methods for loading LOD, do not use.
Definition at line 807 of file OgreMesh.cpp. References Ogre::SubMesh::mLodFaceList, and mSubMeshList. |
|
Assigns a vertex to a bone with a given weight, for skeletal animation.
Definition at line 367 of file OgreMesh.cpp. References mBoneAssignments, mBoneAssignmentsOutOfDate, and Ogre::VertexBoneAssignment_s::vertexIndex. Referenced by Ogre::MeshSerializerImpl_v1::readMeshBoneAssignment(), and Ogre::MeshSerializerImpl::readMeshBoneAssignment(). |
|
This method builds a set of tangent vectors for a given mesh into a 3D texture coordinate buffer.
Definition at line 907 of file OgreMesh.cpp. References Except, Ogre::VertexDeclaration::findElementBySemantic(), Ogre::VertexBufferBinding::getBuffer(), getNumSubMeshes(), Ogre::VertexElement::getSource(), getSubMesh(), getTangentsBuffer(), Ogre::VertexElement::getType(), Ogre::IndexData::indexBuffer, Ogre::IndexData::indexCount, Ogre::SubMesh::indexData, Ogre::Resource::mName, Ogre::Vector3::normalise(), Ogre::Real, sharedVertexData, Ogre::SubMesh::useSharedVertices, Ogre::VertexData::vertexBufferBinding, Ogre::VertexData::vertexCount, Ogre::SubMesh::vertexData, Ogre::VertexData::vertexDeclaration, Ogre::VES_POSITION, Ogre::VES_TEXTURE_COORDINATES, Ogre::VET_FLOAT2, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. |
|
Removes all bone assignments for this mesh.
Definition at line 374 of file OgreMesh.cpp. References mBoneAssignments, and mBoneAssignmentsOutOfDate. |
|
Makes a copy of this mesh object and gives it a new name.
Definition at line 193 of file OgreMesh.cpp. References Ogre::IndexData::clone(), Ogre::VertexData::clone(), createSubMesh(), Ogre::SubMesh::indexData, mAABB, mBoneAssignments, Ogre::SubMesh::mBoneAssignments, mBoneAssignmentsOutOfDate, Ogre::SubMesh::mBoneAssignmentsOutOfDate, mBoundRadius, mIndexBufferShadowBuffer, mIndexBufferUsage, mIsLodManual, Ogre::SubMesh::mMaterialName, Ogre::SubMesh::mMatInitialised, mMeshLodUsageList, mNumLods, mSkeleton, mSkeletonName, mSubMeshList, mSubMeshNameMap, mUseSoftwareBlending, mVertexBufferShadowBuffer, mVertexBufferUsage, Ogre::SubMesh::parent, sharedVertexData, Ogre::SubMesh::useSharedVertices, and Ogre::SubMesh::vertexData. |
|
Hardware blending oriented bone assignment compilation.
Definition at line 575 of file OgreMesh.cpp. References Ogre::VertexDeclaration::addElement(), Ogre::VertexDeclaration::findElementBySemantic(), Ogre::VertexElement::getIndex(), Ogre::VertexBufferBinding::getNextIndex(), Ogre::VertexDeclaration::getVertexSize(), mBlendingVB, Ogre::Real, Ogre::VertexDeclaration::removeElement(), Ogre::VertexBufferBinding::setBinding(), Ogre::VertexData::vertexBufferBinding, Ogre::VertexData::vertexCount, Ogre::VertexData::vertexDeclaration, Ogre::VES_BLEND_INDICES, Ogre::VES_BLEND_WEIGHTS, Ogre::VET_FLOAT1, and Ogre::VET_SHORT1. Referenced by Ogre::SubMesh::_compileBoneAssignments(), and _compileBoneAssignments(). |
|
Software blending oriented bone assignment compilation.
Definition at line 528 of file OgreMesh.cpp. References Ogre::Real, Ogre::VertexData::softwareBlendInfo, and Ogre::VertexData::vertexCount. Referenced by Ogre::SubMesh::_compileBoneAssignments(), and _compileBoneAssignments(). |
|
Adds a new manual level-of-detail entry to this Mesh.
Definition at line 740 of file OgreMesh.cpp. References Ogre::Mesh::MeshLodUsage::fromDepthSquared, Ogre::Mesh::MeshLodUsage::manualMesh, Ogre::Mesh::MeshLodUsage::manualName, mIsLodManual, mMeshLodUsageList, mNumLods, and Ogre::Real. |
|
Creates a new SubMesh and gives it a name.
Definition at line 92 of file OgreMesh.cpp. References createSubMesh(), mSubMeshList, nameSubMesh(), and Ogre::ushort. |
|
Creates a new SubMesh.
Definition at line 82 of file OgreMesh.cpp. References mSubMeshList, Ogre::SubMesh::parent, and SubMesh. Referenced by clone(), Ogre::MeshManager::createCurvedIllusionPlane(), Ogre::MeshManager::createCurvedPlane(), Ogre::MeshManager::createPlane(), Ogre::MeshManager::createPrefabPlane(), createSubMesh(), Ogre::PatchMesh::load(), Ogre::MeshSerializerImpl_v1::readSubMesh(), and Ogre::MeshSerializerImpl::readSubMesh(). |
|
A method to make the resource delete itself.
Definition at line 137 of file OgreResource.h. |
|
Automatically generates lower level of detail versions of this mesh for use when a simpler version of the model is acceptable for rendering.
Definition at line 670 of file OgreMesh.cpp. References Ogre::ProgressiveMesh::build(), Ogre::Mesh::MeshLodUsage::fromDepthSquared, mIsLodManual, mMeshLodUsageList, Ogre::Resource::mName, mNumLods, mSubMeshList, Ogre::Real, and sharedVertexData. |
|
Gets an iterator for access all bone assignments.
Definition at line 659 of file OgreMesh.cpp. References BoneAssignmentIterator, and mBoneAssignments. |
|
Gets the radius of the bounding sphere surrounding this mesh.
Definition at line 851 of file OgreMesh.cpp. References mBoundRadius, and Ogre::Real. Referenced by Ogre::MeshSerializerImpl::exportMesh(), and Ogre::Entity::getBoundingRadius(). |
|
Get the axis-aligned bounding box for this mesh.
Definition at line 295 of file OgreMesh.cpp. References mAABB. Referenced by Ogre::MeshSerializerImpl::exportMesh(), and Ogre::Entity::getBoundingBox(). |
|
Definition at line 120 of file OgreResource.h. References Ogre::ResourceHandle. Referenced by Ogre::Material::clone(), Ogre::BspLevel::loadQuake3Level(), and Ogre::ResourceManager::unload(). |
|
Gets the usage setting for this meshes index buffers.
Definition at line 486 of file OgreMesh.h. |
|
Gets the last time the resource was 'touched'.
Definition at line 108 of file OgreResource.h. |
|
Retrieves the level of detail index for the given depth value.
Definition at line 766 of file OgreMesh.cpp. References getLodIndexSquaredDepth(), Ogre::Real, and Ogre::ushort. |
|
Retrieves the level of detail index for the given squared depth value.
Definition at line 771 of file OgreMesh.cpp. References mMeshLodUsageList, Ogre::Real, and Ogre::ushort. Referenced by Ogre::Entity::_notifyCurrentCamera(), and getLodIndex(). |
|
Gets details of the numbered level of detail entry.
Definition at line 719 of file OgreMesh.cpp. References mIsLodManual, mMeshLodUsageList, and Ogre::ushort. Referenced by Ogre::Entity::cacheBoneMatrices(), Ogre::Entity::Entity(), and Ogre::MeshSerializerImpl::writeLodInfo(). |
|
|
Returns the number of levels of detail that this mesh supports.
Definition at line 714 of file OgreMesh.cpp. References mNumLods, and Ogre::ushort. Referenced by Ogre::Entity::Entity(), Ogre::MeshSerializerImpl::writeLodInfo(), and Ogre::MeshSerializerImpl::writeMesh(). |
|
Gets the number of sub meshes which comprise this mesh.
Definition at line 99 of file OgreMesh.cpp. References mSubMeshList. Referenced by Ogre::Entity::buildSubEntityList(), buildTangentVectors(), Ogre::MeshSerializerImpl::calcMeshSize(), Ogre::MeshSerializerImpl::readMeshLodInfo(), Ogre::MeshSerializerImpl_v1::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl::writeLodUsageGenerated(), and Ogre::MeshSerializerImpl::writeMesh(). |
|
Retrieves info about the size of the resource.
Definition at line 93 of file OgreResource.h. Referenced by Ogre::ResourceManager::unload(). |
|
Gets a pointer to any linked Skeleton.
Definition at line 362 of file OgreMesh.cpp. References mSkeleton. Referenced by Ogre::Entity::_updateRenderQueue(), Ogre::Entity::attachObjectToBone(), and Ogre::Entity::cacheBoneMatrices(). |
|
Gets the name of any linked Skeleton.
Definition at line 665 of file OgreMesh.cpp. References mSkeletonName. Referenced by Ogre::MeshSerializerImpl::calcMeshSize(), and Ogre::MeshSerializerImpl::writeMesh(). |
|
Gets a SubMesh by name.
Definition at line 111 of file OgreMesh.cpp. References _getSubMeshIndex(), getSubMesh(), and Ogre::ushort. |
|
Gets a pointer to the submesh indicated by the index.
Definition at line 117 of file OgreMesh.cpp. References mSubMeshList. Referenced by Ogre::Entity::buildSubEntityList(), buildTangentVectors(), Ogre::MeshSerializerImpl::calcMeshSize(), Ogre::Node::getRenderOperation(), getSubMesh(), Ogre::MeshSerializerImpl::readMeshLodInfo(), Ogre::MeshSerializerImpl_v1::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl::readMeshLodUsageGenerated(), Ogre::PatchMesh::setSubdivision(), Ogre::MeshSerializerImpl::writeLodUsageGenerated(), and Ogre::MeshSerializerImpl::writeMesh(). |
|
Internal method for getting or creating a 3D texture coord buffer to hold tangents.
Definition at line 868 of file OgreMesh.cpp. References Ogre::VertexDeclaration::addElement(), Ogre::VertexDeclaration::findElementBySemantic(), Ogre::VertexBufferBinding::getBuffer(), Ogre::VertexBufferBinding::getNextIndex(), Ogre::VertexElement::getSource(), Ogre::VertexElement::getType(), Ogre::VertexDeclaration::removeElement(), Ogre::VertexBufferBinding::setBinding(), Ogre::VertexBufferBinding::unsetBinding(), Ogre::VertexData::vertexBufferBinding, Ogre::VertexData::vertexCount, Ogre::VertexData::vertexDeclaration, Ogre::VES_TEXTURE_COORDINATES, and Ogre::VET_FLOAT3. Referenced by buildTangentVectors(). |
|
Gets the usage setting for this meshes vertex buffers.
Definition at line 484 of file OgreMesh.h. Referenced by Ogre::MeshSerializerImpl_v1_1::readGeometryTexCoords(). |
|
Returns true if this Mesh has a linked Skeleton.
Definition at line 357 of file OgreMesh.cpp. References mSkeletonName. Referenced by Ogre::Entity::_updateRenderQueue(), Ogre::Entity::attachObjectToBone(), Ogre::Entity::cacheBoneMatrices(), Ogre::MeshSerializerImpl::calcMeshSize(), Ogre::Entity::Entity(), and Ogre::MeshSerializerImpl::writeMesh(). |
|
Gets whether or not this meshes index buffers are shadowed.
Definition at line 490 of file OgreMesh.h. |
|
Returns true if the Resource has been loaded, false otherwise.
Definition at line 127 of file OgreResource.h. Referenced by Ogre::GpuProgramUsage::_load(), Ogre::Technique::isLoaded(), Ogre::D3D9Texture::load(), Ogre::D3D9Texture::unload(), and Ogre::D3D9Texture::~D3D9Texture(). |
|
Returns true if this mesh is using manual LOD.
Definition at line 425 of file OgreMesh.h. Referenced by Ogre::Entity::_updateRenderQueue(), Ogre::Entity::cacheBoneMatrices(), Ogre::Entity::Entity(), Ogre::MeshSerializerImpl::readMeshLodInfo(), and Ogre::MeshSerializerImpl::writeLodInfo(). |
|
Gets whether or not this meshes vertex buffers are shadowed.
Definition at line 488 of file OgreMesh.h. Referenced by Ogre::MeshSerializerImpl_v1_1::readGeometryTexCoords(). |
|
Generic load - called by MeshManager.
Implements Ogre::Resource. Reimplemented in Ogre::PatchMesh. Definition at line 123 of file OgreMesh.cpp. References Ogre::DataChunk::clear(), Except, Ogre::MeshSerializer::importMesh(), Ogre::Resource::mIsLoaded, mManuallyDefined, Ogre::Resource::mName, Ogre::String::split(), Ogre::String::toLowerCase(), and unload(). |
|
Gives a name to a SubMesh.
Definition at line 105 of file OgreMesh.cpp. References mSubMeshNameMap, and Ogre::ushort. Referenced by createSubMesh(). |
|
Removes all LOD data from this Mesh.
Definition at line 825 of file OgreMesh.cpp. References Ogre::Mesh::MeshLodUsage::fromDepthSquared, mIsLodManual, mMeshLodUsageList, mNumLods, and mSubMeshList. |
|
Sets the policy for the index buffers to be used when loading this Mesh.
Definition at line 862 of file OgreMesh.cpp. References mIndexBufferShadowBuffer, and mIndexBufferUsage. Referenced by Ogre::MeshManager::load(). |
|
Call this to indicate that this Mesh will be manually defined rather than loaded from a file.
Definition at line 187 of file OgreMesh.cpp. References mManuallyDefined. Referenced by Ogre::MeshManager::createBezierPatch(), and Ogre::MeshManager::createManual(). |
|
Sets the name of the skeleton this Mesh uses for animation.
Definition at line 327 of file OgreMesh.cpp. References Ogre::Skeleton::load(), Ogre::Resource::mName, mSkeleton, and mSkeletonName. Referenced by Mesh(), and Ogre::MeshSerializerImpl::readSkeletonLink(). |
|
Sets the policy for the vertex buffers to be used when loading this Mesh.
Definition at line 856 of file OgreMesh.cpp. References mVertexBufferShadowBuffer, and mVertexBufferUsage. Referenced by Ogre::MeshManager::load(), and Ogre::MeshSerializerImpl::readMesh(). |
|
'Touches' the resource to indicate it has been used.
Reimplemented in Ogre::Material. Definition at line 100 of file OgreResource.h. Referenced by Ogre::ResourceManager::load(). |
|
Generic unload - called by MeshManager.
Reimplemented from Ogre::Resource. Definition at line 167 of file OgreMesh.cpp. References Ogre::Resource::mIsLoaded, mSubMeshList, mSubMeshNameMap, and sharedVertexData. |
|
Changes the alternate mesh to use as a manual LOD at the given index.
Definition at line 753 of file OgreMesh.cpp. References Ogre::Mesh::MeshLodUsage::manualMesh, Ogre::Mesh::MeshLodUsage::manualName, mIsLodManual, mMeshLodUsageList, and Ogre::ushort. |
|
Definition at line 81 of file OgreMesh.h. |
|
Definition at line 82 of file OgreMesh.h. |
|
Definition at line 83 of file OgreMesh.h. Referenced by createSubMesh(). |
|
Local bounding box volume.
Definition at line 121 of file OgreMesh.h. Referenced by _setBounds(), clone(), getBounds(), Ogre::MeshSerializerImpl_v1::readGeometry(), and Ogre::MeshSerializerImpl::writeBoundsInfo(). |
|
Definition at line 148 of file OgreMesh.h. Referenced by compileBoneAssignmentsHardware(). |
|
Definition at line 136 of file OgreMesh.h. Referenced by _compileBoneAssignments(), addBoneAssignment(), clearBoneAssignments(), clone(), getBoneAssignmentIterator(), and Ogre::MeshSerializerImpl::writeMesh(). |
|
Flag indicating that bone assignments need to be recompiled.
Definition at line 139 of file OgreMesh.h. Referenced by _compileBoneAssignments(), addBoneAssignment(), clearBoneAssignments(), clone(), and Mesh(). |
|
Local bounding sphere radius (centered on object).
Definition at line 123 of file OgreMesh.h. Referenced by _setBoundingSphereRadius(), _setBounds(), clone(), getBoundingSphereRadius(), Mesh(), Ogre::MeshSerializerImpl_v1::readGeometry(), and Ogre::MeshSerializerImpl::writeBoundsInfo(). |
|
Definition at line 57 of file OgreResource.h. Referenced by Ogre::ResourceManager::add(), Ogre::Material::clone(), Ogre::Material::copyDetailsTo(), and Ogre::Material::operator=(). |
|
Definition at line 160 of file OgreMesh.h. Referenced by clone(), Ogre::PatchMesh::load(), Mesh(), Ogre::PatchMesh::PatchMesh(), Ogre::MeshSerializerImpl::readGeometryPositions(), Ogre::MeshSerializerImpl_v1::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl_v1::readSubMesh(), Ogre::MeshSerializerImpl::readSubMesh(), and setIndexBufferPolicy(). |
|
Definition at line 158 of file OgreMesh.h. Referenced by clone(), Ogre::PatchMesh::load(), Mesh(), Ogre::PatchMesh::PatchMesh(), Ogre::MeshSerializerImpl_v1::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl_v1::readSubMesh(), Ogre::MeshSerializerImpl::readSubMesh(), and setIndexBufferPolicy(). |
|
|
Definition at line 152 of file OgreMesh.h. Referenced by _setLodInfo(), clone(), createManualLodLevel(), generateLodLevels(), getLodLevel(), Mesh(), Ogre::MeshSerializerImpl::readMeshLodInfo(), removeLodLevels(), and updateManualLodLevel(). |
|
Definition at line 59 of file OgreResource.h. Referenced by Ogre::Material::operator=(). |
|
Definition at line 125 of file OgreMesh.h. Referenced by load(), Mesh(), and setManuallyDefined(). |
|
Definition at line 155 of file OgreMesh.h. Referenced by _setLodInfo(), _setLodUsage(), clone(), createManualLodLevel(), generateLodLevels(), getLodIndexSquaredDepth(), getLodLevel(), Mesh(), Ogre::MeshSerializerImpl::readMeshLodInfo(), removeLodLevels(), and updateManualLodLevel(). |
|
|
Definition at line 153 of file OgreMesh.h. Referenced by _setLodInfo(), clone(), createManualLodLevel(), generateLodLevels(), getNumLodLevels(), Mesh(), Ogre::MeshSerializerImpl::readMeshLodInfo(), and removeLodLevels(). |
|
Definition at line 60 of file OgreResource.h. Referenced by Ogre::D3D9Texture::_setFinalAttributes(), Ogre::D3DTexture::loadImage(), Ogre::D3DTexture::loadImage3D(), Ogre::GLTexture::loadImages(), and Ogre::Material::operator=(). |
|
Definition at line 133 of file OgreMesh.h. Referenced by _getBoneMatrices(), _getNumBoneMatrices(), _initAnimationState(), _notifySkeleton(), clone(), getSkeleton(), and setSkeletonName(). |
|
Optional linked skeleton.
Definition at line 132 of file OgreMesh.h. Referenced by _notifySkeleton(), clone(), getSkeletonName(), hasSkeleton(), and setSkeletonName(). |
|
A list of submeshes which make up this mesh. Each mesh is made up of 1 or more submeshes, which are each based on a single material and can have their own vertex data (they may not - they can share vertex data from the Mesh, depending on preference). Definition at line 109 of file OgreMesh.h. Referenced by _initAnimationState(), _setLodInfo(), _setSubMeshLodFaceList(), clone(), createSubMesh(), generateLodLevels(), getNumSubMeshes(), getSubMesh(), removeLodLevels(), and unload(). |
|
Definition at line 118 of file OgreMesh.h. Referenced by _getSubMeshIndex(), clone(), nameSubMesh(), and unload(). |
|
Option whether to use software or hardware blending, there are tradeoffs to both.
Definition at line 150 of file OgreMesh.h. Referenced by Ogre::SubMesh::_compileBoneAssignments(), clone(), and Mesh(). |
|
Definition at line 159 of file OgreMesh.h. Referenced by clone(), Ogre::PatchMesh::load(), Mesh(), Ogre::PatchMesh::PatchMesh(), Ogre::MeshSerializerImpl_v1::readGeometry(), Ogre::MeshSerializerImpl::readGeometryColours(), Ogre::MeshSerializerImpl::readGeometryNormals(), Ogre::MeshSerializerImpl::readGeometryTexCoords(), and setVertexBufferPolicy(). |
|
Definition at line 157 of file OgreMesh.h. Referenced by clone(), Ogre::PatchMesh::load(), Mesh(), Ogre::PatchMesh::PatchMesh(), Ogre::MeshSerializerImpl_v1::readGeometry(), Ogre::MeshSerializerImpl::readGeometryColours(), Ogre::MeshSerializerImpl::readGeometryNormals(), Ogre::MeshSerializerImpl::readGeometryPositions(), Ogre::MeshSerializerImpl::readGeometryTexCoords(), and setVertexBufferPolicy(). |
|
Shared vertex data.
Definition at line 224 of file OgreMesh.h. Referenced by _compileBoneAssignments(), Ogre::SubMesh::_getRenderOperation(), buildTangentVectors(), Ogre::MeshSerializerImpl::calcMeshSize(), clone(), Ogre::MeshManager::createCurvedIllusionPlane(), Ogre::MeshManager::createCurvedPlane(), Ogre::MeshManager::createPlane(), Ogre::MeshManager::createPrefabPlane(), generateLodLevels(), Mesh(), Ogre::MeshSerializerImpl_v1::readMesh(), Ogre::MeshSerializerImpl::readMesh(), unload(), and Ogre::MeshSerializerImpl::writeMesh(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Wed Jan 21 00:18:13 2004