MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 00006 00007 00008 #ifndef _SO_UNIFORM_SHADER_PARAMETER_ELEMENT_ 00009 #define _SO_UNIFORM_SHADER_PARAMETER_ELEMENT_ 00010 00011 #include "SoShaderSystem.h" 00012 #include <Inventor/elements/SoAccumulatedElement.h> 00013 #include <Inventor/SoLists.h> 00014 00015 class SoUniformShaderParameter; 00016 00018 class INVENTOR_SHADER_API SoUniformShaderParameterElement : public SoAccumulatedElement 00019 { 00020 typedef SoAccumulatedElement inherited; 00021 00022 SO_ELEMENT_HEADER(SoUniformShaderParameterElement); 00023 00024 public: 00025 00027 virtual void init(SoState *state); 00028 00030 static void add(SoState *state, SoUniformShaderParameter *shaderParameter); 00031 00033 static void set(SoState *state, SoUniformShaderParameter *shaderParameter); 00034 00036 static void clear(SoState *state, SoNode *node); 00037 00039 static const SoNodeList &get(SoState *state); 00040 00042 virtual void push(SoState *state); 00043 00044 SoINTERNAL public: 00045 00047 static void initClass(); 00048 00049 protected: 00050 00052 SoNodeList _shaderParameters; 00053 }; 00054 00055 #endif // _SO_UNIFORM_SHADER_PARAMETER_ELEMENT_