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