MeVisLabToolboxReference
MeVisLab/Standard/Sources/Inventor/SoCSO/SoView2DCSOEditor/SoView2DCSOExtensibleEditor/SoCSOGeneralRendererEditorExtension.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //----------------------------------------------------------------------------------
00004 
00009 //----------------------------------------------------------------------------------
00010 
00011 
00012 #ifndef __SoCSOGeneralRendererEditorExtension_H
00013 #define __SoCSOGeneralRendererEditorExtension_H
00014 
00015 #include "SoCSOEditorExtension.h"
00016 
00017 
00019 
00020 namespace ml 
00021 {
00022   class CSOList;
00023   class CSO;
00024 };
00025 
00026 class SoView2DCSOExtensibleEditor;
00027 
00029 
00031 class SOCSO_EXPORT SoCSOGeneralRendererEditorExtension : public SoCSOEditorExtension
00032 {
00033   SO_NODE_ABSTRACT_HEADER(SoCSOGeneralRendererEditorExtension);
00034 
00035 public: 
00036 
00038   static void initClass();
00039 
00040   virtual void draw(const CSODrawCSOInfos& , const CSODrawView2DInfos& , SoView2DCSOExtensibleEditor* ) = 0;
00041 
00042   virtual void createStartPressAt(const SoPointerPosition& ) {}
00043   virtual void createDragMoveTo(const SoPointerPosition& ) {}
00044   // returns whether to continue with this action
00045   virtual bool createEndPress(int ) { return false; }
00046 
00047   virtual void selectAndMoveStartPressAt(const SoPointerPosition& ) {}
00048   virtual void selectAndMoveDragMoveTo(const SoPointerPosition& ) {}
00049   virtual SoPointingAction* selectAndMoveEndPress(int ) { return NULL; }
00050 
00051   SoSFEnum colorMode;
00052   SoSFColor generalColor;
00053   SoSFFloat generalAlpha;
00054 
00055 protected:
00056 
00058   SoCSOGeneralRendererEditorExtension();
00059   
00060   void glSetColor(ml::CSO* cso);
00061 };
00062 
00063 #endif // __SoCSOGeneralRendererEditorExtension_H