#include <llpolymorph.h>
Inheritance diagram for LLPolyMorphTarget:
Public Member Functions | |
LLPolyMorphTarget (LLPolyMesh *poly_mesh) | |
~LLPolyMorphTarget () | |
LLPolyMorphTargetInfo * | getInfo () const |
BOOL | setInfo (LLPolyMorphTargetInfo *info) |
void | apply (ESex sex) |
*virtual*/ BOOL parseData(LLXmlTreeNode* node); | |
F32 | getTotalDistortion () |
*virtual*/ BOOL parseData(LLXmlTreeNode* node); | |
const LLVector3 & | getAvgDistortion () |
F32 | getMaxDistortion () |
LLVector3 | getVertexDistortion (S32 index, LLPolyMesh *poly_mesh) |
const LLVector3 * | getFirstDistortion (U32 *index, LLPolyMesh **poly_mesh) |
const LLVector3 * | getNextDistortion (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< LLPolyVolumeMorph > | volume_list_t |
Protected Attributes | |
LLPolyMorphData * | mMorphData |
LLPolyMesh * | mMesh |
LLPolyVertexMask * | mVertMask |
ESex | mLastSex |
BOOL | mNumMorphMasksPending |
volume_list_t | mVolumeMorphs |
Definition at line 147 of file llpolymorph.h.
typedef std::vector<LLPolyVolumeMorph> LLPolyMorphTarget::volume_list_t [protected] |
Definition at line 181 of file llpolymorph.h.
LLPolyMorphTarget::LLPolyMorphTarget | ( | LLPolyMesh * | poly_mesh | ) |
Definition at line 256 of file llpolymorph.cpp.
LLPolyMorphTarget::~LLPolyMorphTarget | ( | ) |
void LLPolyMorphTarget::addPendingMorphMask | ( | ) | [inline] |
Definition at line 171 of file llpolymorph.h.
References mNumMorphMasksPending.
Referenced by LLMaskedMorph::LLMaskedMorph().
*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.
ESex LLPolyMorphTarget::mLastSex [protected] |
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] |