diff options
Diffstat (limited to 'indra/newview/lldriverparam.h')
| -rw-r--r-- | indra/newview/lldriverparam.h | 60 | 
1 files changed, 36 insertions, 24 deletions
| diff --git a/indra/newview/lldriverparam.h b/indra/newview/lldriverparam.h index 46b8609038..a0e45cf5e5 100644 --- a/indra/newview/lldriverparam.h +++ b/indra/newview/lldriverparam.h @@ -2,38 +2,36 @@   * @file lldriverparam.h   * @brief A visual parameter that drives (controls) other visual parameters.   * - * $LicenseInfo:firstyear=2002&license=viewergpl$ - *  - * Copyright (c) 2002-2007, Linden Research, Inc. - *  + * $LicenseInfo:firstyear=2002&license=viewerlgpl$   * Second Life Viewer Source Code - * The source code in this file ("Source Code") is provided by Linden Lab - * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement - * ("Other License"), formally executed by you and Linden Lab.  Terms of - * the GPL can be found in doc/GPL-license.txt in this distribution, or - * online at http://secondlife.com/developers/opensource/gplv2 + * Copyright (C) 2010, Linden Research, Inc.   *  - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at http://secondlife.com/developers/opensource/flossexception + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only.   *  - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser General Public License for more details.   *  - * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA + *  + * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */  #ifndef LL_LLDRIVERPARAM_H  #define LL_LLDRIVERPARAM_H -#include "llvoavatar.h"  #include "llviewervisualparam.h" +#include "llwearabletype.h" + +class LLVOAvatar; +class LLWearable;  //----------------------------------------------------------------------------- @@ -67,6 +65,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; @@ -78,6 +78,7 @@ class LLDriverParam : public LLViewerVisualParam  {  public:  	LLDriverParam(LLVOAvatar *avatarp); +	LLDriverParam(LLWearable *wearablep);  	~LLDriverParam();  	// Special: These functions are overridden by child classes @@ -85,12 +86,20 @@ public:  	//   This sets mInfo and calls initialization functions  	BOOL					setInfo(LLDriverParamInfo *info); +	void					setWearable(LLWearable *wearablep); +	void					setAvatar(LLVOAvatar *avatarp); +	void					updateCrossDrivenParams(LLWearableType::EType driven_type); + +	/*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*/ void				setWeight(F32 weight, BOOL upload_bake); +	/*virtual*/ void				setAnimationTarget( F32 target_value, BOOL upload_bake ); +	/*virtual*/ void				stopAnimating(BOOL upload_bake); +	/*virtual*/ BOOL				linkDrivenParams(visual_param_mapper mapper, BOOL only_cross_params); +	/*virtual*/ void				resetDrivenParams();  	// LLViewerVisualParam Virtual functions  	/*virtual*/ F32					getTotalDistortion(); @@ -99,8 +108,10 @@ public:  	/*virtual*/ LLVector3			getVertexDistortion(S32 index, LLPolyMesh *poly_mesh);  	/*virtual*/ const LLVector3*	getFirstDistortion(U32 *index, LLPolyMesh **poly_mesh);  	/*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 upload_bake);  	LLVector3	mDefaultVec; // temp holder @@ -109,6 +120,7 @@ protected:  	LLViewerVisualParam* mCurrentDistortionParam;  	// Backlink only; don't make this an LLPointer.  	LLVOAvatar* mAvatarp; +	LLWearable* mWearablep;  };  #endif  // LL_LLDRIVERPARAM_H | 
