llwaterparamset.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_WATER_PARAM_SET_H
00033 #define LL_WATER_PARAM_SET_H
00034 
00035 #include <string>
00036 #include <map>
00037 
00038 #include "v4math.h"
00039 #include "v4color.h"
00040 #include "llglslshader.h"
00041 
00042 class LLFloaterWater;
00043 class LLWaterParamSet;
00044 
00046 class LLWaterParamSet 
00047 {
00048         friend class LLWaterParamManager;
00049 
00050 public:
00051         LLString mName; 
00052         
00053 private:
00054 
00055         LLSD mParamValues;
00056 
00057 public:
00058 
00059         LLWaterParamSet();
00060 
00062         void update(LLGLSLShader * shader) const;
00063 
00065         void setAll(const LLSD& val);
00066         
00068         const LLSD& getAll();           
00069 
00073         void set(const char * paramName, float x);
00074 
00079         void set(const char * paramName, float x, float y);
00080 
00086         void set(const char * paramName, float x, float y, float z);
00087 
00094         void set(const char * paramName, float x, float y, float z, float w);
00095 
00099         void set(const char * paramName, const float * val);
00100 
00104         void set(const char * paramName, const LLVector4 & val);
00105 
00109         void set(const char * paramName, const LLColor4 & val);
00110 
00114         LLVector4 getVector4(const char * paramName, bool& error);
00115 
00119         LLVector3 getVector3(const char * paramName, bool& error);
00120         
00124         LLVector2 getVector2(const char * paramName, bool& error);
00125         
00129         F32 getFloat(const char * paramName, bool& error);
00130                 
00135         void mix(LLWaterParamSet& src, LLWaterParamSet& dest, 
00136                 F32 weight);
00137 
00138 };
00139 
00140 inline void LLWaterParamSet::setAll(const LLSD& val)
00141 {
00142         if(val.isMap()) {
00143                 LLSD::map_const_iterator mIt = val.beginMap();
00144                 for(; mIt != val.endMap(); mIt++)
00145                 {
00146                         mParamValues[mIt->first] = mIt->second;
00147                 }
00148         }
00149 }
00150 
00151 inline const LLSD& LLWaterParamSet::getAll()
00152 {
00153         return mParamValues;
00154 }
00155 
00156 #endif // LL_WaterPARAM_SET_H

Generated on Fri May 16 08:34:24 2008 for SecondLife by  doxygen 1.5.5