MeVisLabToolboxReference
MeVisLab/Standard/Sources/Inventor/SoShader/Inventor/elements/SoUniformShaderParameterElement.h
Go to the documentation of this file.
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_