summaryrefslogtreecommitdiff
path: root/indra/newview/lldriverparam.h
diff options
context:
space:
mode:
authorNeal Orman <nyx@lindenlab.com>2009-10-16 17:56:30 +0000
committerNeal Orman <nyx@lindenlab.com>2009-10-16 17:56:30 +0000
commitd08b0b6ae8bcd452a3d707ac153107d0f1523df8 (patch)
tree3caac3468a18b105e5aa5eb53cd13ed416c1a48d /indra/newview/lldriverparam.h
parent087897b1f837872fc02822595e5dd47fabf3b7e8 (diff)
merging in new wearable infrastructure to get a step closer to eventually supporting multiple wearables per type. Merge tested and compiles/working on linux and windows - no obvious regressions on appearance or appearance editor. Merge generated no conflicts due to being tested in fresh re-branch in avatar-pipeline/multiple-textures-12. Merge perfomed with following command:
svn merge -r 136489:136510 svn+ssh://svn.lindenlab.com/svn/linden/branches/avatar-pipeline/multiple-textures-12 . Progress can be tracked in DEV-32551. -Nyx
Diffstat (limited to 'indra/newview/lldriverparam.h')
-rw-r--r--indra/newview/lldriverparam.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/indra/newview/lldriverparam.h b/indra/newview/lldriverparam.h
index 7bc0c15448..c5dce62fa6 100644
--- a/indra/newview/lldriverparam.h
+++ b/indra/newview/lldriverparam.h
@@ -36,6 +36,7 @@
#include "llviewervisualparam.h"
class LLVOAvatar;
+class LLWearable;
//-----------------------------------------------------------------------------
@@ -69,6 +70,8 @@ public:
/*virtual*/ BOOL parseXml(LLXmlTreeNode* node);
+ /*virtual*/ void toStream(std::ostream &out);
+
protected:
typedef std::deque<LLDrivenEntryInfo> entry_info_list_t;
entry_info_list_t mDrivenInfoList;
@@ -80,6 +83,7 @@ class LLDriverParam : public LLViewerVisualParam
{
public:
LLDriverParam(LLVOAvatar *avatarp);
+ LLDriverParam(LLWearable *wearablep);
~LLDriverParam();
// Special: These functions are overridden by child classes
@@ -87,12 +91,18 @@ public:
// This sets mInfo and calls initialization functions
BOOL setInfo(LLDriverParamInfo *info);
+ void setWearable(LLWearable *wearablep);
+ void setAvatar(LLVOAvatar *avatarp);
+
+ /*virtual*/ LLViewerVisualParam * cloneParam(LLWearable* wearable) const;
+
// LLVisualParam Virtual functions
///*virtual*/ BOOL parseData(LLXmlTreeNode* node);
/*virtual*/ void apply( ESex sex ) {} // apply is called separately for each driven param.
/*virtual*/ void setWeight(F32 weight, BOOL set_by_user);
/*virtual*/ void setAnimationTarget( F32 target_value, BOOL set_by_user );
/*virtual*/ void stopAnimating(BOOL set_by_user);
+ /*virtual*/ BOOL linkDrivenParams(visual_param_mapper mapper, bool only_cross_params);
// LLViewerVisualParam Virtual functions
/*virtual*/ F32 getTotalDistortion();
@@ -103,6 +113,7 @@ public:
/*virtual*/ const LLVector3* getNextDistortion(U32 *index, LLPolyMesh **poly_mesh);
protected:
F32 getDrivenWeight(const LLDrivenEntry* driven, F32 input_weight);
+ void setDrivenWeight(LLDrivenEntry *driven, F32 driven_weight, bool set_by_user);
LLVector3 mDefaultVec; // temp holder
@@ -111,6 +122,7 @@ protected:
LLViewerVisualParam* mCurrentDistortionParam;
// Backlink only; don't make this an LLPointer.
LLVOAvatar* mAvatarp;
+ LLWearable* mWearablep;
};
#endif // LL_LLDRIVERPARAM_H