aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llcharacter/llpose.h
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:45:27 -0500
committerJacek Antonelli2008-08-15 23:45:27 -0500
commita8a62201ba762e98dff92cf49033e577fc34d8d4 (patch)
tree11f8513c5cdc222f2fac0c93eb724c089803c200 /linden/indra/llcharacter/llpose.h
parentSecond Life viewer sources 1.18.6.4-RC (diff)
downloadmeta-impy-a8a62201ba762e98dff92cf49033e577fc34d8d4.zip
meta-impy-a8a62201ba762e98dff92cf49033e577fc34d8d4.tar.gz
meta-impy-a8a62201ba762e98dff92cf49033e577fc34d8d4.tar.bz2
meta-impy-a8a62201ba762e98dff92cf49033e577fc34d8d4.tar.xz
Second Life viewer sources 1.19.0.0
Diffstat (limited to 'linden/indra/llcharacter/llpose.h')
-rw-r--r--linden/indra/llcharacter/llpose.h22
1 files changed, 11 insertions, 11 deletions
diff --git a/linden/indra/llcharacter/llpose.h b/linden/indra/llcharacter/llpose.h
index 5ea586f..f67a26b 100644
--- a/linden/indra/llcharacter/llpose.h
+++ b/linden/indra/llcharacter/llpose.h
@@ -12,12 +12,12 @@
12 * ("GPL"), unless you have obtained a separate licensing agreement 12 * ("GPL"), unless you have obtained a separate licensing agreement
13 * ("Other License"), formally executed by you and Linden Lab. Terms of 13 * ("Other License"), formally executed by you and Linden Lab. Terms of
14 * the GPL can be found in doc/GPL-license.txt in this distribution, or 14 * the GPL can be found in doc/GPL-license.txt in this distribution, or
15 * online at http://secondlife.com/developers/opensource/gplv2 15 * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
16 * 16 *
17 * There are special exceptions to the terms and conditions of the GPL as 17 * There are special exceptions to the terms and conditions of the GPL as
18 * it is applied to this Source Code. View the full text of the exception 18 * it is applied to this Source Code. View the full text of the exception
19 * in the file doc/FLOSS-exception.txt in this software distribution, or 19 * in the file doc/FLOSS-exception.txt in this software distribution, or
20 * online at http://secondlife.com/developers/opensource/flossexception 20 * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
21 * 21 *
22 * By copying, modifying or distributing this software, you acknowledge 22 * By copying, modifying or distributing this software, you acknowledge
23 * that you have read and understood your obligations described above, 23 * that you have read and understood your obligations described above,
@@ -52,7 +52,7 @@ class LLPose
52{ 52{
53 friend class LLPoseBlender; 53 friend class LLPoseBlender;
54protected: 54protected:
55 typedef std::map<std::string, LLJointState*> joint_map; 55 typedef std::map<std::string, LLPointer<LLJointState> > joint_map;
56 typedef joint_map::iterator joint_map_iterator; 56 typedef joint_map::iterator joint_map_iterator;
57 typedef joint_map::value_type joint_map_value_type; 57 typedef joint_map::value_type joint_map_value_type;
58 58
@@ -61,19 +61,19 @@ protected:
61 joint_map_iterator mListIter; 61 joint_map_iterator mListIter;
62public: 62public:
63 // Iterate through jointStates 63 // Iterate through jointStates
64 LLJointState *getFirstJointState(); 64 LLJointState* getFirstJointState();
65 LLJointState *getNextJointState(); 65 LLJointState* getNextJointState();
66 LLJointState *findJointState(LLJoint *joint); 66 LLJointState* findJointState(LLJoint *joint);
67 LLJointState *findJointState(const std::string &name); 67 LLJointState* findJointState(const std::string &name);
68public: 68public:
69 // Constructor 69 // Constructor
70 LLPose() : mWeight(0.f) {} 70 LLPose() : mWeight(0.f) {}
71 // Destructor 71 // Destructor
72 ~LLPose(); 72 ~LLPose();
73 // add a joint state in this pose 73 // add a joint state in this pose
74 BOOL addJointState(LLJointState *jointState); 74 BOOL addJointState(const LLPointer<LLJointState>& jointState);
75 // remove a joint state from this pose 75 // remove a joint state from this pose
76 BOOL removeJointState(LLJointState *jointState); 76 BOOL removeJointState(const LLPointer<LLJointState>& jointState);
77 // removes all joint states from this pose 77 // removes all joint states from this pose
78 BOOL removeAllJointStates(); 78 BOOL removeAllJointStates();
79 // set weight for all joint states in this pose 79 // set weight for all joint states in this pose
@@ -89,14 +89,14 @@ const S32 JSB_NUM_JOINT_STATES = 6;
89class LLJointStateBlender 89class LLJointStateBlender
90{ 90{
91protected: 91protected:
92 LLJointState* mJointStates[JSB_NUM_JOINT_STATES]; 92 LLPointer<LLJointState> mJointStates[JSB_NUM_JOINT_STATES];
93 S32 mPriorities[JSB_NUM_JOINT_STATES]; 93 S32 mPriorities[JSB_NUM_JOINT_STATES];
94 BOOL mAdditiveBlends[JSB_NUM_JOINT_STATES]; 94 BOOL mAdditiveBlends[JSB_NUM_JOINT_STATES];
95public: 95public:
96 LLJointStateBlender(); 96 LLJointStateBlender();
97 ~LLJointStateBlender(); 97 ~LLJointStateBlender();
98 void blendJointStates(BOOL apply_now = TRUE); 98 void blendJointStates(BOOL apply_now = TRUE);
99 BOOL addJointState(LLJointState *joint_state, S32 priority, BOOL additive_blend); 99 BOOL addJointState(const LLPointer<LLJointState>& joint_state, S32 priority, BOOL additive_blend);
100 void interpolate(F32 u); 100 void interpolate(F32 u);
101 void clear(); 101 void clear();
102 void resetCachedJoint(); 102 void resetCachedJoint();