MeVisLabToolboxReference
MeVisLab/Standard/Sources/Inventor/SoCSO/SoView2DCSOEditor/SoView2DCSOExtensibleEditor/CSOActions/CSOTransformAction.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //----------------------------------------------------------------------------------
00004 
00009 //----------------------------------------------------------------------------------
00010 
00011 
00012 #ifndef __CSOTransformAction_H
00013 #define __CSOTransformAction_H
00014 
00015 
00016 #include <SoPointingAction.h>
00017 
00018 class SoView2DCSOExtensibleEditor;
00019 class SoCSOTransformEditor;
00020 
00021 ML_START_NAMESPACE
00022 class CSO;
00023 class CSOList;
00024 ML_END_NAMESPACE
00025 
00027 
00028 class CSOTransformAction : public SoPointingAction
00029 {
00030 public:
00031 
00032   CSOTransformAction(SoView2DCSOExtensibleEditor* editor);
00033 
00034   virtual bool isSensitiveAt(const SoPointerPosition& pos);
00035   virtual void startPressAt(const SoPointerPosition& pos); 
00036   virtual void dragMoveTo(const SoPointerPosition& pos);
00037   virtual SoPointingAction* endPress(int clickCount);
00038   virtual int getCurrentCursor(SoViewerProxy* ) const;
00039 
00040 protected:
00041 
00042   void initializeMembers();
00043 
00044   bool isEligibleForPicking(SoCSOTransformEditor* editor) const;
00045 
00046   SoView2DCSOExtensibleEditor* _editor;
00047   
00048   ml::CSO* _activeCSO;
00049   ml::CSOList* _activeCSOList;
00050   SoCSOTransformEditor* _transformEditor;
00051 
00052   int _cursorShape;
00053 };
00054 
00056 
00057 #endif // __CSOTransformAction_H
00058