MeVisLabToolboxReference
MeVisLab/Standard/Sources/Inventor/SoUtils/SoMLLUT.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //----------------------------------------------------------------------------------
00004 
00009 //----------------------------------------------------------------------------------
00010 
00011 #ifndef __SoMLLUT_H
00012 #define __SoMLLUT_H
00013 
00014 #ifndef __SoUtilsSystem_H
00015 #include "SoUtilsSystem.h"
00016 #endif
00017 #ifndef __mlLUTFunction_H
00018 #include "mlLUTFunction.h"
00019 #endif
00020 #ifndef __SoSFMLBase_H
00021 #include "SoSFMLBase.h"
00022 #endif
00023 #ifndef _SO_SF_BOOL_
00024 #include "SoSFBool.h"
00025 #endif
00026 
00027 //----------------------------------------------------------------------------------
00029 //----------------------------------------------------------------------------------
00030 class SOUTILS_EXPORT SoMLLUT : public SoNode {
00031 
00033   SO_NODE_HEADER(SoMLLUT);
00034 
00035 public:
00036 
00038   static void   initClass();
00039 
00041   SoMLLUT();
00042   
00044   ml::LUTFunction *getLut();
00045 
00047   SoSFMLBase      inLUT;
00048 
00049   SoSFBool        acceptExtensions;
00050 
00051 protected:
00053   virtual         ~SoMLLUT();
00054 
00056 
00057   virtual void     GLRender(SoGLRenderAction *action);
00058   virtual void     callback(SoCallbackAction *action);
00059   virtual void     handleEvent(SoHandleEventAction *action);
00060   virtual void     rayPick(SoRayPickAction *action);
00061   virtual void     doAction(SoAction *action);
00063 
00064   void changeLUT(SoAction *action);
00065 
00066 private:
00067   ml::LUTFunction* outLUT;
00068 };
00069 
00070 #endif