LLPolyMorphTarget Class Reference

#include <llpolymorph.h>

Inheritance diagram for LLPolyMorphTarget:

Inheritance graph
[legend]
Collaboration diagram for LLPolyMorphTarget:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LLPolyMorphTarget (LLPolyMesh *poly_mesh)
 ~LLPolyMorphTarget ()
LLPolyMorphTargetInfogetInfo () const
BOOL setInfo (LLPolyMorphTargetInfo *info)
void apply (ESex sex)
 *virtual*/ BOOL parseData(LLXmlTreeNode* node);
F32 getTotalDistortion ()
 *virtual*/ BOOL parseData(LLXmlTreeNode* node);
const LLVector3getAvgDistortion ()
F32 getMaxDistortion ()
LLVector3 getVertexDistortion (S32 index, LLPolyMesh *poly_mesh)
const LLVector3getFirstDistortion (U32 *index, LLPolyMesh **poly_mesh)
const LLVector3getNextDistortion (U32 *index, LLPolyMesh **poly_mesh)
void applyMask (U8 *maskData, S32 width, S32 height, S32 num_components, BOOL invert)
void addPendingMorphMask ()

Protected Types

typedef std::vector< LLPolyVolumeMorphvolume_list_t

Protected Attributes

LLPolyMorphDatamMorphData
LLPolyMeshmMesh
LLPolyVertexMaskmVertMask
ESex mLastSex
BOOL mNumMorphMasksPending
volume_list_t mVolumeMorphs

Detailed Description

Definition at line 147 of file llpolymorph.h.


Member Typedef Documentation

typedef std::vector<LLPolyVolumeMorph> LLPolyMorphTarget::volume_list_t [protected]

Definition at line 181 of file llpolymorph.h.


Constructor & Destructor Documentation

LLPolyMorphTarget::LLPolyMorphTarget ( LLPolyMesh poly_mesh  ) 

Definition at line 256 of file llpolymorph.cpp.

LLPolyMorphTarget::~LLPolyMorphTarget (  ) 

Definition at line 267 of file llpolymorph.cpp.

References mVertMask.


Member Function Documentation

void LLPolyMorphTarget::addPendingMorphMask (  )  [inline]

Definition at line 171 of file llpolymorph.h.

References mNumMorphMasksPending.

Referenced by LLMaskedMorph::LLMaskedMorph().

void LLPolyMorphTarget::apply ( ESex  sex  )  [virtual]

*virtual*/ BOOL parseData(LLXmlTreeNode* node);

Implements LLVisualParam.

Definition at line 449 of file llpolymorph.cpp.

References LLVisualParam::apply(), f, LLVisualParam::getDefaultWeight(), getInfo(), LLPolyVertexMask::getMorphMaskWeights(), LLPolyMesh::getScaledBinormals(), LLPolyMesh::getScaledNormals(), LLVisualParam::getSex(), LLPolyMesh::getWritableBinormals(), LLPolyMesh::getWritableClothingWeights(), LLPolyMesh::getWritableCoords(), LLPolyMesh::getWritableNormals(), LLPolyMesh::getWritableTexCoords(), LLPolyMesh::isLOD(), llassert, LLPolyMorphData::mBinormals, LLPolyMorphData::mCoords, LLVisualParam::mCurWeight, mLastSex, LLVisualParam::mLastWeight, mMesh, mMorphData, LLVisualParam::mNext, LLPolyMorphData::mNormals, LLPolyMorphData::mNumIndices, mNumMorphMasksPending, LLPolyMorphData::mTexCoords, LLVector4::mV, LLPolyMorphData::mVertexIndices, mVertMask, mVolumeMorphs, NORMAL_SOFTEN_FACTOR, LLVector3::normVec(), NULL, S32, VW, VX, VY, and VZ.

Referenced by applyMask().

void LLPolyMorphTarget::applyMask ( U8 maskData,
S32  width,
S32  height,
S32  num_components,
BOOL  invert 
)

Definition at line 537 of file llpolymorph.cpp.

References apply(), LLPolyVertexMask::generateMask(), getInfo(), LLPolyVertexMask::getMorphMaskWeights(), LLPolyMesh::getScaledBinormals(), LLPolyMesh::getScaledNormals(), LLPolyMesh::getWritableClothingWeights(), LLPolyMesh::getWritableCoords(), LLPolyMesh::getWritableTexCoords(), LLPolyMorphData::mBinormals, LLPolyMorphData::mCoords, LLPolyMorphTargetInfo::mIsClothingMorph, mLastSex, LLVisualParam::mLastWeight, mMesh, mMorphData, LLPolyMorphData::mNormals, LLPolyMorphData::mNumIndices, mNumMorphMasksPending, LLPolyMorphData::mTexCoords, LLVector4::mV, LLPolyMorphData::mVertexIndices, mVertMask, NORMAL_SOFTEN_FACTOR, NULL, S32, VX, VY, and VZ.

