LLPolyMeshSharedData Class Reference

#include <llpolymesh.h>

Collaboration diagram for LLPolyMeshSharedData:

Collaboration graph
[legend]
List of all members.

Public Member Functions

void genIndices (S32 offset)
const LLVector2getUVs (U32 index)
const S32getSharedVert (S32 vert)
BOOL isLOD ()

Public Attributes

U32 mNumTriangleIndices
U32mTriangleIndices

Private Types

typedef LLLinkedList< LLPolyMorphDataLLPolyMorphDataList

Private Member Functions

 LLPolyMeshSharedData ()
 ~LLPolyMeshSharedData ()
void setupLOD (LLPolyMeshSharedData *reference_data)
void freeMeshData ()
void setPosition (const LLVector3 &pos)
void setRotation (const LLQuaternion &rot)
void setScale (const LLVector3 &scale)
BOOL allocateVertexData (U32 numVertices)
BOOL allocateFaceData (U32 numFaces)
BOOL allocateJointNames (U32 numJointNames)
U32 getNumKB ()
BOOL loadMesh (const char *fileName)

Private Attributes

LLVector3 mPosition
LLQuaternion mRotation
LLVector3 mScale
S32 mNumVertices
LLVector3mBaseCoords
LLVector3mBaseNormals
LLVector3mBaseBinormals
LLVector2mTexCoords
LLVector2mDetailTexCoords
F32mWeights
BOOL mHasWeights
BOOL mHasDetailTexCoords
S32 mNumFaces
LLPolyFacemFaces
U32 mNumJointNames
std::string * mJointNames
LLPolyMorphDataList mMorphData
std::map< S32, S32mSharedVerts
LLPolyMeshSharedDatamReferenceData
S32 mLastIndexOffset

Friends

class LLPolyMesh

Detailed Description

Definition at line 72 of file llpolymesh.h.


Member Typedef Documentation

typedef LLLinkedList<LLPolyMorphData> LLPolyMeshSharedData::LLPolyMorphDataList [private]

Definition at line 102 of file llpolymesh.h.


Constructor & Destructor Documentation

LLPolyMeshSharedData::LLPolyMeshSharedData (  )  [private]

Definition at line 61 of file llpolymesh.cpp.

References FALSE, mBaseBinormals, mBaseCoords, mBaseNormals, mDetailTexCoords, mFaces, mHasDetailTexCoords, mHasWeights, mJointNames, mLastIndexOffset, mNumFaces, mNumJointNames, mNumTriangleIndices, mNumVertices, mReferenceData, mTexCoords, mTriangleIndices, mWeights, and NULL.

LLPolyMeshSharedData::~LLPolyMeshSharedData (  )  [private]

Definition at line 90 of file llpolymesh.cpp.

References LLLinkedList< DATA_TYPE >::deleteAllData(), freeMeshData(), and mMorphData.


Member Function Documentation

BOOL LLPolyMeshSharedData::allocateFaceData ( U32  numFaces  )  [private]

Definition at line 242 of file llpolymesh.cpp.

References mFaces, mNumFaces, mNumTriangleIndices, and TRUE.

Referenced by loadMesh().

BOOL LLPolyMeshSharedData::allocateJointNames ( U32  numJointNames  )  [private]

Definition at line 253 of file llpolymesh.cpp.

References mJointNames, mNumJointNames, and TRUE.

Referenced by loadMesh().

BOOL LLPolyMeshSharedData::allocateVertexData ( U32  numVertices  )  [private]

Definition at line 222 of file llpolymesh.cpp.

References f, i, mBaseBinormals, mBaseCoords, mBaseNormals, mDetailTexCoords, mNumVertices, mTexCoords, mWeights, and TRUE.

Referenced by loadMesh().

void LLPolyMeshSharedData::freeMeshData (  )  [private]

Definition at line 119 of file llpolymesh.cpp.

References mBaseBinormals, mBaseCoords, mBaseNormals, mDetailTexCoords, mFaces, mJointNames, mNumFaces, mNumJointNames, mNumVertices, mReferenceData, mTexCoords, mTriangleIndices, mWeights, and NULL.

Referenced by loadMesh(), and ~LLPolyMeshSharedData().

void LLPolyMeshSharedData::genIndices ( S32  offset  ) 

Definition at line 164 of file llpolymesh.cpp.

References i, mFaces, mLastIndexOffset, mNumFaces, mNumTriangleIndices, mTriangleIndices, and S32.

U32 LLPolyMeshSharedData::getNumKB (  )  [private]

Definition at line 191 of file llpolymesh.cpp.

