#include <llpolymorph.h>
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 145 of file llpolymorph.h.
typedef std::vector<LLPolyVolumeMorph> LLPolyMorphTarget::volume_list_t [protected] |
Definition at line 179 of file llpolymorph.h.
LLPolyMorphTarget::LLPolyMorphTarget | ( | LLPolyMesh * | poly_mesh | ) |
Definition at line 251 of file llpolymorph.cpp.
LLPolyMorphTarget::~LLPolyMorphTarget | ( | ) |
LLPolyMorphTargetInfo* LLPolyMorphTarget::getInfo | ( | ) | const [inline] |
Reimplemented from LLViewerVisualParam.
Definition at line 152 of file llpolymorph.h.
References LLVisualParam::mInfo.
Referenced by apply(), applyMask(), and setInfo().
BOOL LLPolyMorphTarget::setInfo | ( | LLPolyMorphTargetInfo * | info | ) |
Definition at line 273 of file llpolymorph.cpp.
References FALSE, LLPolyMesh::getAvatar(), LLVisualParam::getDefaultWeight(), getInfo(), LLPolyMesh::getMorphData(), LLJoint::getName(), i, llassert, llendl, llwarns, LLVOAvatar::mCollisionVolumes, LLVisualParam::mID, LLVisualParamInfo::mID, LLVisualParam::mInfo, mMesh, mMorphData, LLPolyMorphTargetInfo::mMorphName, LLPolyVolumeMorphInfo::mName, LLVOAvatar::mNumCollisionVolumes, LLPolyVolumeMorphInfo::mPos, LLPolyVolumeMorphInfo::mScale, LLPolyMorphTargetInfo::mVolumeInfoList, mVolumeMorphs, NULL, S32, LLVisualParam::setWeight(), and TRUE.
Referenced by LLVOAvatar::loadMeshNodes().
void LLPolyMorphTarget::apply | ( | ESex | sex | ) | [virtual] |
*virtual*/ BOOL parseData(LLXmlTreeNode* node);
Implements LLVisualParam.
Definition at line 444 of file llpolymorph.cpp.
References LLVisualParam::apply(), LLVisualParam::getDefaultWeight(), getInfo(), LLPolyVertexMask::getMorphMaskWeights(), LLJoint::getPosition(), LLJoint::getScale(), 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, LLPolyVolumeMorph::mPos, LLPolyVolumeMorph::mScale, LLPolyMorphData::mTexCoords, LLVector3::mV, LLVector4::mV, LLPolyMorphData::mVertexIndices, mVertMask, LLPolyVolumeMorph::mVolume, mVolumeMorphs, NORMAL_SOFTEN_FACTOR, LLVector3::normVec(), NULL, S32, LLJoint::setPosition(), LLJoint::setScale(), VW, VX, VY, and VZ.
Referenced by applyMask().
F32 LLPolyMorphTarget::getTotalDistortion | ( | ) | [virtual] |
*virtual*/ BOOL parseData(LLXmlTreeNode* node);
Implements LLViewerVisualParam.
Definition at line 399 of file llpolymorph.cpp.
References mMorphData, and LLPolyMorphData::mTotalDistortion.
const LLVector3 & LLPolyMorphTarget::getAvgDistortion | ( | ) | [virtual] |
Implements LLViewerVisualParam.
Definition at line 414 of file llpolymorph.cpp.
References LLPolyMorphData::mAvgDistortion, mMorphData, and LLVector3::zero.
F32 LLPolyMorphTarget::getMaxDistortion | ( | ) | [virtual] |
Implements LLViewerVisualParam.
Definition at line 429 of file llpolymorph.cpp.
References LLPolyMorphData::mMaxDistortion, and mMorphData.
LLVector3 LLPolyMorphTarget::getVertexDistortion | ( | S32 | index, | |
LLPolyMesh * | poly_mesh | |||
) | [virtual] |
Implements LLViewerVisualParam.
Definition at line 330 of file llpolymorph.cpp.
References LLPolyMorphData::mCoords, mMesh, mMorphData, LLPolyMorphData::mNumIndices, LLPolyMorphData::mVertexIndices, and LLVector3::zero.
const LLVector3 * LLPolyMorphTarget::getFirstDistortion | ( | U32 * | index, | |
LLPolyMesh ** | poly_mesh | |||
) | [virtual] |
Implements LLViewerVisualParam.
Definition at line 348 of file llpolymorph.cpp.
References LLPolyMorphData::mCoords, LLPolyMorphData::mCurrentIndex, mMesh, mMorphData, LLPolyMorphData::mNumIndices, LLPolyMorphData::mVertexIndices, NULL, and LLVector3::zero.
const LLVector3 * LLPolyMorphTarget::getNextDistortion | ( | U32 * | index, | |
LLPolyMesh ** | poly_mesh | |||
) | [virtual] |
Implements LLViewerVisualParam.
Definition at line 374 of file llpolymorph.cpp.
References LLPolyMorphData::mCoords, LLPolyMorphData::mCurrentIndex, mMesh, mMorphData, LLPolyMorphData::mNumIndices, LLPolyMorphData::mVertexIndices, NULL, and LLVector3::zero.
void LLPolyMorphTarget::applyMask | ( | U8 * | maskData, | |
S32 | width, | |||
S32 | height, | |||
S32 | num_components, | |||
BOOL | invert | |||
) |
Definition at line 532 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, LLVector3::mV, LLVector4::mV, LLPolyMorphData::mVertexIndices, mVertMask, NORMAL_SOFTEN_FACTOR, NULL, S32, VX, VY, and VZ.
Referenced by LLTexLayer::applyMorphMask(), and LLTexLayer::renderAlphaMasks().
void LLPolyMorphTarget::addPendingMorphMask | ( | ) | [inline] |
Definition at line 169 of file llpolymorph.h.
References mNumMorphMasksPending.
Referenced by LLMaskedMorph::LLMaskedMorph().
LLPolyMorphData* LLPolyMorphTarget::mMorphData [protected] |
Definition at line 172 of file llpolymorph.h.
Referenced by apply(), applyMask(), getAvgDistortion(), getFirstDistortion(), getMaxDistortion(), getNextDistortion(), getTotalDistortion(), getVertexDistortion(), and setInfo().
LLPolyMesh* LLPolyMorphTarget::mMesh [protected] |
Definition at line 173 of file llpolymorph.h.
Referenced by apply(), applyMask(), getFirstDistortion(), getNextDistortion(), getVertexDistortion(), and setInfo().
LLPolyVertexMask* LLPolyMorphTarget::mVertMask [protected] |
Definition at line 174 of file llpolymorph.h.
Referenced by apply(), applyMask(), and ~LLPolyMorphTarget().
ESex LLPolyMorphTarget::mLastSex [protected] |
BOOL LLPolyMorphTarget::mNumMorphMasksPending [protected] |
Definition at line 177 of file llpolymorph.h.
Referenced by addPendingMorphMask(), apply(), and applyMask().
volume_list_t LLPolyMorphTarget::mVolumeMorphs [protected] |