MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00004 00009 //---------------------------------------------------------------------------------- 00010 00011 00012 #ifndef __CSOSelectAndMoveAction_H 00013 #define __CSOSelectAndMoveAction_H 00014 00015 00016 #include <SoPointingAction.h> 00017 00018 class SoView2DCSOExtensibleEditor; 00019 00021 00022 class CSOSelectAndMoveAction : public SoPointingAction 00023 { 00024 public: 00025 00026 CSOSelectAndMoveAction(SoView2DCSOExtensibleEditor* editor); 00027 00028 virtual bool isSensitiveAt(const SoPointerPosition& pos); 00029 00030 virtual void startPressAt(const SoPointerPosition& pos); 00031 virtual void dragMoveTo(const SoPointerPosition& pos); 00032 virtual SoPointingAction* endPress(int clickCount); 00033 00034 virtual int getCurrentCursor(SoViewerProxy* ) const; 00035 00038 inline void setInteractOnlyWithSelectedCSO(bool flag) { _interactOnlyWithSelectedCSOs = flag; } 00039 00040 virtual void setMode(int mode); 00041 virtual int getNumModes() const; 00042 00043 protected: 00044 00045 void initializeMembers(); 00046 00047 SoView2DCSOExtensibleEditor* _editor; 00048 00049 ml::CSOList* _hitCSOList; 00050 ml::CSO* _hitCSO; 00051 ml::CSOSeedPoint* _hitSeedPoint; 00052 ml::CSOPathPoints* _hitPathPoints; 00053 SoCSOEditorExtension* _hitEditor; 00054 float _hitDistance; 00055 00056 bool _interactOnlyWithSelectedCSOs; 00057 00058 int _cursorShape; 00059 }; 00060 00062 00063 #endif // __CSOSelectAndMoveAction_H 00064