aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llcharacter/llkeyframestandmotion.h
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:44:46 -0500
committerJacek Antonelli2008-08-15 23:44:46 -0500
commit38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4 (patch)
treeadca584755d22ca041a2dbfc35d4eca01f70b32c /linden/indra/llcharacter/llkeyframestandmotion.h
parentREADME.txt (diff)
downloadmeta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.zip
meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.gz
meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.bz2
meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.xz
Second Life viewer sources 1.13.2.12
Diffstat (limited to 'linden/indra/llcharacter/llkeyframestandmotion.h')
-rw-r--r--linden/indra/llcharacter/llkeyframestandmotion.h117
1 files changed, 117 insertions, 0 deletions
diff --git a/linden/indra/llcharacter/llkeyframestandmotion.h b/linden/indra/llcharacter/llkeyframestandmotion.h
new file mode 100644
index 0000000..f569498
--- /dev/null
+++ b/linden/indra/llcharacter/llkeyframestandmotion.h
@@ -0,0 +1,117 @@
1/**
2 * @file llkeyframestandmotion.h
3 * @brief Implementation of LLKeyframeStandMotion class.
4 *
5 * Copyright (c) 2001-2007, Linden Research, Inc.
6 *
7 * The source code in this file ("Source Code") is provided by Linden Lab
8 * to you under the terms of the GNU General Public License, version 2.0
9 * ("GPL"), unless you have obtained a separate licensing agreement
10 * ("Other License"), formally executed by you and Linden Lab. Terms of
11 * the GPL can be found in doc/GPL-license.txt in this distribution, or
12 * online at http://secondlife.com/developers/opensource/gplv2
13 *
14 * There are special exceptions to the terms and conditions of the GPL as
15 * it is applied to this Source Code. View the full text of the exception
16 * in the file doc/FLOSS-exception.txt in this software distribution, or
17 * online at http://secondlife.com/developers/opensource/flossexception
18 *
19 * By copying, modifying or distributing this software, you acknowledge
20 * that you have read and understood your obligations described above,
21 * and agree to abide by those obligations.
22 *
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE.
26 */
27
28#ifndef LL_LLKEYFRAMESTANDMOTION_H
29#define LL_LLKEYFRAMESTANDMOTION_H
30
31//-----------------------------------------------------------------------------
32// Header files
33//-----------------------------------------------------------------------------
34#include "llkeyframemotion.h"
35#include "lljointsolverrp3.h"
36
37
38//-----------------------------------------------------------------------------
39// class LLKeyframeStandMotion
40//-----------------------------------------------------------------------------
41class LLKeyframeStandMotion :
42 public LLKeyframeMotion
43{
44public:
45 // Constructor
46 LLKeyframeStandMotion(const LLUUID &id);
47
48 // Destructor
49 virtual ~LLKeyframeStandMotion();
50
51public:
52 //-------------------------------------------------------------------------
53 // functions to support MotionController and MotionRegistry
54 //-------------------------------------------------------------------------
55
56 // static constructor
57 // all subclasses must implement such a function and register it
58 static LLMotion *create(const LLUUID &id) { return new LLKeyframeStandMotion(id); }
59
60public:
61 //-------------------------------------------------------------------------
62 // animation callbacks to be implemented by subclasses
63 //-------------------------------------------------------------------------
64 virtual LLMotionInitStatus onInitialize(LLCharacter *character);
65 virtual BOOL onActivate();
66 void onDeactivate();
67 virtual BOOL onUpdate(F32 time, U8* joint_mask);
68
69public:
70 //-------------------------------------------------------------------------
71 // Member Data
72 //-------------------------------------------------------------------------
73 LLCharacter *mCharacter;
74
75 BOOL mFlipFeet;
76
77 LLJointState *mPelvisState;
78
79 LLJointState *mHipLeftState;
80 LLJointState *mKneeLeftState;
81 LLJointState *mAnkleLeftState;
82
83 LLJointState *mHipRightState;
84 LLJointState *mKneeRightState;
85 LLJointState *mAnkleRightState;
86
87 LLJoint mPelvisJoint;
88
89 LLJoint mHipLeftJoint;
90 LLJoint mKneeLeftJoint;
91 LLJoint mAnkleLeftJoint;
92 LLJoint mTargetLeft;
93
94 LLJoint mHipRightJoint;
95 LLJoint mKneeRightJoint;
96 LLJoint mAnkleRightJoint;
97 LLJoint mTargetRight;
98
99 LLJointSolverRP3 mIKLeft;
100 LLJointSolverRP3 mIKRight;
101
102 LLVector3 mPositionLeft;
103 LLVector3 mPositionRight;
104 LLVector3 mNormalLeft;
105 LLVector3 mNormalRight;
106 LLQuaternion mRotationLeft;
107 LLQuaternion mRotationRight;
108
109 LLQuaternion mLastGoodPelvisRotation;
110 LLVector3 mLastGoodPosition;
111 BOOL mTrackAnkles;
112
113 S32 mFrameNum;
114};
115
116#endif // LL_LLKEYFRAMESTANDMOTION_H
117