References isLOD(), mHasDetailTexCoords, mHasWeights, mNumFaces, and mNumVertices.

Referenced by LLPolyMesh::dumpDiagInfo().

const S32 * LLPolyMeshSharedData::getSharedVert ( S32  vert  ) 

Definition at line 657 of file llpolymesh.cpp.

References mSharedVerts, and NULL.

Referenced by LLPolyVertexMask::generateMask().

const LLVector2 & LLPolyMeshSharedData::getUVs ( U32  index  ) 

Definition at line 669 of file llpolymesh.cpp.

References llassert, mNumVertices, mTexCoords, and S32.

Referenced by LLPolyVertexMask::generateMask().

BOOL LLPolyMeshSharedData::isLOD (  )  [inline]

Definition at line 149 of file llpolymesh.h.

References mReferenceData, and NULL.

Referenced by getNumKB(), LLPolyMesh::isLOD(), LLPolyMesh::LLPolyMesh(), and loadMesh().

BOOL LLPolyMeshSharedData::loadMesh ( const char *  fileName  )  [private]

Definition at line 263 of file llpolymesh.cpp.

References LLLinkedList< DATA_TYPE >::addData(), allocateFaceData(), allocateJointNames(), allocateVertexData(), face, FALSE, LLFile::fopen(), freeMeshData(), HEADER_BINARY, i, isLOD(), j, llassert, lldebugs, llendl, llerrs, llwarns, LLPolyMorphData::loadBinary(), mayaQ(), mBaseBinormals, mBaseCoords, mBaseNormals, mDetailTexCoords, mFaces, mHasDetailTexCoords, mHasWeights, mJointNames, mMorphData, mNumJointNames, mNumVertices, mReferenceData, mSharedVerts, mTexCoords, LLVector3::mV, mWeights, S32, setPosition(), setRotation(), setScale(), and TRUE.

void LLPolyMeshSharedData::setPosition ( const LLVector3 pos  )  [inline, private]

Definition at line 126 of file llpolymesh.h.

References mPosition.

Referenced by loadMesh().

void LLPolyMeshSharedData::setRotation ( const LLQuaternion rot  )  [inline, private]

Definition at line 127 of file llpolymesh.h.

References mRotation.

Referenced by loadMesh().

void LLPolyMeshSharedData::setScale ( const LLVector3 scale  )  [inline, private]

Definition at line 128 of file llpolymesh.h.

References mScale.

Referenced by loadMesh().

void LLPolyMeshSharedData::setupLOD ( LLPolyMeshSharedData reference_data  )  [private]

Definition at line 99 of file llpolymesh.cpp.

References mBaseBinormals, mBaseCoords, mBaseNormals, mDetailTexCoords, mHasDetailTexCoords, mHasWeights, mReferenceData, mTexCoords, and mWeights.


Friends And Related Function Documentation

friend class LLPolyMesh [friend]

Definition at line 74 of file llpolymesh.h.


Member Data Documentation

LLVector3* LLPolyMeshSharedData::mBaseBinormals [private]

Definition at line 85 of file llpolymesh.h.

Referenced by allocateVertexData(), freeMeshData(), LLPolyMesh::getBaseBinormals(), LLPolyMesh::initializeForMorph(), LLPolyMeshSharedData(), loadMesh(), and setupLOD().

LLVector3* LLPolyMeshSharedData::mBaseCoords [private]

Definition at line 83 of file llpolymesh.h.

Referenced by allocateVertexData(), freeMeshData(), LLPolyMesh::initializeForMorph(), LLPolyMeshSharedData(), loadMesh(), and setupLOD().

LLVector3* LLPolyMeshSharedData::mBaseNormals [private]

Definition at line 84 of file llpolymesh.h.

Referenced by allocateVertexData(), freeMeshData(), LLPolyMesh::getBaseNormals(), LLPolyMesh::initializeForMorph(), LLPolyMeshSharedData(), loadMesh(), and setupLOD().

LLVector2* LLPolyMeshSharedData::mDetailTexCoords [private]

Definition at line 87 of file llpolymesh.h.

Referenced by allocateVertexData(), freeMeshData(), LLPolyMesh::getDetailTexCoords(), LLPolyMeshSharedData(), loadMesh(), and setupLOD().

LLPolyFace* LLPolyMeshSharedData::mFaces [private]

Definition at line 95 of file llpolymesh.h.

Referenced by allocateFaceData(), freeMeshData(), genIndices(), LLPolyMesh::getFaces(), LLPolyMeshSharedData(), and loadMesh().

