MeVisLabToolboxReference
MeVisLab/Standard/Sources/Inventor/SoUtils/SoMLLUTExtensionElement.h
Go to the documentation of this file.
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