const LLVector3 & LLPolyMorphTarget::getAvgDistortion (  )  [virtual]

Implements LLViewerVisualParam.

Definition at line 419 of file llpolymorph.cpp.

References LLPolyMorphData::mAvgDistortion, mMorphData, and LLVector3::zero.

const LLVector3 * LLPolyMorphTarget::getFirstDistortion ( U32 index,
LLPolyMesh **  poly_mesh 
) [virtual]

Implements LLViewerVisualParam.

Definition at line 353 of file llpolymorph.cpp.

References LLPolyMorphData::mCoords, LLPolyMorphData::mCurrentIndex, mMesh, mMorphData, LLPolyMorphData::mNumIndices, LLPolyMorphData::mVertexIndices, NULL, and LLVector3::zero.

LLPolyMorphTargetInfo* LLPolyMorphTarget::getInfo (  )  const [inline]

Reimplemented from LLViewerVisualParam.

Definition at line 154 of file llpolymorph.h.

References LLVisualParam::mInfo.

Referenced by apply(), applyMask(), and setInfo().

F32 LLPolyMorphTarget::getMaxDistortion (  )  [virtual]

Implements LLViewerVisualParam.

Definition at line 434 of file llpolymorph.cpp.

References LLPolyMorphData::mMaxDistortion, and mMorphData.

const LLVector3 * LLPolyMorphTarget::getNextDistortion ( U32 index,
LLPolyMesh **  poly_mesh 
) [virtual]

Implements LLViewerVisualParam.

Definition at line 379 of file llpolymorph.cpp.

References LLPolyMorphData::mCoords, LLPolyMorphData::mCurrentIndex, mMesh, mMorphData, LLPolyMorphData::mNumIndices, LLPolyMorphData::mVertexIndices, NULL, and LLVector3::zero.

F32 LLPolyMorphTarget::getTotalDistortion (  )  [virtual]

*virtual*/ BOOL parseData(LLXmlTreeNode* node);

Implements LLViewerVisualParam.

Definition at line 404 of file llpolymorph.cpp.

References mMorphData, and LLPolyMorphData::mTotalDistortion.

LLVector3 LLPolyMorphTarget::getVertexDistortion ( S32  index,
LLPolyMesh poly_mesh 
) [virtual]

Implements LLViewerVisualParam.

Definition at line 335 of file llpolymorph.cpp.

References LLPolyMorphData::mCoords, mMesh, mMorphData, LLPolyMorphData::mNumIndices, LLPolyMorphData::mVertexIndices, and LLVector3::zero.

BOOL LLPolyMorphTarget::setInfo ( LLPolyMorphTargetInfo info  ) 

Definition at line 278 of file llpolymorph.cpp.

References FALSE, LLPolyMesh::getAvatar(), LLVisualParam::getDefaultWeight(), getInfo(), LLPolyMesh::getMorphData(), i, llassert, llendl, llwarns, LLVOAvatar::mCollisionVolumes, LLVisualParam::mID, LLVisualParamInfo::mID, LLVisualParam::mInfo, mMesh, mMorphData, LLPolyMorphTargetInfo::mMorphName, LLVOAvatar::mNumCollisionVolumes, LLPolyMorphTargetInfo::mVolumeInfoList, mVolumeMorphs, NULL, S32, LLVisualParam::setWeight(), and TRUE.


Member Data Documentation

ESex LLPolyMorphTarget::mLastSex [protected]

Definition at line 177 of file llpolymorph.h.

Referenced by apply(), and applyMask().

LLPolyMesh* LLPolyMorphTarget::mMesh [protected]

Definition at line 175 of file llpolymorph.h.

Referenced by apply(), applyMask(), getFirstDistortion(), getNextDistortion(), getVertexDistortion(), and setInfo().

LLPolyMorphData* LLPolyMorphTarget::mMorphData [protected]

Definition at line 174 of file llpolymorph.h.

Referenced by apply(), applyMask(), getAvgDistortion(), getFirstDistortion(), getMaxDistortion(), getNextDistortion(), getTotalDistortion(), getVertexDistortion(), and setInfo().

BOOL LLPolyMorphTarget::mNumMorphMasksPending [protected]

Definition at line 179 of file llpolymorph.h.

Referenced by addPendingMorphMask(), apply(), and applyMask().

LLPolyVertexMask* LLPolyMorphTarget::mVertMask [protected]

Definition at line 176 of file llpolymorph.h.

Referenced by apply(), applyMask(), and ~LLPolyMorphTarget().

volume_list_t LLPolyMorphTarget::mVolumeMorphs [protected]

Definition at line 182 of file llpolymorph.h.

Referenced by apply(), and setInfo().


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