MeVisLabToolboxReference
|
00001 #ifndef __SoMLLUTExtensionElement_H 00002 #define __SoMLLUTExtensionElement_H 00003 // **InsertLicense** code 00004 //----------------------------------------------------------------------------- 00007 00014 // $Id: SoMLLUTExtensionElement.h 43098 2006-09-08 11:51:51Z burgmann $ 00015 // $Source$ 00016 //---------------------------------------------------------------------------------- 00017 00018 //--------- disable VC++ warnings--------- 00019 #ifdef WIN32 00020 #pragma warning (disable : 4355) 00021 #pragma warning (disable : 4275) 00022 #pragma warning (disable : 4251) 00023 #pragma warning (disable : 4138) 00024 #pragma warning (disable : 4800) 00025 #endif 00026 00027 #include "SoUtilsSystem.h" 00028 00029 #include "XVEnterScope.h" 00030 #include <Inventor/elements/SoReplacedElement.h> 00031 #include <Inventor/SoLists.h> 00032 #include "XVLeaveScope.h" 00033 00034 class SoMLLUTExtension; 00035 00036 //============================================================= 00042 //============================================================= 00043 SoEXTENDER class SOUTILS_EXPORT SoMLLUTExtensionElement : public SoReplacedElement { 00044 00045 SO_ELEMENT_HEADER(SoMLLUTExtensionElement); 00046 00047 public: 00048 virtual void init(SoState *state); 00049 00050 void pop(SoState *state, const SoElement *prevTopElement); 00051 void push(SoState* aState); 00052 void clearList(); 00053 00055 static void set(SoState *state, SoNode *node, SoMLLUTExtension *newPrimitive); 00056 00058 static const SoNodeList* get(SoState *state); 00059 00061 static const SoMLLUTExtensionElement * getInstance(SoState *state); 00062 00063 virtual SbBool matches(const SoElement *elt) const; 00064 00065 virtual SoElement *copyMatchInfo() const; 00066 00067 virtual void print(FILE *fp) const; 00068 00069 SoINTERNAL public: 00071 static void initClass(); 00072 00073 protected: 00074 virtual ~SoMLLUTExtensionElement() {} 00075 00076 SoNodeList _data; 00077 }; 00078 00079 #endif 00080