2929#include " llavatarappearance.h"
3030#include " llavatarappearancedefines.h"
3131#include " llavatarjointmesh.h"
32- #include " lljointdata.h"
3332#include " llstl.h"
3433#include " lldir.h"
3534#include " llpolymorph.h"
3635#include " llpolymesh.h"
3736#include " llpolyskeletaldistortion.h"
37+ #include " llstl.h"
3838#include " lltexglobalcolor.h"
3939#include " llwearabledata.h"
4040#include " boost/bind.hpp"
4141#include " boost/tokenizer.hpp"
42- #include " v4math.h"
4342
4443using namespace LLAvatarAppearanceDefines ;
4544
@@ -72,13 +71,11 @@ class LLAvatarBoneInfo
7271 mChildren .clear ();
7372 }
7473 bool parseXml (LLXmlTreeNode* node);
75- glm::mat4 getJointMatrix ();
7674
7775private:
7876 std::string mName ;
7977 std::string mSupport ;
8078 std::string mAliases ;
81- std::string mGroup ;
8279 bool mIsJoint ;
8380 LLVector3 mPos ;
8481 LLVector3 mEnd ;
@@ -108,17 +105,11 @@ class LLAvatarSkeletonInfo
108105 S32 getNumBones () const { return mNumBones ; }
109106 S32 getNumCollisionVolumes () const { return mNumCollisionVolumes ; }
110107
111- private:
112- typedef std::vector<LLAvatarBoneInfo*> bone_info_list_t ;
113- static void getJointMatricesAndHierarhy (
114- LLAvatarBoneInfo* bone_info,
115- LLJointData& data,
116- const glm::mat4& parent_mat);
117-
118108private:
119109 S32 mNumBones ;
120110 S32 mNumCollisionVolumes ;
121111 LLAvatarAppearance::joint_alias_map_t mJointAliasMap ;
112+ typedef std::vector<LLAvatarBoneInfo*> bone_info_list_t ;
122113 bone_info_list_t mBoneInfoList ;
123114};
124115
@@ -1607,15 +1598,6 @@ bool LLAvatarBoneInfo::parseXml(LLXmlTreeNode* node)
16071598 mSupport = " base" ;
16081599 }
16091600
1610- // Skeleton has 133 bones, but shader only allows 110 (LL_MAX_JOINTS_PER_MESH_OBJECT)
1611- // Groups can be used by importer to cut out unused groups of joints
1612- static LLStdStringHandle group_string = LLXmlTree::addAttributeString (" group" );
1613- if (!node->getFastAttributeString (group_string, mGroup ))
1614- {
1615- LL_WARNS () << " Bone without group " << mName << LL_ENDL;
1616- mGroup = " global" ;
1617- }
1618-
16191601 if (mIsJoint )
16201602 {
16211603 static LLStdStringHandle pivot_string = LLXmlTree::addAttributeString (" pivot" );
@@ -1641,21 +1623,6 @@ bool LLAvatarBoneInfo::parseXml(LLXmlTreeNode* node)
16411623 return true ;
16421624}
16431625
1644-
1645- glm::mat4 LLAvatarBoneInfo::getJointMatrix ()
1646- {
1647- glm::mat4 mat (1 .0f );
1648- // 1. Scaling
1649- mat = glm::scale (mat, glm::vec3 (mScale [0 ], mScale [1 ], mScale [2 ]));
1650- // 2. Rotation (Euler angles rad)
1651- mat = glm::rotate (mat, mRot [0 ], glm::vec3 (1 , 0 , 0 ));
1652- mat = glm::rotate (mat, mRot [1 ], glm::vec3 (0 , 1 , 0 ));
1653- mat = glm::rotate (mat, mRot [2 ], glm::vec3 (0 , 0 , 1 ));
1654- // 3. Position
1655- mat = glm::translate (mat, glm::vec3 (mPos [0 ], mPos [1 ], mPos [2 ]));
1656- return mat;
1657- }
1658-
16591626// -----------------------------------------------------------------------------
16601627// LLAvatarSkeletonInfo::parseXml()
16611628// -----------------------------------------------------------------------------
@@ -1686,25 +1653,6 @@ bool LLAvatarSkeletonInfo::parseXml(LLXmlTreeNode* node)
16861653 return true ;
16871654}
16881655
1689- void LLAvatarSkeletonInfo::getJointMatricesAndHierarhy (
1690- LLAvatarBoneInfo* bone_info,
1691- LLJointData& data,
1692- const glm::mat4& parent_mat)
1693- {
1694- data.mName = bone_info->mName ;
1695- data.mJointMatrix = bone_info->getJointMatrix ();
1696- data.mScale = glm::vec3 (bone_info->mScale [0 ], bone_info->mScale [1 ], bone_info->mScale [2 ]);
1697- data.mRotation = bone_info->mRot ;
1698- data.mRestMatrix = parent_mat * data.mJointMatrix ;
1699- data.mIsJoint = bone_info->mIsJoint ;
1700- data.mGroup = bone_info->mGroup ;
1701- for (LLAvatarBoneInfo* child_info : bone_info->mChildren )
1702- {
1703- LLJointData& child_data = data.mChildren .emplace_back ();
1704- getJointMatricesAndHierarhy (child_info, child_data, data.mRestMatrix );
1705- }
1706- }
1707-
17081656// Make aliases for joint and push to map.
17091657void LLAvatarAppearance::makeJointAliases (LLAvatarBoneInfo *bone_info)
17101658{
@@ -1766,16 +1714,6 @@ const LLAvatarAppearance::joint_alias_map_t& LLAvatarAppearance::getJointAliases
17661714 return mJointAliasMap ;
17671715}
17681716
1769- void LLAvatarAppearance::getJointMatricesAndHierarhy (std::vector<LLJointData> &data) const
1770- {
1771- glm::mat4 identity (1 .f );
1772- for (LLAvatarBoneInfo* bone_info : sAvatarSkeletonInfo ->mBoneInfoList )
1773- {
1774- LLJointData& child_data = data.emplace_back ();
1775- LLAvatarSkeletonInfo::getJointMatricesAndHierarhy (bone_info, child_data, identity);
1776- }
1777- }
1778-
17791717
17801718// -----------------------------------------------------------------------------
17811719// parseXmlSkeletonNode(): parses <skeleton> nodes from XML tree
0 commit comments