BOOL LLPolyMeshSharedData::mHasDetailTexCoords [private]

Definition at line 91 of file llpolymesh.h.

Referenced by getNumKB(), LLPolyMesh::hasDetailTexCoords(), LLPolyMeshSharedData(), loadMesh(), and setupLOD().

BOOL LLPolyMeshSharedData::mHasWeights [private]

Definition at line 90 of file llpolymesh.h.

Referenced by getNumKB(), LLPolyMesh::hasWeights(), LLPolyMeshSharedData(), loadMesh(), and setupLOD().

std::string* LLPolyMeshSharedData::mJointNames [private]

Definition at line 99 of file llpolymesh.h.

Referenced by allocateJointNames(), freeMeshData(), LLPolyMesh::getJointNames(), LLPolyMeshSharedData(), and loadMesh().

S32 LLPolyMeshSharedData::mLastIndexOffset [private]

Definition at line 108 of file llpolymesh.h.

Referenced by genIndices(), and LLPolyMeshSharedData().

LLPolyMorphDataList LLPolyMeshSharedData::mMorphData [private]

Definition at line 103 of file llpolymesh.h.

Referenced by LLPolyMesh::deleteAllMorphData(), LLPolyMesh::getMorphData(), loadMesh(), LLPolyMesh::removeMorphData(), and ~LLPolyMeshSharedData().

S32 LLPolyMeshSharedData::mNumFaces [private]

Definition at line 94 of file llpolymesh.h.

Referenced by allocateFaceData(), LLPolyMesh::dumpDiagInfo(), freeMeshData(), genIndices(), LLPolyMesh::getNumFaces(), getNumKB(), and LLPolyMeshSharedData().

U32 LLPolyMeshSharedData::mNumJointNames [private]

Definition at line 98 of file llpolymesh.h.

Referenced by allocateJointNames(), freeMeshData(), LLPolyMesh::getNumJointNames(), LLPolyMeshSharedData(), and loadMesh().

U32 LLPolyMeshSharedData::mNumTriangleIndices

Definition at line 113 of file llpolymesh.h.

Referenced by allocateFaceData(), genIndices(), LLPolyMeshSharedData(), and LLViewerJointMesh::updateFaceSizes().

S32 LLPolyMeshSharedData::mNumVertices [private]

Definition at line 82 of file llpolymesh.h.

Referenced by allocateVertexData(), LLPolyMesh::dumpDiagInfo(), freeMeshData(), getNumKB(), LLPolyMesh::getNumVertices(), getUVs(), LLPolyMesh::initializeForMorph(), LLPolyMesh::LLPolyMesh(), LLPolyMeshSharedData(), and loadMesh().

LLVector3 LLPolyMeshSharedData::mPosition [private]

Definition at line 77 of file llpolymesh.h.

Referenced by LLPolyMesh::getPosition(), and setPosition().

LLPolyMeshSharedData* LLPolyMeshSharedData::mReferenceData [private]

Definition at line 107 of file llpolymesh.h.

Referenced by freeMeshData(), isLOD(), LLPolyMeshSharedData(), loadMesh(), and setupLOD().

LLQuaternion LLPolyMeshSharedData::mRotation [private]

Definition at line 78 of file llpolymesh.h.

Referenced by LLPolyMesh::getRotation(), and setRotation().

LLVector3 LLPolyMeshSharedData::mScale [private]

Definition at line 79 of file llpolymesh.h.

Referenced by LLPolyMesh::getScale(), and setScale().

std::map<S32, S32> LLPolyMeshSharedData::mSharedVerts [private]

Definition at line 105 of file llpolymesh.h.

Referenced by getSharedVert(), and loadMesh().

LLVector2* LLPolyMeshSharedData::mTexCoords [private]

Definition at line 86 of file llpolymesh.h.

Referenced by allocateVertexData(), freeMeshData(), getUVs(), LLPolyMesh::initializeForMorph(), LLPolyMeshSharedData(), loadMesh(), and setupLOD().

U32* LLPolyMeshSharedData::mTriangleIndices

Definition at line 114 of file llpolymesh.h.

Referenced by freeMeshData(), genIndices(), LLPolyMesh::getIndices(), and LLPolyMeshSharedData().

F32* LLPolyMeshSharedData::mWeights [private]

Definition at line 88 of file llpolymesh.h.

Referenced by allocateVertexData(), freeMeshData(), LLPolyMesh::getWeights(), LLPolyMesh::getWritableWeights(), LLPolyMeshSharedData(), loadMesh(), and setupLOD().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:39 2010 for Second Life Viewer by  doxygen 1.4.7