MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00004 00009 //---------------------------------------------------------------------------------- 00010 00011 #ifndef __SoMLLUTElement_H 00012 #define __SoMLLUTElement_H 00013 00014 #ifndef __SoUtilsSystem_H 00015 #include "SoUtilsSystem.h" 00016 #endif 00017 #include <Inventor/elements/SoReplacedElement.h> 00018 00019 class SoMLLUT; 00020 00021 ML_START_NAMESPACE 00022 00023 class LUTFunction; 00024 00025 ML_END_NAMESPACE 00026 00027 //---------------------------------------------------------------------------------- 00029 //---------------------------------------------------------------------------------- 00030 class SOUTILS_EXPORT SoMLLUTElement : public SoReplacedElement { 00031 00032 SO_ELEMENT_HEADER(SoMLLUTElement); 00033 00034 public: 00036 virtual void init(SoState *state); 00037 00039 static void set(SoState *state, SoNode *node, SoMLLUT *lutNode); 00040 00043 static SoMLLUT *get(SoState *state); 00044 00047 static ml::LUTFunction *getLut(SoState *state); 00048 00050 static const SoMLLUTElement * getInstance(SoState *state); 00051 00053 virtual SbBool matches(const SoElement *elt) const; 00054 00057 virtual SoElement *copyMatchInfo() const; 00058 00060 virtual void print(FILE *fp) const; 00061 00062 SoINTERNAL public: 00064 static void initClass(); 00065 00066 protected: 00068 SoMLLUT *data; 00069 00071 virtual ~SoMLLUTElement() {} 00072 }; 00073 00074 #endif