summaryrefslogtreecommitdiff
path: root/indra/llcharacter/llvisualparam.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llcharacter/llvisualparam.h')
-rw-r--r--indra/llcharacter/llvisualparam.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/indra/llcharacter/llvisualparam.h b/indra/llcharacter/llvisualparam.h
index e6503d611d..eec56d7844 100644
--- a/indra/llcharacter/llvisualparam.h
+++ b/indra/llcharacter/llvisualparam.h
@@ -96,10 +96,9 @@ protected:
//-----------------------------------------------------------------------------
class LLVisualParam
{
-protected:
- typedef boost::function<LLVisualParam*(S32)> visual_param_mapper;
-
public:
+ typedef boost::function<LLVisualParam*(S32)> visual_param_mapper;
+
LLVisualParam();
virtual ~LLVisualParam();
@@ -119,7 +118,7 @@ public:
virtual void animate(F32 delta, BOOL set_by_user);
virtual void stopAnimating(BOOL set_by_user);
- virtual BOOL linkDrivenParams(visual_param_mapper mapper, bool only_cross_params);
+ virtual BOOL linkDrivenParams(visual_param_mapper mapper, BOOL only_cross_params);
virtual void resetDrivenParams();
// Interface methods
@@ -149,19 +148,22 @@ public:
LLVisualParam* getNextParam() { return mNext; }
void setNextParam( LLVisualParam *next );
- virtual void setAnimating(BOOL is_animating) { mIsAnimating = is_animating; }
+ virtual void setAnimating(BOOL is_animating) { mIsAnimating = is_animating && !mIsDummy; }
BOOL getAnimating() const { return mIsAnimating; }
+ void setIsDummy(BOOL is_dummy) { mIsDummy = is_dummy; }
+
protected:
F32 mCurWeight; // current weight
F32 mLastWeight; // last weight
LLVisualParam* mNext; // next param in a shared chain
F32 mTargetWeight; // interpolation target
BOOL mIsAnimating; // this value has been given an interpolation target
+ BOOL mIsDummy; // this is used to prevent dummy visual params from animating
+
S32 mID; // id for storing weight/morphtarget compares compactly
LLVisualParamInfo *mInfo;
-
};
#endif // LL_LLVisualParam_H