#ifndef manualContourBaseControler_h #define manualContourBaseControler_h #include "vtkRenderWindow.h" #include "vtkRenderer.h" #include "vtkRenderWindowInteractor.h" //extremely important with VC++ don't remove ! #include "vtkCommand.h" #include "vtkPolyData.h" #include "vtkCellArray.h" #include "vtkPolyDataMapper.h" #include "vtkInteractorObserver.h" #include "vtkInteractorStyleImage.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //#include "widgets/UtilVtk3DGeometriSelection.h" #include "UtilVtk3DGeometriSelection.h" //#include "widgets/InteractorStyleMaracas.h" #include "InteractorStyleMaracas.h" #include "wxVTKRenderWindowInteractor.h" //-- #include #include "wxVtkBaseView.h" #include "marTypes.h" #include "manualContourModel.h" #include "manualViewBaseContour.h" // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- class creaMaracasVisu_EXPORT manualContourBaseControler: public InteractorStyleMaracas { public: manualContourBaseControler(); virtual ~manualContourBaseControler(); virtual manualContourBaseControler * Clone(); void CopyAttributesTo( manualContourBaseControler *cloneObject ); virtual bool OnChar(); virtual bool OnMouseMove(); virtual bool OnLeftButtonDown(); virtual bool OnLeftButtonUp(); virtual bool OnLeftDClick(); virtual bool OnMiddleButtonDown(); virtual bool OnMiddleButtonUp(); virtual bool OnRightButtonDown(); virtual bool OnRightButtonUp(); void SetModelView(manualContourModel *manContModel, manualViewBaseContour *manViewBaseCont); manualContourModel * GetManualContourModel(); manualViewBaseContour * GetManualViewBaseContour(); virtual void MouseClickLeft(int x, int y); virtual void MouseClickRight(int x, int y); virtual void MouseDLeft(int x, int y); virtual void MouseMove(int x, int y); virtual void MouseReleaseLeft(int x, int y); void SetState(int state); int GetState(); bool IsEditable(); void SetEditable( bool condition ); bool GetPosibleToMove(); void SetPosibleToMove( bool condition ); bool IsMoving(); void SetMoving( bool condition ); void SetCompleteCreation( bool condition ); bool GetIfCompleteCreation ( ); void SetKeyBoardMoving( bool condition ); bool GetKeyBoardMoving( ); void CreateNewManualContour(); int GetNumberOfPointsManualContour(); int GetNumberOfPointsSplineManualContour(); void DeleteContour(); virtual void DeleteActualMousePoint(int x, int y ); double* GetVectorPointsXManualContour(); double* GetVectorPointsYManualContour(); void SetZ(int z); virtual int GetZ(); virtual void AddPoint(int x, int y, int z); virtual void InsertPoint(int x, int y, int z); virtual void SetPoint( int id ,int x ,int y ,int z); void SetPointX( int id ,int x ); void SetPointY( int id ,int y ); void SetPointZ( int id ,int z ); void Magnet(int x, int y); virtual void ResetContour(); virtual void Configure(); //EED Borrame // virtual manualContourBaseControler * Clone( manualViewBaseContour * cloneView = NULL, manualContourModel * cloneModel = NULL ); private: manualViewBaseContour *_manViewBaseCont; manualContourModel *_manContModel; int _z; int _state; bool _editable; bool _posibleToMove; bool _moving; bool _created; bool _keyBoardMoving; }; #endif // manualContourBaseControler_h