summaryrefslogtreecommitdiff
path: root/indra/llcharacter
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2016-10-27 09:39:39 -0400
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2016-10-27 09:39:39 -0400
commit7447da6943842a5af31787b2bbee3255b45ba88e (patch)
tree1a1ad92413055bd2a6db5f373a981cd3904924d6 /indra/llcharacter
parent31e91957db061d43aeaabdfe1583651fa9c54acd (diff)
SL-503 - more info in archetype dump files
Diffstat (limited to 'indra/llcharacter')
-rw-r--r--indra/llcharacter/lljoint.cpp28
-rw-r--r--indra/llcharacter/lljoint.h5
2 files changed, 33 insertions, 0 deletions
diff --git a/indra/llcharacter/lljoint.cpp b/indra/llcharacter/lljoint.cpp
index 8d101ff1fc..6ea2953e89 100644
--- a/indra/llcharacter/lljoint.cpp
+++ b/indra/llcharacter/lljoint.cpp
@@ -515,6 +515,34 @@ void LLJoint::clearAttachmentPosOverrides()
}
//--------------------------------------------------------------------
+// getAllAttachmentPosOverrides()
+//--------------------------------------------------------------------
+void LLJoint::getAllAttachmentPosOverrides(S32& num_pos_overrides,
+ std::set<LLVector3>& distinct_pos_overrides)
+{
+ num_pos_overrides = m_attachmentPosOverrides.count();
+ LLVector3OverrideMap::map_type::const_iterator it = m_attachmentPosOverrides.getMap().begin();
+ for (; it != m_attachmentPosOverrides.getMap().end(); ++it)
+ {
+ distinct_pos_overrides.insert(it->second);
+ }
+}
+
+//--------------------------------------------------------------------
+// getAllAttachmentScaleOverrides()
+//--------------------------------------------------------------------
+void LLJoint::getAllAttachmentScaleOverrides(S32& num_scale_overrides,
+ std::set<LLVector3>& distinct_scale_overrides)
+{
+ num_scale_overrides = m_attachmentScaleOverrides.count();
+ LLVector3OverrideMap::map_type::const_iterator it = m_attachmentScaleOverrides.getMap().begin();
+ for (; it != m_attachmentScaleOverrides.getMap().end(); ++it)
+ {
+ distinct_scale_overrides.insert(it->second);
+ }
+}
+
+//--------------------------------------------------------------------
// showAttachmentPosOverrides()
//--------------------------------------------------------------------
void LLJoint::showAttachmentPosOverrides(const std::string& av_info) const
diff --git a/indra/llcharacter/lljoint.h b/indra/llcharacter/lljoint.h
index 42c2c6f1ad..b2df90dc92 100644
--- a/indra/llcharacter/lljoint.h
+++ b/indra/llcharacter/lljoint.h
@@ -278,6 +278,11 @@ public:
void clearAttachmentScaleOverrides();
void showAttachmentScaleOverrides(const std::string& av_info) const;
+ void getAllAttachmentPosOverrides(S32& num_pos_overrides,
+ std::set<LLVector3>& distinct_pos_overrides);
+ void getAllAttachmentScaleOverrides(S32& num_scale_overrides,
+ std::set<LLVector3>& distinct_scale_overrides);
+
// These are used in checks of whether a pos/scale override is considered significant.
bool aboveJointPosThreshold(const LLVector3& pos) const;
bool aboveJointScaleThreshold(const LLVector3& scale) const;