#ifndef MANUAL_CONTOUR_H #define MANUAL_CONTOUR_H //-- /* // EEDxx include #include #include "vtkActor.h" #include "vtkPoints.h" #include "vtkImageViewer2.h" #include "vtkImageData.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 "widgets/wxVTKRenderWindowInteractor.h" //-- #include #include "widgets/wxVtkBaseView.h" #include "marTypes.h" // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- class manualPoint{ public: manualPoint(); virtual ~manualPoint(); void SetPoint(double x,double y,double z); void SetPointX(double x); void SetPointY(double y); void SetPointZ(double z); double GetX(); double GetY(); double GetZ(); virtual manualPoint * Clone(); private: double _x; double _y; double _z; }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- class MARACASVISULIB_EXPORTS manualContourModel{ public: manualContourModel(); virtual ~manualContourModel(); virtual manualContourModel * Clone(); void CopyAttributesTo( manualContourModel *cloneObject ); virtual void Open(FILE *ff); // virtual virtual void Save(FILE *ff); // virtual virtual int GetTypeModel(); // virtual int AddPoint(double x,double y,double z); int InsertPoint(double x,double y,double z); //JSTG 25-04-08 ------------------------------------------------------- void InsertPoint_id(int id, double x,double y,double z); //--------------------------------------------------------------------- void AddManualPoint( manualPoint* theManualPoint ); void DeletePoint(int i); void DeleteAllPoints(); void MovePoint(int i,double dx,double dy,double dz); void MoveLstPoints(double dx,double dy,double dz); void MoveAllPoints(double dx,double dy,double dz); int GetIdPoint(double x, double y, double z, int i_range,int type); manualPoint* GetManualPoint(int id); int GetSizeLstPoints(); int GetNumberOfPointsSpline(); void SetNumberOfPointsSpline(int size); virtual void UpdateSpline(); void SetCloseContour(bool closeContour); bool IfCloseContour(); //JSTG 25-02-08 ----------------------------------------------------------------- //void GetSplinePoint(double t, double &x, double &y, double &z); //Method Original //void GetSplineiPoint(int i, double &x, double &y, double &z); //Method Original //------------------------------------------------------------------------------- double GetPathSize(); double GetPathArea(); void GetNearestPointAndNormal(double *p, double *rp, double *rn); // JSTG 25-02-08 ----------------------------------------------------------------- virtual void GetSpline_i_Point(int i, double *x, double *y, double *z); void GetSpline_t_Point(double t, double *x, double *y, double *z); //-------------------------------------------------------------------------------- virtual std::vector ExploseModel( ); private: int _sizePointsContour; std::vector _lstPoints; bool _closeContour; vtkKochanekSpline *_cntSplineX; vtkKochanekSpline *_cntSplineY; vtkKochanekSpline *_cntSplineZ; //JSTG 25-02-08 ---------------------------------------- double _delta_JSTG; //------------------------------------------------------ }; //-------------------------------------------------------- class MARACASVISULIB_EXPORTS manualContourModelCircle : public manualContourModel { public: manualContourModelCircle(); virtual ~manualContourModelCircle(); virtual manualContourModelCircle *Clone(); void CopyAttributesTo( manualContourModelCircle *cloneObject); virtual void GetSpline_i_Point(int i, double *x, double *y, double *z); private: double _deltaAngle; double _radio; double _centerX; double _centerY; double _centerZ; virtual int GetTypeModel(); virtual void UpdateSpline(); }; class manualContourModelBullEyeSector : public manualContourModel { public: manualContourModelBullEyeSector(); virtual ~manualContourModelBullEyeSector(); virtual manualContourModelBullEyeSector *Clone(); void CopyAttributesTo( manualContourModelBullEyeSector *cloneObject); void SetSector( double radioA, double radioB, double ang, double angDelta); void GetSector( double *radioA, double *radioB, double *ang, double *angDelta); void SetSize(double ww,double hh); void SetCenter(double cx,double cy); virtual void GetSpline_i_Point(int i, double *x, double *y, double *z); virtual void Save(FILE *ff); virtual void Open(FILE *ff); private: double _radioA; double _radioB; double _ang; double _angDelta; double _ww; double _hh; double _cx; double _cy; virtual int GetTypeModel(); }; //-------------------------------------------------------- //eed004 class MARACASVISULIB_EXPORTS manualContourModelBullEye : public manualContourModel { public: manualContourModelBullEye(); virtual ~manualContourModelBullEye(); virtual manualContourModelBullEye *Clone(); void CopyAttributesTo( manualContourModelBullEye *cloneObject); virtual void Save(FILE *ff); virtual void Open(FILE *ff); int GetNumberOfPointsSplineSectorBulleEje(); void SetNumberOfPointsSplineSectorBulleEje(int); void AddSector( double radioA, double radioB, double ang, double angDelta); void GetSector( int id, double *radioA, double *radioB, double *ang, double *angDelta); manualContourModelBullEyeSector * GetModelSector(int id); void ResetSectors(); int GetSizeOfSectorLst(); virtual void UpdateSpline(); // virtual virtual std::vector ExploseModel( ); private: int _numberPointsSlineBySector; std::vector _lstModelBullEyeSector; /* Borrame Eduardo std::vector _lstRadioA; std::vector _lstRadioB; std::vector _lstAng; std::vector _lstAngDelta; */ virtual int GetTypeModel(); }; //-------------------------------------------------------- //JSTG 25-02-08 ------------------------------------------ class MARACASVISULIB_EXPORTS manualContourModelRoi : public manualContourModel { public: manualContourModelRoi(); virtual ~manualContourModelRoi(); virtual manualContourModelRoi *Clone(); void CopyAttributesTo( manualContourModelRoi *cloneObject); private: virtual int GetTypeModel(); }; //-------------------------------------------------------- class manualViewPoint{ public: // static int range; manualViewPoint(wxVtkBaseView *wxvtkbaseview); ~manualViewPoint(); void SetSelected(bool selected); void SetPosibleSelected(bool posibleSelected); bool GetSelected(); bool GetPosibleSelected(); void DeleteVtkObjects(); vtkActor* CreateVtkPointActor(); void SetPositionXY(double x, double y, double range, double posZ); vtkActor* GetVtkActor(); void UpdateColorActor(); void GetSpacing(double spc[3]); void SetSpacing(double spc[3]); void SetWidthLine( double width); private: bool _selected; bool _posibleSelected; vtkPoints *_pts; vtkPolyData *_pd; vtkActor *_pointVtkActor; vtkPolyDataMapper *_bboxMapper; wxVtkBaseView *_wxvtkbaseview; double _widthline; protected: double _spc[3]; }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- class MARACASVISULIB_EXPORTS manualViewBaseContour{ public: manualViewBaseContour(); virtual ~manualViewBaseContour(); virtual int GetType(); virtual void Save(FILE *pFile); virtual void Open(FILE *pFile); void AddPoint(); void AddPoint( manualViewPoint * manualViewPoint ); void InsertPoint(int id); void DeleteContour(); void DeletePoint(int x, int y,int z); virtual void DeletePoint(int id); virtual void UpdateViewPoint(int id); virtual void UpdateViewPoints(); void SetSelected(bool selected); void SetPosibleSelected(bool posibleSelected); bool GetSelected(); bool GetPosibleSelected(); void DeleteSelectedPoints(); bool GetEditable(); void SetEditable( bool * condition ); virtual int GetIdPoint(int x, int y, int z); void SelectPoint(int i,bool select); void SelectLstPoints(); void SelectAllPoints(bool select); virtual int SelectPosiblePoint(int x, int y ,int z); bool SelectPosibleContour(int x, int y ,int z); void SelectAllPossibleSelected(bool select); void SetPointSelected(int id,bool select); void SetPointPosibleSelected(int id,bool select); void SetIfViewControlPoints(bool ifShow); bool GetIfViewControlPoints(); void UnSelectPoint(int i); void UnSelectLstPoints(); void UnSelectAllPoints(); void SetModel(manualContourModel *manContModel); void SetWxVtkBaseView(wxVtkBaseView *wxvtkbaseview); virtual void Refresh(); int GetNumberOfPoints(); // ??? //int GetNumberOfPointsSpline(); //JSTG 25-02-08 In ContourModel is the same method //void SetNumberOfPointsSpline(int size); //JSTG 25-02-08 In ContourModel is the same method void CreateNewContour(); double* GetVectorPointsXManualContour(); double* GetVectorPointsYManualContour(); double* GetVectorPointsZManualContour(); virtual bool ifTouchContour(int x,int y, int z); void UpdateColorActor(); void SetRange(int range); int GetRange(); void SetZ(int z); int GetZ(); wxVtkBaseView *GetWxVtkBaseView(); virtual void InitMove(int x, int y, int z); virtual void MoveContour(int x, int y, int z); virtual void MoveContour(int horizontalUnits, int verticalUnits ); virtual void GetMinMax( double &minX,double &minY, double &minZ, double &maxX, double &maxY, double &maxZ ); virtual void TransfromeCoordViewWorld(double &X, double &Y, double &Z, int type=2); void ClearContour(); virtual void ClearPoint(int id); void SetVisible(bool ok); void SetShowText(bool ok); void GetSpacing(double spc[3]); void SetSpacing(double spc[3]); void SetColorNormalContour(double r, double g, double b); void GetColorNormalContour(double &r, double &g, double &b); void SetColorEditContour(double r, double g, double b); void GetColorEditContour(double &r, double &g, double &b); void SetColorSelectContour(double r, double g, double b); void GetColorSelectContour(double &r, double &g, double &b); //Addinging and removing from visualization specific actors included in the viewer contour void AddCompleteContourActor( bool ifControlPoints = false); void RemoveCompleteContourActor(); virtual void AddSplineActor(); virtual void RemoveSplineActor(); void AddControlPoints(); void RemoveControlPoints(); void AddTextActor(); void RemoveTextActor(); virtual manualViewBaseContour * Clone(); void CopyAttributesTo( manualViewBaseContour *cloneObject ); virtual void RefreshContour(); void SetWidthLine(double width); double GetWidthLine(); virtual void ConstructVTKObjects(); private: int _range; wxVtkBaseView *_wxvtkbaseview; bool _selected; bool *_editable; bool _posibleSelected; bool _viewControlPoints; vtkPolyData *_pd; vtkActor *_contourVtkActor; vtkPolyDataMapper *_bboxMapper; double _coulorEdit_r; double _coulorEdit_g; double _coulorEdit_b; double _coulorNormal_r; double _coulorNormal_g; double _coulorNormal_b; double _coulorSelection_r; double _coulorSelection_g; double _coulorSelection_b; double _widthline; void DeleteVtkObjects(); virtual void RefreshText(); protected: // text bool _show_text; int _id_viewPoint_for_text; vtkTextActor *_textActor; manualContourModel *_manContModel; vtkPoints *_pts; // JSTG 25-02-08 -------------------------------------------- int _sizePointsContour; //----------------------------------------------------------- std::vector _lstViewPoints; double _spc[3]; }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- class MARACASVISULIB_EXPORTS manualViewContour: public manualViewBaseContour { public: manualViewContour(); virtual ~manualViewContour(); virtual manualViewContour * Clone(); void CopyAttributesTo( manualViewContour *cloneObject ); virtual int GetType(); virtual void Save(FILE *pFile); virtual void Open(FILE *pFile); virtual void RefreshContour(); virtual bool ifTouchContour(int x,int y, int z); virtual void InitMove(int x, int y, int z); virtual void MoveContour(int x, int y, int z); virtual void MoveContour(int horizontalUnits, int verticalUnits ); virtual void DeletePoint(int id); virtual void ClearPoint(int id); void SetMesureScale(double mesureScale); private: double _mesureScale; std::vector< std::vector > _initialMovingPoints; manualContourModel * _initialConoturModel; virtual void RefreshText(); protected: }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- class manualView3VContour: public manualViewContour { public: manualView3VContour(int type); virtual ~manualView3VContour(); virtual manualView3VContour * Clone(); void CopyAttributesTo( manualView3VContour *cloneObject ); virtual void RefreshContour(); virtual int GetIdPoint(int x, int y, int z); virtual void UpdateViewPoint(int id); virtual bool ifTouchContour(int x,int y,int z); int GetType(); protected: private: int _type; void FilterCordinateXYZ(double &x,double &y,double &z); // JSTG 25-02-08 ------------------------------------- //manualContourModel *_manContModel; //---------------------------------------------------- }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- class manualView3DContour: public manualViewContour { public: manualView3DContour(); virtual ~manualView3DContour(); virtual manualView3DContour * Clone(); void CopyAttributesTo( manualView3DContour *cloneObject ); virtual void TransfromeCoordViewWorld(double &X, double &Y, double &Z, int type); void SetVtkMPRBaseData(vtkMPRBaseData *vtkmprbasedata); virtual int SelectPosiblePoint ( int x, int y, int z ); void SetDimensions(int w, int h, int d); int GetIdPoint2(int x, int y); protected: vtkMPRBaseData *_vtkmprbasedata; private: int _w; int _h; int _d; }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- class MARACASVISULIB_EXPORTS manualViewRoi: public manualViewBaseContour { public: manualViewRoi(); virtual ~manualViewRoi(); virtual int GetType(); virtual manualViewRoi * Clone(); void CopyAttributesTo( manualViewRoi *cloneObject ); virtual void RefreshContour(); virtual bool ifTouchContour(int x,int y, int z); virtual void InitMove(int x, int y, int z); virtual void MoveContour(int x, int y, int z); void GetMinMax(double &minX,double &minY, double &maxX, double &maxY); private: double _dp0[3]; double _dp1[3]; double _dp2[3]; double _dp3[3]; }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- class MARACASVISULIB_EXPORTS manualViewBullEyeSector: public manualViewBaseContour { public: manualViewBullEyeSector(); virtual void RefreshContour(); }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- //EED004 class MARACASVISULIB_EXPORTS manualViewBullEye: public manualViewRoi { public: manualViewBullEye(); virtual ~manualViewBullEye(); virtual int GetType(); virtual manualViewBullEye * Clone(); void CopyAttributesTo( manualViewBullEye *cloneObject ); // void UpdateColorActorBullEye(); // void DeleteVtkObjectsBullEye(); virtual void RemoveSplineActor(); virtual void AddSplineActor(); virtual void ConstructVTKObjects(); virtual void RefreshContour(); private: /*EED Borrame std::vector lstSectorBullEye; */ std::vector lstSectorBullEye; }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // EED08 class MARACASVISULIB_EXPORTS manualViewCircle: public manualViewContour { public: manualViewCircle(); virtual ~manualViewCircle(); virtual int GetType(); virtual manualViewCircle * Clone(); void CopyAttributesTo( manualViewCircle *cloneObject ); // void RefreshContour(); // virtual bool ifTouchContour(int x,int y, int z); virtual void InitMove(int x, int y, int z); virtual void MoveContour(int x, int y, int z); void GetMinMax(double &minX,double &minY, double &maxX, double &maxY); private: double _dp0[3]; double _dp1[3]; // double _dp2[3]; // double _dp3[3]; }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- class MARACASVISULIB_EXPORTS 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; }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- class MARACASVISULIB_EXPORTS manualContourControler: public manualContourBaseControler { public: manualContourControler(); virtual ~manualContourControler(); virtual manualContourControler * Clone(); void CopyAttributesTo( manualContourControler *cloneObject ); virtual void MouseClickLeft(int x, int y); virtual void MouseMove(int x, int y); virtual void MouseDLeft( int x, int y); void SetEasyCreation(bool easyCreation); bool GetEasyCreation(); virtual void Configure(); protected: int _bakIdPoint; private: bool _easyCreation; }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- class MARACASVISULIB_EXPORTS manualContour3VControler: public manualContourControler { public: manualContour3VControler(int type); virtual ~manualContour3VControler(); virtual manualContour3VControler * Clone(); void CopyAttributesTo( manualContour3VControler *cloneObject ); virtual bool OnChar(); virtual void AddPoint(int x, int y, int z); virtual void InsertPoint(int x, int y, int z); virtual void MouseMove(int x, int y); virtual void ResetContour(); void AddManualViewBaseContour( manualViewBaseContour *manViewBaseCont ); vtkMPRBaseData *GetVtkMPRBaseData(); void SetVtkMPRBaseData (vtkMPRBaseData *vtkmprbasedata ); virtual void SetPoint( int id ,int x ,int y ,int z ); virtual void DeleteActualMousePoint(int x, int y); void AddPoint_Others(); void DeleteActualMousePoint_Others(int id); void MouseMove_Others(int id); void InsertPoint_Others(int id); void OnChar_Others(); void ResetContour_Others(); int GetType(); private: int _type; vtkMPRBaseData *_vtkmprbasedata; std::vector< manualViewBaseContour* > _lstManualViewBaseContour; }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- class MARACASVISULIB_EXPORTS manualContour3DControler: public manualContourControler { public: manualContour3DControler(); virtual ~manualContour3DControler(); virtual manualContour3DControler * Clone(); void CopyAttributesTo( manualContour3DControler *cloneObject ); virtual bool OnLeftButtonDown(); virtual bool OnChar(); virtual void InsertPoint(int x, int y, int z); virtual void MouseClickLeft(int x, int y); void ResetOrientationPlane(); vtkMPRBaseData *GetVtkMPRBaseData(); void SetVtkMPRBaseData (vtkMPRBaseData *vtkmprbasedata ); protected: private: vtkMPRBaseData *_vtkmprbasedata; }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- class MARACASVISULIB_EXPORTS manualContour3V3DControler: public manualContour3DControler { public: manualContour3V3DControler(); virtual ~manualContour3V3DControler(); virtual manualContour3V3DControler * Clone(); void CopyAttributesTo( manualContour3V3DControler *cloneObject ); void SetManualContour3VControler(manualContour3VControler *manualcontour3Vcontroler); manualContour3VControler *GetManualContour3VControler(); virtual bool OnChar(); virtual void AddPoint( int x, int y, int z ); virtual void DeleteActualMousePoint(int x, int y); virtual void MouseMove(int x, int y); virtual void InsertPoint(int x, int y, int z); virtual void ResetContour(); protected: private: manualContour3VControler *_manualcontour3Vcontroler; }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- class MARACASVISULIB_EXPORTS manualContourPerpPlaneControler: public manualContourControler { public: manualContourPerpPlaneControler(); virtual ~manualContourPerpPlaneControler(); virtual manualContourPerpPlaneControler * Clone(); void CopyAttributesTo( manualContourPerpPlaneControler *cloneObject ); void SetVtkMPRBaseData(vtkMPRBaseData *vtkmprbasedata); vtkMPRBaseData *GetVtkMPRBaseData(); virtual bool OnChar(); virtual bool OnMouseMove(); virtual bool OnLeftDClick(); virtual void AddPoint( int x, int y, int z ); virtual void DeleteActualMousePoint(int x, int y); virtual void MouseMove(int x, int y); virtual void InsertPoint(int x, int y, int z); virtual void ResetContour(); void SetManualContour3VControler(manualContour3VControler *manualcontour3Vcontroler); manualContour3VControler *GetManualContour3VControler(); virtual void MouseDLeft( int x, int y); void ResetOrientationPlane(); void SetVtkInteractorStylePlane2D(InteractorStyleMaracas *vtkinteractorstyleplane2D); InteractorStyleMaracas * GetVtkInteractorStylePlane2D(); private: bool _flagMouseMove; bool _flagMouseDClick; InteractorStyleMaracas *_vtkinteractorstyleplane2D; protected: vtkMPRBaseData *_vtkmprbasedata; manualContour3VControler *_manualcontour3Vcontroler; }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- class MARACASVISULIB_EXPORTS manualRoiControler: public manualContourBaseControler { public: manualRoiControler(); virtual ~manualRoiControler(); virtual manualRoiControler * Clone(); void CopyAttributesTo( manualRoiControler *cloneObject ); virtual void MouseClickLeft(int x, int y); virtual void MouseMove(int x, int y ); virtual void DeleteActualMousePoint(int x, int y); void InitRoi(int ww, int hh, double porcentage); void SetRoi(int x1, int y1,int x2, int y2); virtual void Configure(); private: int bakIdPoint; }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // EED08 class MARACASVISULIB_EXPORTS manualCircleControler: public manualContourControler { public: manualCircleControler(); virtual ~manualCircleControler(); virtual manualCircleControler * Clone(); void CopyAttributesTo( manualCircleControler *cloneObject ); virtual void MouseClickLeft(int x, int y); virtual void MouseMove(int x, int y ); virtual void DeleteActualMousePoint(int x, int y); void InitRoi(int ww, int hh, double porcentage); // void SetRoi(int x1, int y1,int x2, int y2); virtual void Configure(); private: int bakIdPoint; }; #endif // MANUAL_CONTOUR_H