Emergency 20 Dokumentation  4.2.0
meshmagick::OptimiseTool Class Reference

#include <MmOptimiseTool.h>

Classes

struct  IndexInfo
 
struct  UniqueVertex
 
struct  UniqueVertexLess
 
struct  VertexInfo
 

Public Member Functions

 OptimiseTool ()
 
void processMesh (Ogre::v1::Mesh &ogreMesh)
 

Protected Types

typedef std::vector< IndexInfoIndexRemap
 
typedef std::map< UniqueVertex, VertexInfo, UniqueVertexLessUniqueVertexMap
 
typedef std::vector< VertexInfoUniqueVertexList
 
typedef std::list< Ogre::v1::IndexData * > IndexDataList
 

Protected Member Functions

void setTargetVertexData (Ogre::v1::VertexData *vd)
 
void addIndexData (Ogre::v1::IndexData *id)
 
bool optimiseGeometry ()
 
bool calculateDuplicateVertices ()
 
void rebuildVertexBuffers ()
 
void remapIndexDataList ()
 
void remapIndexes (Ogre::v1::IndexData *idata)
 
Ogre::v1::Mesh::VertexBoneAssignmentList getAdjustedBoneAssignments (Ogre::v1::Mesh::BoneAssignmentIterator &it)
 
void fixLOD (Ogre::v1::SubMesh::LODFaceList lodFaces)
 
void print (const std::string &message)
 
void warn (const std::string &message)
 

Protected Attributes

float mPosTolerance
 
float mNormTolerance
 
float mUVTolerance
 
IndexRemap mIndexRemap
 
UniqueVertexMap mUniqueVertexMap
 
UniqueVertexList mUniqueVertexList
 
Ogre::v1::VertexData * mTargetVertexData
 
IndexDataList mIndexDataList
 

Member Typedef Documentation

typedef std::list<Ogre::v1::IndexData*> meshmagick::OptimiseTool::IndexDataList
protected
typedef std::vector<IndexInfo> meshmagick::OptimiseTool::IndexRemap
protected

Mapping from original vertex index to new (potentially shared) vertex index

Ordered list of unique vertices used to write the final reorganized vertex buffer

Map used to efficiently look up vertices that have the same components. The second element is the source vertex info.

Constructor & Destructor Documentation

meshmagick::OptimiseTool::OptimiseTool ( )

Member Function Documentation

void meshmagick::OptimiseTool::addIndexData ( Ogre::v1::IndexData *  id)
protected
bool meshmagick::OptimiseTool::calculateDuplicateVertices ( )
protected
void meshmagick::OptimiseTool::fixLOD ( Ogre::v1::SubMesh::LODFaceList  lodFaces)
protected
Ogre::v1::Mesh::VertexBoneAssignmentList meshmagick::OptimiseTool::getAdjustedBoneAssignments ( Ogre::v1::Mesh::BoneAssignmentIterator &  it)
protected
bool meshmagick::OptimiseTool::optimiseGeometry ( )
protected
void meshmagick::OptimiseTool::print ( const std::string &  message)
protected
void meshmagick::OptimiseTool::processMesh ( Ogre::v1::Mesh &  ogreMesh)
void meshmagick::OptimiseTool::rebuildVertexBuffers ( )
protected
void meshmagick::OptimiseTool::remapIndexDataList ( )
protected
void meshmagick::OptimiseTool::remapIndexes ( Ogre::v1::IndexData *  idata)
protected
void meshmagick::OptimiseTool::setTargetVertexData ( Ogre::v1::VertexData *  vd)
protected
void meshmagick::OptimiseTool::warn ( const std::string &  message)
protected

Member Data Documentation

IndexDataList meshmagick::OptimiseTool::mIndexDataList
protected
IndexRemap meshmagick::OptimiseTool::mIndexRemap
protected
float meshmagick::OptimiseTool::mNormTolerance
protected
float meshmagick::OptimiseTool::mPosTolerance
protected
Ogre::v1::VertexData* meshmagick::OptimiseTool::mTargetVertexData
protected
UniqueVertexList meshmagick::OptimiseTool::mUniqueVertexList
protected
UniqueVertexMap meshmagick::OptimiseTool::mUniqueVertexMap
protected
float meshmagick::OptimiseTool::mUVTolerance
protected

The documentation for this class was generated from the following file: