00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef SIMGEAR_EFFECT_DATA_HXX
00018 #define SIMGEAR_EFFECT_DATA_HXX 1
00019
00020 #include <osg/Vec4f>
00021
00022 #include "EffectElement.hxx"
00023 #include "EffectElementBuilder.hxx"
00024
00025 namespace simgear
00026 {
00027 class ParamaterContext;
00028
00029 template<typename T>
00030 class EffectData : public EffectElement
00031 {
00032 public:
00033 EffectData() {}
00034 EffectData(const EffectData& rhs) _value(rhs._value) {}
00035 virtual ~EffectData() {}
00036 T getValue(const ParameterContext*) const {return _value};
00037 void setValue(const T& value) { _value = value; }
00038 private:
00039 T _value;
00040 };
00041
00042 typedef EffectData<float> EffectFloat;
00043 typedef EffectData<osg::Vec4f> EffectVec4f;
00044
00045
00046 }
00047 #endif