Public Types |
typedef std::multimap< unsigned
short, VertexBoneAssignment > | VertexBoneAssignmentList |
| Multimap of vertex bone assignments (orders by vertex index). More...
|
typedef MapIterator< VertexBoneAssignmentList > | BoneAssignmentIterator |
typedef std::vector< Real > | LodDistanceList |
Public Methods |
| Mesh (String name) |
| Default constructor - used by MeshManager. More...
|
| ~Mesh () |
virtual void | load (void) |
| Generic load - called by MeshManager. More...
|
virtual void | unload (void) |
| Generic unload - called by MeshManager. More...
|
SubMesh * | createSubMesh (void) |
| Creates a new SubMesh. More...
|
unsigned short | getNumSubMeshes (void) const |
| Gets the number of sub meshes which comprise this mesh. More...
|
SubMesh * | getSubMesh (unsigned short index) const |
| Gets a pointer to the submesh indicated by the index. More...
|
void | setManuallyDefined (bool manuallyDefined) |
| Call this to indicate that this Mesh will be manually defined rather than loaded from a file. More...
|
Mesh * | clone (String newName) |
| Makes a copy of this mesh object and gives it a new name. More...
|
const AxisAlignedBox & | getBounds (void) |
| Get the axis-aligned bounding box for this mesh. More...
|
void | _dumpContents (String filename) |
| Debugging method - dump contents to a readable text file. More...
|
void | _dumpGeometry (GeometryData &g, std::ofstream &of) |
void | _updateBounds (void) |
| Updates the local bounding box of this mesh. More...
|
void | _setBounds (const AxisAlignedBox &bounds) |
| Manually set the bounding box for this Mesh. More...
|
void | setSkeletonName (const String &skelName) |
| Sets the name of the skeleton this Mesh uses for animation. More...
|
bool | hasSkeleton (void) const |
| Returns true if this Mesh has a linked Skeleton. More...
|
Skeleton * | getSkeleton (void) const |
| Gets a pointer to any linked Skeleton. More...
|
const String & | getSkeletonName (void) const |
| Gets the name of any linked Skeleton. More...
|
void | _initAnimationState (AnimationStateSet *animSet) |
| Initialise an animation set suitable for use with this mesh. More...
|
void | addBoneAssignment (const VertexBoneAssignment &vertBoneAssign) |
| Assigns a vertex to a bone with a given weight, for skeletal animation. More...
|
void | clearBoneAssignments (void) |
| Removes all bone assignments for this mesh. More...
|
unsigned short | _getNumBoneMatrices (void) |
| Returns the number of bone matrices this mesh uses. More...
|
void | _getBoneMatrices (const AnimationStateSet &animSet, Matrix4 *pMatrices) |
| Applies the animation set passed in, and populates the passed in array of bone matrices. More...
|
void | _notifySkeleton (Skeleton *pSkel) |
| Internal notification, used to tell the Mesh which Skeleton to use without loading it. More...
|
BoneAssignmentIterator | getBoneAssignmentIterator (void) |
| Gets an iterator for access all bone assignments. More...
|
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. More...
|
ushort | getNumLodLevels (void) const |
| Returns the number of levels of detail that this mesh supports. More...
|
const MeshLodUsage & | getLodLevel (ushort index) const |
| Gets details of the numbered level of detail entry. More...
|
void | createManualLodLevel (Real fromDepth, const String &meshName) |
| Adds a new manual level-of-detail entry to this Mesh. More...
|
void | updateManualLodLevel (ushort index, const String &meshName) |
| Changes the alternate mesh to use as a manual LOD at the given index. More...
|
ushort | getLodIndex (Real depth) const |
| Retrieves the level of detail index for the given depth value. More...
|
ushort | getLodIndexSquaredDepth (Real squaredDepth) const |
| Retrieves the level of detail index for the given squared depth value. More...
|
bool | isLodManual (void) const |
| Returns true if this mesh is using manual LOD. More...
|
void | _setLodInfo (unsigned short numLevels, bool isManual) |
| Internal methods for loading LOD, do not use. More...
|
void | _setLodUsage (unsigned short level, Mesh::MeshLodUsage &usage) |
| Internal methods for loading LOD, do not use. More...
|
void | _setSubMeshLodFaceList (unsigned short subIdx, unsigned short level, ProgressiveMesh::LODFaceData &facedata) |
| Internal methods for loading LOD, do not use. More...
|
virtual size_t | getSize (void) |
| Retrieves info about the size of the resource. More...
|
void | touch (void) |
| 'Touches' the resource to indicate it has been used. More...
|
time_t | getLastAccess (void) const |
| Gets the last time the resource was 'touched'. More...
|
const String & | getName (void) const |
| Gets resource name. More...
|
bool | isLoaded (void) const |
| Returns true if the Resource has been loaded, false otherwise. More...
|
virtual void | destroy () |
| A method to make the resource delete itself. More...
|
Public Attributes |
GeometryData | sharedGeometry |
| Shared geometry data. More...
|
Protected Attributes |
String | mName |
bool | mIsLoaded |
time_t | mLastAccess |
size_t | mSize |
Private Types |
typedef std::vector< SubMesh * > | SubMeshList |
typedef std::vector< MeshLodUsage > | MeshLodUsageList |
Private Methods |
void | cloneGeometry (GeometryData &source, GeometryData &dest) |
| Internal method used by clone(). More...
|
void | compileBoneAssignments (void) |
| Must be called once to compile bone assignments into geometry buffer. More...
|
Private Attributes |
SubMeshList | mSubMeshList |
| A list of submeshes which make up this mesh. More...
|
AxisAlignedBox | mAABB |
| Local bounding box volume. More...
|
bool | mManuallyDefined |
bool | mUpdateBounds |
| Flag to indicate that bounds need updating. More...
|
String | mSkeletonName |
| Optional linked skeleton. More...
|
Skeleton * | mSkeleton |
VertexBoneAssignmentList | mBoneAssignments |
bool | mBoneAssignmentsOutOfDate |
| Flag indicating that bone assignments need to be recompiled. More...
|
bool | mIsLodManual |
ushort | mNumLods |
MeshLodUsageList | mMeshLodUsageList |
Friends |
class | MeshSerializer |