MeVisLabToolboxReference
MeVisLab/Standard/Sources/Inventor/SoCSO/SoView2DCSOEditor/SoView2DCSOExtensibleEditor/CSOActions/CSOInsertSeedPointIntoPathPointListAction.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //----------------------------------------------------------------------------------
00004 
00009 //----------------------------------------------------------------------------------
00010 
00011 
00012 #ifndef __CSOInsertSeedPointIntoPathPointListAction_H
00013 #define __CSOInsertSeedPointIntoPathPointListAction_H
00014 
00015 
00016 #include <SoPointingAction.h>
00017 
00018 class SoView2DCSOExtensibleEditor;
00019 
00021 
00022 class CSOInsertSeedPointIntoPathPointListAction : public SoPointingAction
00023 {
00024 public:
00025 
00026   CSOInsertSeedPointIntoPathPointListAction(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 
00037   inline void setInteractOnlyWithSelectedCSO(bool flag) { _interactOnlyWithSelectedCSOs = flag; }
00038 
00039 protected:
00040 
00041   void initializeMembers();
00042 
00043   SoView2DCSOExtensibleEditor* _editor;
00044 
00045   ml::CSOList*          _hitCSOList;
00046   ml::CSO*              _hitCSO;
00047   ml::CSOSeedPoint*     _hitSeedPoint;
00048   ml::CSOPathPoints*    _hitPathPoints;
00049   SoCSOEditorExtension* _hitEditor;
00050   float                 _hitDistance;
00051 
00052   bool _interactOnlyWithSelectedCSOs;
00053 
00054   int _cursorShape;
00055 };
00056 
00058 
00059 #endif // __CSOInsertSeedPointIntoPathPointListAction_H