#include <OgrePatchMesh.h>
Inheritance diagram for Ogre::PatchMesh:
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 |
typedef std::vector< SubMesh * > | SubMeshList |
typedef HashMap< String, ushort, _StringHash > | SubMeshNameMap |
A hashmap used to store optional SubMesh names. | |
typedef VectorIterator< SubMeshList > | SubMeshIterator |
Public Methods | |
PatchMesh (const String &name, void *controlPointBuffer, VertexDeclaration *declaration, size_t width, size_t height, size_t uMaxSubdivisionLevel=PatchSurface::AUTO_LEVEL, size_t vMaxSubdivisionLevel=PatchSurface::AUTO_LEVEL, PatchSurface::VisibleSide visibleSide=PatchSurface::VS_FRONT, HardwareBuffer::Usage vbUsage=HardwareBuffer::HBU_STATIC_WRITE_ONLY, HardwareBuffer::Usage ibUsage=HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY, bool vbUseShadow=false, bool ibUseShadow=false) | |
Constructor, as defined in MeshManager::createBezierPatch. | |
void | setSubdivision (Real factor) |
void | load (void) |
Overridden from Resource. | |
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. | |
SubMeshIterator | getSubMeshIterator (void) |
Gets an iterator over the available submeshes. | |
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. | |
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. | |
void | buildEdgeList (void) |
Builds an edge list for this mesh, which can be used for generating a shadow volume among other things. | |
void | freeEdgeList (void) |
Destroys and frees the edge lists this mesh has built. | |
void | prepareForShadowVolume (void) |
This method prepares the mesh for generating a renderable shadow volume. | |
EdgeData * | getEdgeList (unsigned int lodIndex=0) |
Return the edge list for this mesh, building it if required. | |
bool | isPreparedForShadowVolumes (void) |
Returns whether this mesh has already had it's geometry prepared for use in rendering shadow volumes. | |
const SubMeshNameMap & | getSubMeshNameMap (void) const |
Gets a reference to the optional name assignments of the SubMeshes. | |
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. | |
Static Public Methods | |
void | softwareVertexBlend (const VertexData *sourceVertexData, const VertexData *targetVertexData, const Matrix4 *pMatrices, bool blendNormals) |
Performs a software indexed vertex blend, of the kind used for skeletal animation although it can be used for other purposes. | |
Public Attributes | |
VertexData * | sharedVertexData |
Shared vertex data. | |
Protected Types | |
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 | compileBoneAssignments (const VertexBoneAssignmentList &boneAssignments, unsigned short numBlendWeightsPerVertex, VertexData *targetVertexData) |
Compile bone assignments into blend index and weight buffers. | |
void | compileBoneAssignmentsSoftware (const VertexBoneAssignmentList &boneAssignments, unsigned short numBlendWeightsPerVertex, VertexData *targetVertexData) |
Software blending oriented bone assignment compilation. | |
Protected Attributes | |
PatchSurface | mSurface |
Internal surface definition. | |
VertexDeclaration * | mDeclaration |
Vertex declaration, cloned from the input. | |
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. | |
bool | mIsLodManual |
ushort | mNumLods |
MeshLodUsageList | mMeshLodUsageList |
HardwareBuffer::Usage | mVertexBufferUsage |
HardwareBuffer::Usage | mIndexBufferUsage |
bool | mVertexBufferShadowBuffer |
bool | mIndexBufferShadowBuffer |
bool | mPreparedForShadowVolumes |
bool | mEdgeListsBuilt |
String | mName |
ResourceHandle | mHandle |
bool | mIsLoaded |
time_t | mLastAccess |
size_t | mSize |
Definition at line 38 of file OgrePatchMesh.h.
|
Definition at line 101 of file OgreMesh.h. Referenced by Ogre::Mesh::getBoneAssignmentIterator(). |
|
Definition at line 98 of file OgreMesh.h. |
|
Definition at line 156 of file OgreMesh.h. |
|
Definition at line 222 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 120 of file OgreMesh.h. |
|
Multimap of vertex bone assignments (orders by vertex index).
Definition at line 100 of file OgreMesh.h. |
|
Constructor, as defined in MeshManager::createBezierPatch.
Definition at line 33 of file OgrePatchMesh.cpp. References Ogre::VertexDeclaration::clone(), Ogre::PatchSurface::defineSurface(), mDeclaration, Ogre::Mesh::mIndexBufferShadowBuffer, Ogre::Mesh::mIndexBufferUsage, mSurface, Ogre::Mesh::mVertexBufferShadowBuffer, and Ogre::Mesh::mVertexBufferUsage. |
|
Internal method, be called once to compile bone assignments into geometry buffer.
Definition at line 500 of file OgreMesh.cpp. References Ogre::Mesh::_rationaliseBoneAssignments(), Ogre::Mesh::compileBoneAssignments(), Ogre::Mesh::mBoneAssignments, Ogre::Mesh::mBoneAssignmentsOutOfDate, Ogre::Mesh::sharedVertexData, and Ogre::VertexData::vertexCount. Referenced by Ogre::Mesh::_initAnimationState(). |
|
Gets the index of a submesh with a given name.
Definition at line 792 of file OgreMesh.cpp. References Except, Ogre::Mesh::mSubMeshNameMap, and Ogre::ushort. Referenced by Ogre::Entity::getSubEntity(), and Ogre::Mesh::getSubMesh(). |
|
Initialise an animation set suitable for use with this mesh.
Definition at line 394 of file OgreMesh.cpp. References Ogre::Mesh::_compileBoneAssignments(), Ogre::Skeleton::_initAnimationState(), Ogre::AnimationStateSet, Ogre::Mesh::mSkeleton, and Ogre::Mesh::mSubMeshList. Referenced by Ogre::Entity::Entity(). |
|
Internal notification, used to tell the Mesh which Skeleton to use without loading it.
Definition at line 623 of file OgreMesh.cpp. References Ogre::Resource::getName(), Ogre::Mesh::mSkeleton, and Ogre::Mesh::mSkeletonName. |
|
Rationalises the passed in bone assignment list.
Definition at line 415 of file OgreMesh.cpp. References Ogre::Resource::mName, OGRE_MAX_BLEND_WEIGHTS, Ogre::Real, and Ogre::WeightIteratorMap. Referenced by Ogre::SubMesh::_compileBoneAssignments(), and Ogre::Mesh::_compileBoneAssignments(). |
|
Manually set the bounding radius.
Definition at line 336 of file OgreMesh.cpp. References Ogre::Mesh::mBoundRadius, and Ogre::Real. Referenced by Ogre::MeshManager::createCurvedIllusionPlane(), Ogre::MeshManager::createCurvedPlane(), Ogre::MeshManager::createPlane(), Ogre::MeshManager::createPrefabPlane(), load(), Ogre::MeshSerializerImpl::readBoundsInfo(), and Ogre::MeshSerializerImpl_v1::readGeometry(). |
|
Manually set the bounding box for this Mesh.
Definition at line 318 of file OgreMesh.cpp. References Ogre::AxisAlignedBox::getMaximum(), Ogre::AxisAlignedBox::getMinimum(), Ogre::Mesh::mAABB, Ogre::Mesh::mBoundRadius, Ogre::Real, Ogre::AxisAlignedBox::setExtents(), and Ogre::Vector3::squaredLength(). Referenced by Ogre::MeshManager::createCurvedIllusionPlane(), Ogre::MeshManager::createCurvedPlane(), Ogre::MeshManager::createPlane(), Ogre::MeshManager::createPrefabPlane(), load(), Ogre::MeshSerializerImpl::readBoundsInfo(), and Ogre::MeshSerializerImpl_v1::readGeometry(). |
|
Internal methods for loading LOD, do not use.
Definition at line 767 of file OgreMesh.cpp. References Ogre::Mesh::mIsLodManual, Ogre::Mesh::mMeshLodUsageList, Ogre::Mesh::mNumLods, and Ogre::Mesh::mSubMeshList. |
|
Internal methods for loading LOD, do not use.
Definition at line 779 of file OgreMesh.cpp. References Ogre::Mesh::mMeshLodUsageList. |
|
Internal methods for loading LOD, do not use.
Definition at line 784 of file OgreMesh.cpp. References Ogre::SubMesh::mLodFaceList, and Ogre::Mesh::mSubMeshList. |
|
Assigns a vertex to a bone with a given weight, for skeletal animation.
Definition at line 381 of file OgreMesh.cpp. References Ogre::Mesh::mBoneAssignments, Ogre::Mesh::mBoneAssignmentsOutOfDate, and Ogre::VertexBoneAssignment_s::vertexIndex. Referenced by Ogre::MeshSerializerImpl_v1::readMeshBoneAssignment(), and Ogre::MeshSerializerImpl::readMeshBoneAssignment(). |
|
Builds an edge list for this mesh, which can be used for generating a shadow volume among other things.
Definition at line 1000 of file OgreMesh.cpp. References Ogre::EdgeListBuilder::addIndexData(), Ogre::EdgeListBuilder::addVertexData(), Ogre::EdgeListBuilder::build(), Ogre::Mesh::MeshLodUsage::edgeData, Ogre::Mesh::freeEdgeList(), Ogre::Mesh::getEdgeList(), Ogre::Mesh::getLodLevel(), Ogre::SubMesh::indexData, Ogre::EdgeData::log(), Ogre::Mesh::MeshLodUsage::manualMesh, Ogre::Mesh::mIsLodManual, Ogre::SubMesh::mLodFaceList, Ogre::Mesh::mMeshLodUsageList, Ogre::Resource::mName, Ogre::Mesh::mSubMeshList, Ogre::SubMesh::operationType, Ogre::Mesh::sharedVertexData, Ogre::SubMesh::useSharedVertices, and Ogre::SubMesh::vertexData. Referenced by Ogre::Mesh::load(). |
|
This method builds a set of tangent vectors for a given mesh into a 3D texture coordinate buffer.
Definition at line 884 of file OgreMesh.cpp. References Except, Ogre::VertexDeclaration::findElementBySemantic(), Ogre::VertexBufferBinding::getBuffer(), Ogre::Mesh::getNumSubMeshes(), Ogre::VertexElement::getSource(), Ogre::Mesh::getSubMesh(), Ogre::Mesh::getTangentsBuffer(), Ogre::VertexElement::getType(), Ogre::IndexData::indexBuffer, Ogre::IndexData::indexCount, Ogre::SubMesh::indexData, Ogre::Resource::mName, Ogre::Vector3::normalise(), Ogre::Real, Ogre::Mesh::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 388 of file OgreMesh.cpp. References Ogre::Mesh::mBoneAssignments, and Ogre::Mesh::mBoneAssignmentsOutOfDate. |
|
|
Compile bone assignments into blend index and weight buffers.
Definition at line 517 of file OgreMesh.cpp. References Ogre::VertexDeclaration::addElement(), Ogre::VertexElement::baseVertexPointerToElement(), Ogre::VertexDeclaration::findElementBySemantic(), Ogre::VertexDeclaration::getElement(), Ogre::VertexBufferBinding::getNextIndex(), Ogre::VertexElement::getSemantic(), Ogre::VertexElement::getSource(), Ogre::VertexDeclaration::insertElement(), Ogre::Real, Ogre::VertexDeclaration::removeElement(), Ogre::VertexBufferBinding::setBinding(), Ogre::VertexBufferBinding::unsetBinding(), Ogre::VertexData::vertexBufferBinding, Ogre::VertexData::vertexCount, Ogre::VertexData::vertexDeclaration, Ogre::VES_BLEND_INDICES, Ogre::VES_BLEND_WEIGHTS, Ogre::VES_POSITION, Ogre::VET_FLOAT1, and Ogre::VET_UBYTE4. Referenced by Ogre::SubMesh::_compileBoneAssignments(), and Ogre::Mesh::_compileBoneAssignments(). |
|
Software blending oriented bone assignment compilation.
|
|
Adds a new manual level-of-detail entry to this Mesh.
Definition at line 714 of file OgreMesh.cpp. References Ogre::Mesh::MeshLodUsage::edgeData, Ogre::Mesh::MeshLodUsage::fromDepthSquared, Ogre::Mesh::MeshLodUsage::manualMesh, Ogre::Mesh::MeshLodUsage::manualName, Ogre::Mesh::mIsLodManual, Ogre::Mesh::mMeshLodUsageList, Ogre::Mesh::mNumLods, and Ogre::Real. |
|
Creates a new SubMesh and gives it a name.
Definition at line 95 of file OgreMesh.cpp. References Ogre::Mesh::createSubMesh(), Ogre::Mesh::mSubMeshList, Ogre::Mesh::nameSubMesh(), and Ogre::ushort. |
|
Creates a new SubMesh.
Definition at line 85 of file OgreMesh.cpp. References Ogre::Mesh::mSubMeshList, Ogre::SubMesh::parent, and Ogre::Mesh::SubMesh. Referenced by Ogre::Mesh::clone(), Ogre::MeshManager::createCurvedIllusionPlane(), Ogre::MeshManager::createCurvedPlane(), Ogre::MeshManager::createPlane(), Ogre::MeshManager::createPrefabPlane(), Ogre::Mesh::createSubMesh(), 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. |
|
Destroys and frees the edge lists this mesh has built.
Definition at line 1085 of file OgreMesh.cpp. References Ogre::Mesh::MeshLodUsage::edgeData, Ogre::Mesh::mIsLodManual, and Ogre::Mesh::mMeshLodUsageList. Referenced by Ogre::Mesh::buildEdgeList(), and Ogre::Mesh::unload(). |
|
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 640 of file OgreMesh.cpp. References Ogre::ProgressiveMesh::build(), Ogre::Mesh::MeshLodUsage::edgeData, Ogre::Mesh::MeshLodUsage::fromDepthSquared, Ogre::Mesh::MeshLodUsage::manualMesh, Ogre::Mesh::mIsLodManual, Ogre::Mesh::mMeshLodUsageList, Ogre::Resource::mName, Ogre::Mesh::mNumLods, Ogre::Mesh::mSubMeshList, Ogre::Real, and Ogre::Mesh::sharedVertexData. |
|
Gets an iterator for access all bone assignments.
Definition at line 629 of file OgreMesh.cpp. References Ogre::Mesh::BoneAssignmentIterator, and Ogre::Mesh::mBoneAssignments. |
|
Gets the radius of the bounding sphere surrounding this mesh.
Definition at line 828 of file OgreMesh.cpp. References Ogre::Mesh::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 309 of file OgreMesh.cpp. References Ogre::Mesh::mAABB. Referenced by Ogre::MeshSerializerImpl::exportMesh(), and Ogre::Entity::getBoundingBox(). |
|
Return the edge list for this mesh, building it if required.
Definition at line 1124 of file OgreMesh.cpp. References Ogre::Mesh::MeshLodUsage::edgeData, and Ogre::Mesh::getLodLevel(). Referenced by Ogre::Mesh::buildEdgeList(), and Ogre::Entity::getEdgeList(). |
|
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 483 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 743 of file OgreMesh.cpp. References Ogre::Mesh::getLodIndexSquaredDepth(), Ogre::Real, and Ogre::ushort. |
|
Retrieves the level of detail index for the given squared depth value.
Definition at line 748 of file OgreMesh.cpp. References Ogre::Mesh::mMeshLodUsageList, Ogre::Real, and Ogre::ushort. Referenced by Ogre::Entity::_notifyCurrentCamera(), and Ogre::Mesh::getLodIndex(). |
|
Gets details of the numbered level of detail entry.
Definition at line 693 of file OgreMesh.cpp. References Ogre::Mesh::mIsLodManual, Ogre::Mesh::mMeshLodUsageList, and Ogre::ushort. Referenced by Ogre::Mesh::buildEdgeList(), Ogre::Entity::cacheBoneMatrices(), Ogre::Entity::Entity(), Ogre::Mesh::getEdgeList(), and Ogre::MeshSerializerImpl::writeLodInfo(). |
|
|
Returns the number of levels of detail that this mesh supports.
Definition at line 688 of file OgreMesh.cpp. References Ogre::Mesh::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 102 of file OgreMesh.cpp. References Ogre::Mesh::mSubMeshList. Referenced by Ogre::Entity::buildSubEntityList(), Ogre::Mesh::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 376 of file OgreMesh.cpp. References Ogre::Mesh::mSkeleton. Referenced by Ogre::Entity::Entity(). |
|
Gets the name of any linked Skeleton.
Definition at line 635 of file OgreMesh.cpp. References Ogre::Mesh::mSkeletonName. Referenced by Ogre::MeshSerializerImpl::calcMeshSize(), and Ogre::MeshSerializerImpl::writeMesh(). |
|
Gets a SubMesh by name.
Definition at line 114 of file OgreMesh.cpp. References Ogre::Mesh::_getSubMeshIndex(), Ogre::Mesh::getSubMesh(), and Ogre::ushort. |
|
Gets a pointer to the submesh indicated by the index.
Definition at line 120 of file OgreMesh.cpp. References Ogre::Mesh::mSubMeshList. Referenced by Ogre::Entity::buildSubEntityList(), Ogre::Mesh::buildTangentVectors(), Ogre::MeshSerializerImpl::calcMeshSize(), Ogre::Node::getRenderOperation(), Ogre::Mesh::getSubMesh(), Ogre::MeshSerializerImpl::readMeshLodInfo(), Ogre::MeshSerializerImpl_v1::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl::readMeshLodUsageGenerated(), setSubdivision(), Ogre::MeshSerializerImpl::writeLodUsageGenerated(), and Ogre::MeshSerializerImpl::writeMesh(). |
|
Gets an iterator over the available submeshes.
Definition at line 224 of file OgreMesh.h. |
|
Gets a reference to the optional name assignments of the SubMeshes.
Definition at line 593 of file OgreMesh.h. |
|
Internal method for getting or creating a 3D texture coord buffer to hold tangents.
Definition at line 845 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 Ogre::Mesh::buildTangentVectors(). |
|
Gets the usage setting for this meshes vertex buffers.
Definition at line 481 of file OgreMesh.h. Referenced by Ogre::MeshSerializerImpl_v1_1::readGeometryTexCoords(). |
|
Returns true if this Mesh has a linked Skeleton.
Definition at line 371 of file OgreMesh.cpp. References Ogre::Mesh::mSkeletonName. Referenced by 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 487 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::SceneManager::deriveShadowCasterPass(), Ogre::SceneManager::deriveShadowReceiverPass(), 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 422 of file OgreMesh.h. Referenced by Ogre::Entity::_updateRenderQueue(), Ogre::Entity::cacheBoneMatrices(), Ogre::Entity::Entity(), Ogre::Entity::getShadowVolumeRenderableIterator(), Ogre::MeshSerializerImpl::readMeshLodInfo(), and Ogre::MeshSerializerImpl::writeLodInfo(). |
|
Returns whether this mesh has already had it's geometry prepared for use in rendering shadow volumes.
Definition at line 570 of file OgreMesh.h. Referenced by Ogre::Entity::getShadowVolumeRenderableIterator(). |
|
Gets whether or not this meshes vertex buffers are shadowed.
Definition at line 485 of file OgreMesh.h. Referenced by Ogre::MeshSerializerImpl_v1_1::readGeometryTexCoords(). |
|
|
Gives a name to a SubMesh.
Definition at line 108 of file OgreMesh.cpp. References Ogre::Mesh::mSubMeshNameMap, and Ogre::ushort. Referenced by Ogre::Mesh::createSubMesh(), and Ogre::MeshSerializerImpl::readSubMeshNameTable(). |
|
This method prepares the mesh for generating a renderable shadow volume.
Definition at line 1105 of file OgreMesh.cpp. References Ogre::Mesh::mPreparedForShadowVolumes, Ogre::Mesh::mSubMeshList, Ogre::VertexData::prepareForShadowVolume(), Ogre::Mesh::sharedVertexData, Ogre::SubMesh::useSharedVertices, and Ogre::SubMesh::vertexData. Referenced by Ogre::Entity::getShadowVolumeRenderableIterator(), and Ogre::Mesh::load(). |
|
Removes all LOD data from this Mesh.
Definition at line 802 of file OgreMesh.cpp. References Ogre::Mesh::MeshLodUsage::fromDepthSquared, Ogre::Mesh::mIsLodManual, Ogre::Mesh::mMeshLodUsageList, Ogre::Mesh::mNumLods, and Ogre::Mesh::mSubMeshList. |
|
Sets the policy for the index buffers to be used when loading this Mesh.
Definition at line 839 of file OgreMesh.cpp. References Ogre::Mesh::mIndexBufferShadowBuffer, and Ogre::Mesh::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 199 of file OgreMesh.cpp. References Ogre::Mesh::mManuallyDefined. Referenced by Ogre::MeshManager::createBezierPatch(), and Ogre::MeshManager::createManual(). |
|
Sets the name of the skeleton this Mesh uses for animation.
Definition at line 341 of file OgreMesh.cpp. References Ogre::Skeleton::load(), Ogre::Resource::mName, Ogre::Mesh::mSkeleton, and Ogre::Mesh::mSkeletonName. Referenced by Ogre::Mesh::Mesh(), and Ogre::MeshSerializerImpl::readSkeletonLink(). |
|
Definition at line 56 of file OgrePatchMesh.cpp. References Ogre::PatchSurface::getCurrentIndexCount(), Ogre::Mesh::getSubMesh(), Ogre::IndexData::indexCount, Ogre::SubMesh::indexData, mSurface, Ogre::Real, and Ogre::PatchSurface::setSubdivisionFactor(). |
|
Sets the policy for the vertex buffers to be used when loading this Mesh.
Definition at line 833 of file OgreMesh.cpp. References Ogre::Mesh::mVertexBufferShadowBuffer, and Ogre::Mesh::mVertexBufferUsage. Referenced by Ogre::MeshManager::load(). |
|
Performs a software indexed vertex blend, of the kind used for skeletal animation although it can be used for other purposes.
Definition at line 1129 of file OgreMesh.cpp. References Ogre::VertexElement::baseVertexPointerToElement(), Ogre::VertexDeclaration::findElementBySemantic(), Ogre::SharedPtr< HardwareVertexBuffer >::get(), Ogre::VertexBufferBinding::getBuffer(), Ogre::VertexElement::getOffset(), Ogre::VertexElement::getSource(), Ogre::VertexElement::getType(), Ogre::Vector3::normalise(), Ogre::Real, Ogre::VertexData::vertexBufferBinding, Ogre::VertexData::vertexCount, Ogre::VertexData::vertexDeclaration, Ogre::VES_BLEND_INDICES, Ogre::VES_BLEND_WEIGHTS, Ogre::VES_NORMAL, Ogre::VES_POSITION, Ogre::VET_UBYTE4, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. |
|
'Touches' the resource to indicate it has been used.
Reimplemented in Ogre::Material. Definition at line 100 of file OgreResource.h. Referenced by Ogre::Mesh::clone(), Ogre::MeshManager::createCurvedIllusionPlane(), Ogre::MeshManager::createCurvedPlane(), Ogre::MeshManager::createPlane(), and Ogre::ResourceManager::load(). |
|
Generic unload - called by MeshManager.
Reimplemented from Ogre::Resource. Definition at line 177 of file OgreMesh.cpp. References Ogre::Mesh::freeEdgeList(), Ogre::Resource::mIsLoaded, Ogre::Mesh::mSubMeshList, Ogre::Mesh::mSubMeshNameMap, and Ogre::Mesh::sharedVertexData. Referenced by Ogre::Mesh::load(), and Ogre::Mesh::~Mesh(). |
|
Changes the alternate mesh to use as a manual LOD at the given index.
Definition at line 728 of file OgreMesh.cpp. References Ogre::Mesh::MeshLodUsage::edgeData, Ogre::Mesh::MeshLodUsage::manualMesh, Ogre::Mesh::MeshLodUsage::manualName, Ogre::Mesh::mIsLodManual, Ogre::Mesh::mMeshLodUsageList, and Ogre::ushort. |
|
Local bounding box volume.
Definition at line 125 of file OgreMesh.h. Referenced by Ogre::Mesh::_setBounds(), Ogre::Mesh::clone(), Ogre::Mesh::getBounds(), Ogre::MeshSerializerImpl_v1::readGeometry(), and Ogre::MeshSerializerImpl::writeBoundsInfo(). |
|
Definition at line 140 of file OgreMesh.h. Referenced by Ogre::Mesh::_compileBoneAssignments(), Ogre::Mesh::addBoneAssignment(), Ogre::Mesh::clearBoneAssignments(), Ogre::Mesh::clone(), Ogre::Mesh::getBoneAssignmentIterator(), and Ogre::MeshSerializerImpl::writeMesh(). |
|
Flag indicating that bone assignments need to be recompiled.
Definition at line 143 of file OgreMesh.h. Referenced by Ogre::Mesh::_compileBoneAssignments(), Ogre::Mesh::addBoneAssignment(), Ogre::Mesh::clearBoneAssignments(), Ogre::Mesh::clone(), and Ogre::Mesh::Mesh(). |
|
Local bounding sphere radius (centered on object).
Definition at line 127 of file OgreMesh.h. Referenced by Ogre::Mesh::_setBoundingSphereRadius(), Ogre::Mesh::_setBounds(), Ogre::Mesh::clone(), Ogre::Mesh::getBoundingSphereRadius(), Ogre::Mesh::Mesh(), Ogre::MeshSerializerImpl_v1::readGeometry(), and Ogre::MeshSerializerImpl::writeBoundsInfo(). |
|
Vertex declaration, cloned from the input.
Definition at line 44 of file OgrePatchMesh.h. |
|
Definition at line 166 of file OgreMesh.h. Referenced by Ogre::Mesh::Mesh(). |
|
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 162 of file OgreMesh.h. Referenced by Ogre::Mesh::clone(), load(), Ogre::Mesh::Mesh(), PatchMesh(), Ogre::MeshSerializerImpl::readGeometryPositions(), Ogre::MeshSerializerImpl_v1::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl_v1::readSubMesh(), Ogre::MeshSerializerImpl::readSubMesh(), and Ogre::Mesh::setIndexBufferPolicy(). |
|
Definition at line 160 of file OgreMesh.h. Referenced by Ogre::Mesh::clone(), load(), Ogre::Mesh::Mesh(), PatchMesh(), Ogre::MeshSerializerImpl_v1::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl_v1::readSubMesh(), Ogre::MeshSerializerImpl::readSubMesh(), and Ogre::Mesh::setIndexBufferPolicy(). |
|
|
Definition at line 154 of file OgreMesh.h. Referenced by Ogre::Mesh::_setLodInfo(), Ogre::Mesh::buildEdgeList(), Ogre::Mesh::clone(), Ogre::Mesh::createManualLodLevel(), Ogre::Mesh::freeEdgeList(), Ogre::Mesh::generateLodLevels(), Ogre::Mesh::getLodLevel(), Ogre::Mesh::Mesh(), Ogre::MeshSerializerImpl::readMeshLodInfo(), Ogre::Mesh::removeLodLevels(), and Ogre::Mesh::updateManualLodLevel(). |
|
Definition at line 59 of file OgreResource.h. Referenced by Ogre::Material::operator=(). |
|
Definition at line 129 of file OgreMesh.h. Referenced by Ogre::Mesh::load(), Ogre::Mesh::Mesh(), and Ogre::Mesh::setManuallyDefined(). |
|
Definition at line 157 of file OgreMesh.h. Referenced by Ogre::Mesh::_setLodInfo(), Ogre::Mesh::_setLodUsage(), Ogre::Mesh::buildEdgeList(), Ogre::Mesh::clone(), Ogre::Mesh::createManualLodLevel(), Ogre::Mesh::freeEdgeList(), Ogre::Mesh::generateLodLevels(), Ogre::Mesh::getLodIndexSquaredDepth(), Ogre::Mesh::getLodLevel(), Ogre::Mesh::Mesh(), Ogre::MeshSerializerImpl::readMeshLodInfo(), Ogre::Mesh::removeLodLevels(), and Ogre::Mesh::updateManualLodLevel(). |
|
|
Definition at line 155 of file OgreMesh.h. Referenced by Ogre::Mesh::_setLodInfo(), Ogre::Mesh::clone(), Ogre::Mesh::createManualLodLevel(), Ogre::Mesh::generateLodLevels(), Ogre::Mesh::getNumLodLevels(), Ogre::Mesh::Mesh(), Ogre::MeshSerializerImpl::readMeshLodInfo(), and Ogre::Mesh::removeLodLevels(). |
|
Definition at line 165 of file OgreMesh.h. Referenced by Ogre::Mesh::Mesh(), and Ogre::Mesh::prepareForShadowVolume(). |
|
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 137 of file OgreMesh.h. Referenced by Ogre::Mesh::_initAnimationState(), Ogre::Mesh::_notifySkeleton(), Ogre::Mesh::clone(), Ogre::Mesh::getSkeleton(), and Ogre::Mesh::setSkeletonName(). |
|
Optional linked skeleton.
Definition at line 136 of file OgreMesh.h. Referenced by Ogre::Mesh::_notifySkeleton(), Ogre::Mesh::clone(), Ogre::Mesh::getSkeletonName(), Ogre::Mesh::hasSkeleton(), and Ogre::Mesh::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 111 of file OgreMesh.h. Referenced by Ogre::Mesh::_initAnimationState(), Ogre::Mesh::_setLodInfo(), Ogre::Mesh::_setSubMeshLodFaceList(), Ogre::Mesh::buildEdgeList(), Ogre::Mesh::clone(), Ogre::Mesh::createSubMesh(), Ogre::Mesh::generateLodLevels(), Ogre::Mesh::getNumSubMeshes(), Ogre::Mesh::getSubMesh(), Ogre::Mesh::prepareForShadowVolume(), Ogre::Mesh::removeLodLevels(), and Ogre::Mesh::unload(). |
|
Definition at line 122 of file OgreMesh.h. Referenced by Ogre::Mesh::_getSubMeshIndex(), Ogre::MeshSerializerImpl::calcSubMeshNameTableSize(), Ogre::Mesh::clone(), Ogre::Mesh::nameSubMesh(), Ogre::Mesh::unload(), and Ogre::MeshSerializerImpl::writeSubMeshNameTable(). |
|
Internal surface definition.
Definition at line 42 of file OgrePatchMesh.h. Referenced by load(), PatchMesh(), and setSubdivision(). |
|
Definition at line 161 of file OgreMesh.h. Referenced by Ogre::Mesh::clone(), load(), Ogre::Mesh::Mesh(), PatchMesh(), Ogre::MeshSerializerImpl_v1::readGeometry(), Ogre::MeshSerializerImpl::readGeometryColours(), Ogre::MeshSerializerImpl::readGeometryNormals(), Ogre::MeshSerializerImpl::readGeometryTexCoords(), and Ogre::Mesh::setVertexBufferPolicy(). |
|
Definition at line 159 of file OgreMesh.h. Referenced by Ogre::Mesh::clone(), load(), Ogre::Mesh::Mesh(), PatchMesh(), Ogre::MeshSerializerImpl_v1::readGeometry(), Ogre::MeshSerializerImpl::readGeometryColours(), Ogre::MeshSerializerImpl::readGeometryNormals(), Ogre::MeshSerializerImpl::readGeometryPositions(), Ogre::MeshSerializerImpl::readGeometryTexCoords(), and Ogre::Mesh::setVertexBufferPolicy(). |
|
Copyright © 2002-2003 by The OGRE Team
Last modified Fri May 14 23:26:52 2004