summaryrefslogtreecommitdiff
path: root/indra/newview/llvoavatar.cpp
diff options
context:
space:
mode:
authorAura Linden <aura@lindenlab.com>2015-11-11 13:44:51 -0800
committerAura Linden <aura@lindenlab.com>2015-11-11 13:44:51 -0800
commit146919fa764bed09bfa5e27bc30d02ce2afb6188 (patch)
treeb073b1a0e140a7fff67ca309acc6dcbc1f477267 /indra/newview/llvoavatar.cpp
parent07496b015b01899b21960b60d2f3af7bf317c349 (diff)
animations and meshes will recognize all joint names in joint_aliases.xml
Diffstat (limited to 'indra/newview/llvoavatar.cpp')
-rwxr-xr-xindra/newview/llvoavatar.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 3b482e1bc0..d14ec7e55b 100755
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -937,6 +937,29 @@ std::string LLVOAvatar::rezStatusToString(S32 rez_status)
return "unknown";
}
+void LLVOAvatar::getLegalJointNames(std::deque<std::string>& legal_joint_names,
+ bool include_collision_volumes)
+{
+ // Get all standard skeleton joints from the preview avatar.
+ const LLVOAvatar::avatar_joint_list_t &skel = getSkeleton();
+ for (S32 i=0; i<skel.size(); i++)
+ {
+ LLAvatarJoint *joint = skel[i];
+ if (joint)
+ {
+ legal_joint_names.push_back(joint->getName());
+ }
+ }
+
+ if (include_collision_volumes)
+ {
+ for (S32 i = 0; i < mNumCollisionVolumes; i++)
+ {
+ legal_joint_names.push_back(mCollisionVolumes[i].getName());
+ }
+ }
+}
+
// static
void LLVOAvatar::dumpBakedStatus()
{