aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llviewervisualparam.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/newview/llviewervisualparam.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 '')
-rw-r--r--linden/indra/newview/llviewervisualparam.h102
1 files changed, 102 insertions, 0 deletions
diff --git a/linden/indra/newview/llviewervisualparam.h b/linden/indra/newview/llviewervisualparam.h
new file mode 100644
index 0000000..c8bdcf9
--- /dev/null
+++ b/linden/indra/newview/llviewervisualparam.h
@@ -0,0 +1,102 @@
1/**
2 * @file llviewervisualparam.h
3 * @brief viewer side visual params (with data file parsing)
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_LLViewerVisualParam_H
29#define LL_LLViewerVisualParam_H
30
31#include "v3math.h"
32#include "llstring.h"
33#include "llvisualparam.h"
34
35//-----------------------------------------------------------------------------
36// LLViewerVisualParamInfo
37//-----------------------------------------------------------------------------
38class LLViewerVisualParamInfo : public LLVisualParamInfo
39{
40 friend class LLViewerVisualParam;
41public:
42 LLViewerVisualParamInfo();
43 /*virtual*/ ~LLViewerVisualParamInfo();
44
45 /*virtual*/ BOOL parseXml(LLXmlTreeNode* node);
46
47protected:
48 S32 mWearableType;
49 LLString mEditGroup;
50 F32 mCamDist;
51 F32 mCamAngle; // degrees
52 F32 mCamElevation;
53 LLString mCamTargetName;
54 F32 mEditGroupDisplayOrder;
55 BOOL mShowSimple; // show edit controls when in "simple ui" mode?
56 F32 mSimpleMin; // when in simple UI, apply this minimum, range 0.f to 100.f
57 F32 mSimpleMax; // when in simple UI, apply this maximum, range 0.f to 100.f
58};
59
60//-----------------------------------------------------------------------------
61// LLViewerVisualParam
62// VIRTUAL CLASS
63// a viewer side interface class for a generalized parametric modification of the avatar mesh
64//-----------------------------------------------------------------------------
65class LLViewerVisualParam : public LLVisualParam
66{
67public:
68 LLViewerVisualParam();
69 /*virtual*/ ~LLViewerVisualParam(){};
70
71 // Special: These functions are overridden by child classes
72 LLViewerVisualParamInfo *getInfo() const { return (LLViewerVisualParamInfo*)mInfo; };
73 // This sets mInfo and calls initialization functions
74 BOOL setInfo(LLViewerVisualParamInfo *info);
75
76 // LLVisualParam Virtual functions
77 ///*virtual*/ BOOL parseData(LLXmlTreeNode* node);
78
79 // New Virtual functions
80 virtual F32 getTotalDistortion() = 0;
81 virtual const LLVector3& getAvgDistortion() = 0;
82 virtual F32 getMaxDistortion() = 0;
83 virtual LLVector3 getVertexDistortion(S32 index, LLPolyMesh *mesh) = 0;
84 virtual const LLVector3* getFirstDistortion(U32 *index, LLPolyMesh **mesh) = 0;
85 virtual const LLVector3* getNextDistortion(U32 *index, LLPolyMesh **mesh) = 0;
86
87 // interface methods
88 F32 getDisplayOrder() { return getInfo()->mEditGroupDisplayOrder; }
89 S32 getWearableType() const { return getInfo()->mWearableType; }
90 const LLString& getEditGroup() const { return getInfo()->mEditGroup; }
91
92 F32 getCameraDistance() const { return getInfo()->mCamDist; }
93 F32 getCameraAngle() const { return getInfo()->mCamAngle; } // degrees
94 F32 getCameraElevation() const { return getInfo()->mCamElevation; }
95 const std::string& getCameraTargetName() const { return getInfo()->mCamTargetName; }
96
97 BOOL getShowSimple() const { return getInfo()->mShowSimple; }
98 F32 getSimpleMin() const { return getInfo()->mSimpleMin; }
99 F32 getSimpleMax() const { return getInfo()->mSimpleMax; }
100};
101
102#endif // LL_LLViewerVisualParam_H