2 #ifndef MANUAL_CONTOUR_H
3 #define MANUAL_CONTOUR_H
8 #include <vtkProperty.h>
10 #include "vtkPoints.h"
11 #include "vtkImageViewer2.h"
12 #include "vtkImageData.h"
15 #include "vtkRenderWindow.h"
17 #include "vtkRenderer.h"
18 #include "vtkRenderWindowInteractor.h" //extremely important with VC++ don't remove !
19 #include "vtkCommand.h"
20 #include "vtkPolyData.h"
21 #include "vtkCellArray.h"
22 #include "vtkPolyDataMapper.h"
23 #include "vtkInteractorObserver.h"
24 #include "vtkInteractorStyleImage.h"
25 #include <vtkKochanekSpline.h>
27 #include <vtkCellPicker.h>
30 #include <vtkCamera.h>
31 #include <vtkPolyLine.h>
32 #include <vtkDataSetMapper.h>
33 #include <vtkUnstructuredGrid.h>
35 #include "widgets/wxVTKRenderWindowInteractor.h"
43 #include "widgets/wxVtkBaseView.h"
47 // ----------------------------------------------------------------------------
48 // ----------------------------------------------------------------------------
49 // ----------------------------------------------------------------------------
56 virtual ~manualPoint();
57 void SetPoint(double x,double y,double z);
58 void SetPointX(double x);
59 void SetPointY(double y);
60 void SetPointZ(double z);
64 virtual manualPoint * Clone();
71 // ----------------------------------------------------------------------------
72 // ----------------------------------------------------------------------------
73 // ----------------------------------------------------------------------------
76 class MARACASVISULIB_EXPORTS manualContourModel{
79 virtual ~manualContourModel();
81 virtual manualContourModel * Clone();
82 void CopyAttributesTo( manualContourModel *cloneObject );
83 virtual void Open(FILE *ff); // virtual
84 virtual void Save(FILE *ff); // virtual
85 virtual int GetTypeModel(); // virtual
87 int AddPoint(double x,double y,double z);
88 int InsertPoint(double x,double y,double z);
89 //JSTG 25-04-08 -------------------------------------------------------
90 void InsertPoint_id(int id, double x,double y,double z);
91 //---------------------------------------------------------------------
92 void AddManualPoint( manualPoint* theManualPoint );
94 void DeletePoint(int i);
95 void DeleteAllPoints();
97 void MovePoint(int i,double dx,double dy,double dz);
98 void MoveLstPoints(double dx,double dy,double dz);
99 void MoveAllPoints(double dx,double dy,double dz);
101 int GetIdPoint(double x, double y, double z, int i_range,int type);
102 manualPoint* GetManualPoint(int id);
103 int GetSizeLstPoints();
104 int GetNumberOfPointsSpline();
105 void SetNumberOfPointsSpline(int size);
107 virtual void UpdateSpline();
108 void SetCloseContour(bool closeContour);
109 bool IfCloseContour();
110 //JSTG 25-02-08 -----------------------------------------------------------------
111 //void GetSplinePoint(double t, double &x, double &y, double &z); //Method Original
112 //void GetSplineiPoint(int i, double &x, double &y, double &z); //Method Original
113 //-------------------------------------------------------------------------------
114 double GetPathSize();
115 double GetPathArea();
117 void GetNearestPointAndNormal(double *p, double *rp, double *rn);
119 // JSTG 25-02-08 -----------------------------------------------------------------
120 virtual void GetSpline_i_Point(int i, double *x, double *y, double *z);
121 void GetSpline_t_Point(double t, double *x, double *y, double *z);
122 //--------------------------------------------------------------------------------
124 virtual std::vector<manualContourModel*> ExploseModel( );
128 int _sizePointsContour;
129 std::vector<manualPoint*> _lstPoints;
131 vtkKochanekSpline *_cntSplineX;
132 vtkKochanekSpline *_cntSplineY;
133 vtkKochanekSpline *_cntSplineZ;
135 //JSTG 25-02-08 ----------------------------------------
137 //------------------------------------------------------
142 //--------------------------------------------------------
144 class MARACASVISULIB_EXPORTS manualContourModelCircle : public manualContourModel
147 manualContourModelCircle();
148 virtual ~manualContourModelCircle();
149 virtual manualContourModelCircle *Clone();
150 void CopyAttributesTo( manualContourModelCircle *cloneObject);
151 virtual void GetSpline_i_Point(int i, double *x, double *y, double *z);
159 virtual int GetTypeModel();
160 virtual void UpdateSpline();
163 class manualContourModelBullEyeSector : public manualContourModel
166 manualContourModelBullEyeSector();
167 virtual ~manualContourModelBullEyeSector();
168 virtual manualContourModelBullEyeSector *Clone();
169 void CopyAttributesTo( manualContourModelBullEyeSector *cloneObject);
170 void SetSector( double radioA,
174 void GetSector( double *radioA,
178 void SetSize(double ww,double hh);
179 void SetCenter(double cx,double cy);
180 virtual void GetSpline_i_Point(int i, double *x, double *y, double *z);
181 virtual void Save(FILE *ff);
182 virtual void Open(FILE *ff);
194 virtual int GetTypeModel();
198 //--------------------------------------------------------
200 class MARACASVISULIB_EXPORTS manualContourModelBullEye : public manualContourModel
203 manualContourModelBullEye();
204 virtual ~manualContourModelBullEye();
205 virtual manualContourModelBullEye *Clone();
206 void CopyAttributesTo( manualContourModelBullEye *cloneObject);
207 virtual void Save(FILE *ff);
208 virtual void Open(FILE *ff);
210 int GetNumberOfPointsSplineSectorBulleEje();
211 void SetNumberOfPointsSplineSectorBulleEje(int);
212 void AddSector( double radioA,
216 void GetSector( int id,
221 manualContourModelBullEyeSector * GetModelSector(int id);
224 int GetSizeOfSectorLst();
225 virtual void UpdateSpline(); // virtual
226 virtual std::vector<manualContourModel*> ExploseModel( );
231 int _numberPointsSlineBySector;
232 std::vector<manualContourModelBullEyeSector *> _lstModelBullEyeSector;
235 std::vector<double> _lstRadioA;
236 std::vector<double> _lstRadioB;
237 std::vector<double> _lstAng;
238 std::vector<double> _lstAngDelta;
241 virtual int GetTypeModel();
246 //--------------------------------------------------------
248 //JSTG 25-02-08 ------------------------------------------
249 class MARACASVISULIB_EXPORTS manualContourModelRoi : public manualContourModel
252 manualContourModelRoi();
253 virtual ~manualContourModelRoi();
254 virtual manualContourModelRoi *Clone();
255 void CopyAttributesTo( manualContourModelRoi *cloneObject);
257 virtual int GetTypeModel();
259 //--------------------------------------------------------
262 class manualViewPoint{
267 manualViewPoint(wxVtkBaseView *wxvtkbaseview);
269 void SetSelected(bool selected);
270 void SetPosibleSelected(bool posibleSelected);
272 bool GetPosibleSelected();
273 void DeleteVtkObjects();
274 vtkActor* CreateVtkPointActor();
275 void SetPositionXY(double x, double y, double range, double posZ);
276 vtkActor* GetVtkActor();
277 void UpdateColorActor();
278 void GetSpacing(double spc[3]);
279 void SetSpacing(double spc[3]);
280 void SetWidthLine( double width);
285 bool _posibleSelected;
288 vtkActor *_pointVtkActor;
289 vtkPolyDataMapper *_bboxMapper;
290 wxVtkBaseView *_wxvtkbaseview;
296 // ----------------------------------------------------------------------------
297 // ----------------------------------------------------------------------------
298 // ----------------------------------------------------------------------------
301 class MARACASVISULIB_EXPORTS manualViewBaseContour{
303 manualViewBaseContour();
304 virtual ~manualViewBaseContour();
306 virtual int GetType();
307 virtual void Save(FILE *pFile);
308 virtual void Open(FILE *pFile);
311 void AddPoint( manualViewPoint * manualViewPoint );
312 void InsertPoint(int id);
313 void DeleteContour();
314 void DeletePoint(int x, int y,int z);
315 virtual void DeletePoint(int id);
317 virtual void UpdateViewPoint(int id);
318 virtual void UpdateViewPoints();
320 void SetSelected(bool selected);
321 void SetPosibleSelected(bool posibleSelected);
323 bool GetPosibleSelected();
324 void DeleteSelectedPoints();
326 void SetEditable( bool * condition );
330 virtual int GetIdPoint(int x, int y, int z);
332 void SelectPoint(int i,bool select);
333 void SelectLstPoints();
334 void SelectAllPoints(bool select);
335 virtual int SelectPosiblePoint(int x, int y ,int z);
336 bool SelectPosibleContour(int x, int y ,int z);
337 void SelectAllPossibleSelected(bool select);
338 void SetPointSelected(int id,bool select);
339 void SetPointPosibleSelected(int id,bool select);
340 void SetIfViewControlPoints(bool ifShow);
341 bool GetIfViewControlPoints();
343 void UnSelectPoint(int i);
344 void UnSelectLstPoints();
345 void UnSelectAllPoints();
347 void SetModel(manualContourModel *manContModel);
348 void SetWxVtkBaseView(wxVtkBaseView *wxvtkbaseview);
350 virtual void Refresh();
351 int GetNumberOfPoints(); // ???
352 //int GetNumberOfPointsSpline(); //JSTG 25-02-08 In ContourModel is the same method
353 //void SetNumberOfPointsSpline(int size); //JSTG 25-02-08 In ContourModel is the same method
355 void CreateNewContour();
356 double* GetVectorPointsXManualContour();
357 double* GetVectorPointsYManualContour();
358 double* GetVectorPointsZManualContour();
360 virtual bool ifTouchContour(int x,int y, int z);
361 void UpdateColorActor();
363 void SetRange(int range);
368 wxVtkBaseView *GetWxVtkBaseView();
370 virtual void InitMove(int x, int y, int z);
371 virtual void MoveContour(int x, int y, int z);
372 virtual void MoveContour(int horizontalUnits, int verticalUnits );
373 virtual void GetMinMax( double &minX,double &minY, double &minZ, double &maxX, double &maxY, double &maxZ );
374 virtual void TransfromeCoordViewWorld(double &X, double &Y, double &Z, int type=2);
377 virtual void ClearPoint(int id);
379 void SetVisible(bool ok);
380 void SetShowText(bool ok);
382 void GetSpacing(double spc[3]);
383 void SetSpacing(double spc[3]);
385 void SetColorNormalContour(double r, double g, double b);
386 void GetColorNormalContour(double &r, double &g, double &b);
387 void SetColorEditContour(double r, double g, double b);
388 void GetColorEditContour(double &r, double &g, double &b);
389 void SetColorSelectContour(double r, double g, double b);
390 void GetColorSelectContour(double &r, double &g, double &b);
392 //Addinging and removing from visualization specific actors included in the viewer contour
393 void AddCompleteContourActor( bool ifControlPoints = false);
394 void RemoveCompleteContourActor();
395 virtual void AddSplineActor();
396 virtual void RemoveSplineActor();
397 void AddControlPoints();
398 void RemoveControlPoints();
400 void RemoveTextActor();
402 virtual manualViewBaseContour * Clone();
403 void CopyAttributesTo( manualViewBaseContour *cloneObject );
404 virtual void RefreshContour();
405 void SetWidthLine(double width);
406 double GetWidthLine();
408 virtual void ConstructVTKObjects();
413 wxVtkBaseView *_wxvtkbaseview;
416 bool _posibleSelected;
417 bool _viewControlPoints;
421 vtkActor *_contourVtkActor;
422 vtkPolyDataMapper *_bboxMapper;
424 double _coulorEdit_r;
425 double _coulorEdit_g;
426 double _coulorEdit_b;
427 double _coulorNormal_r;
428 double _coulorNormal_g;
429 double _coulorNormal_b;
430 double _coulorSelection_r;
431 double _coulorSelection_g;
432 double _coulorSelection_b;
435 void DeleteVtkObjects();
436 virtual void RefreshText();
443 int _id_viewPoint_for_text;
444 vtkTextActor *_textActor;
445 manualContourModel *_manContModel;
447 // JSTG 25-02-08 --------------------------------------------
448 int _sizePointsContour;
449 //-----------------------------------------------------------
450 std::vector<manualViewPoint*> _lstViewPoints;
456 // ----------------------------------------------------------------------------
457 // ----------------------------------------------------------------------------
458 // ----------------------------------------------------------------------------
461 class MARACASVISULIB_EXPORTS manualViewContour: public manualViewBaseContour
465 virtual ~manualViewContour();
466 virtual manualViewContour * Clone();
467 void CopyAttributesTo( manualViewContour *cloneObject );
469 virtual int GetType();
470 virtual void Save(FILE *pFile);
471 virtual void Open(FILE *pFile);
474 virtual void RefreshContour();
475 virtual bool ifTouchContour(int x,int y, int z);
476 virtual void InitMove(int x, int y, int z);
477 virtual void MoveContour(int x, int y, int z);
478 virtual void MoveContour(int horizontalUnits, int verticalUnits );
479 virtual void DeletePoint(int id);
480 virtual void ClearPoint(int id);
481 void SetMesureScale(double mesureScale);
484 std::vector< std::vector<double> > _initialMovingPoints;
485 manualContourModel * _initialConoturModel;
487 virtual void RefreshText();
492 // ----------------------------------------------------------------------------
493 // ----------------------------------------------------------------------------
494 // ----------------------------------------------------------------------------
496 class manualView3VContour: public manualViewContour
499 manualView3VContour(int type);
500 virtual ~manualView3VContour();
501 virtual manualView3VContour * Clone();
502 void CopyAttributesTo( manualView3VContour *cloneObject );
504 virtual void RefreshContour();
505 virtual int GetIdPoint(int x, int y, int z);
506 virtual void UpdateViewPoint(int id);
507 virtual bool ifTouchContour(int x,int y,int z);
513 void FilterCordinateXYZ(double &x,double &y,double &z);
515 // JSTG 25-02-08 -------------------------------------
516 //manualContourModel *_manContModel;
517 //----------------------------------------------------
521 // ----------------------------------------------------------------------------
522 // ----------------------------------------------------------------------------
523 // ----------------------------------------------------------------------------
525 class manualView3DContour: public manualViewContour
528 manualView3DContour();
529 virtual ~manualView3DContour();
530 virtual manualView3DContour * Clone();
531 void CopyAttributesTo( manualView3DContour *cloneObject );
533 virtual void TransfromeCoordViewWorld(double &X, double &Y, double &Z, int type);
534 void SetVtkMPRBaseData(vtkMPRBaseData *vtkmprbasedata);
536 virtual int SelectPosiblePoint ( int x, int y, int z );
537 void SetDimensions(int w, int h, int d);
539 int GetIdPoint2(int x, int y);
542 vtkMPRBaseData *_vtkmprbasedata;
551 // ----------------------------------------------------------------------------
552 // ----------------------------------------------------------------------------
553 // ----------------------------------------------------------------------------
556 class MARACASVISULIB_EXPORTS manualViewRoi: public manualViewBaseContour
560 virtual ~manualViewRoi();
562 virtual int GetType();
563 virtual manualViewRoi * Clone();
564 void CopyAttributesTo( manualViewRoi *cloneObject );
566 virtual void RefreshContour();
567 virtual bool ifTouchContour(int x,int y, int z);
568 virtual void InitMove(int x, int y, int z);
569 virtual void MoveContour(int x, int y, int z);
570 void GetMinMax(double &minX,double &minY, double &maxX, double &maxY);
579 // ----------------------------------------------------------------------------
580 // ----------------------------------------------------------------------------
581 // ----------------------------------------------------------------------------
582 class MARACASVISULIB_EXPORTS manualViewBullEyeSector: public manualViewBaseContour
585 manualViewBullEyeSector();
586 virtual void RefreshContour();
591 // ----------------------------------------------------------------------------
592 // ----------------------------------------------------------------------------
593 // ----------------------------------------------------------------------------
595 class MARACASVISULIB_EXPORTS manualViewBullEye: public manualViewRoi
599 virtual ~manualViewBullEye();
601 virtual int GetType();
602 virtual manualViewBullEye * Clone();
603 void CopyAttributesTo( manualViewBullEye *cloneObject );
605 // void UpdateColorActorBullEye();
606 // void DeleteVtkObjectsBullEye();
607 virtual void RemoveSplineActor();
608 virtual void AddSplineActor();
609 virtual void ConstructVTKObjects();
610 virtual void RefreshContour();
615 std::vector<sectorBullEye* > lstSectorBullEye;
618 std::vector<manualViewBaseContour* > lstSectorBullEye;
623 // ----------------------------------------------------------------------------
624 // ----------------------------------------------------------------------------
625 // ----------------------------------------------------------------------------
628 class MARACASVISULIB_EXPORTS manualViewCircle: public manualViewContour
632 virtual ~manualViewCircle();
634 virtual int GetType();
635 virtual manualViewCircle * Clone();
636 void CopyAttributesTo( manualViewCircle *cloneObject );
638 // void RefreshContour();
639 // virtual bool ifTouchContour(int x,int y, int z);
640 virtual void InitMove(int x, int y, int z);
641 virtual void MoveContour(int x, int y, int z);
642 void GetMinMax(double &minX,double &minY, double &maxX, double &maxY);
653 // ----------------------------------------------------------------------------
654 // ----------------------------------------------------------------------------
655 // ----------------------------------------------------------------------------
658 class MARACASVISULIB_EXPORTS manualContourBaseControler: public InteractorStyleMaracas
661 manualContourBaseControler();
662 virtual ~manualContourBaseControler();
664 virtual manualContourBaseControler * Clone();
665 void CopyAttributesTo( manualContourBaseControler *cloneObject );
667 virtual bool OnChar();
668 virtual bool OnMouseMove();
669 virtual bool OnLeftButtonDown();
670 virtual bool OnLeftButtonUp();
671 virtual bool OnLeftDClick();
672 virtual bool OnMiddleButtonDown();
673 virtual bool OnMiddleButtonUp();
674 virtual bool OnRightButtonDown();
675 virtual bool OnRightButtonUp();
677 void SetModelView(manualContourModel *manContModel, manualViewBaseContour *manViewBaseCont);
678 manualContourModel * GetManualContourModel();
679 manualViewBaseContour * GetManualViewBaseContour();
682 virtual void MouseClickLeft(int x, int y);
683 virtual void MouseClickRight(int x, int y);
684 virtual void MouseDLeft(int x, int y);
686 virtual void MouseMove(int x, int y);
687 virtual void MouseReleaseLeft(int x, int y);
689 void SetState(int state);
692 void SetEditable( bool condition );
693 bool GetPosibleToMove();
694 void SetPosibleToMove( bool condition );
696 void SetMoving( bool condition );
697 void SetCompleteCreation( bool condition );
698 bool GetIfCompleteCreation ( );
699 void SetKeyBoardMoving( bool condition );
700 bool GetKeyBoardMoving( );
702 void CreateNewManualContour();
703 int GetNumberOfPointsManualContour();
704 int GetNumberOfPointsSplineManualContour();
705 void DeleteContour();
706 virtual void DeleteActualMousePoint(int x, int y );
707 double* GetVectorPointsXManualContour();
708 double* GetVectorPointsYManualContour();
714 virtual void AddPoint(int x, int y, int z);
715 virtual void InsertPoint(int x, int y, int z);
717 virtual void SetPoint( int id ,int x ,int y ,int z);
718 void SetPointX( int id ,int x );
719 void SetPointY( int id ,int y );
720 void SetPointZ( int id ,int z );
722 void Magnet(int x, int y);
723 virtual void ResetContour();
725 virtual void Configure();
729 // virtual manualContourBaseControler * Clone( manualViewBaseContour * cloneView = NULL, manualContourModel * cloneModel = NULL );
733 manualViewBaseContour *_manViewBaseCont;
734 manualContourModel *_manContModel;
742 bool _keyBoardMoving;
749 // ----------------------------------------------------------------------------
750 // ----------------------------------------------------------------------------
751 // ----------------------------------------------------------------------------
754 class MARACASVISULIB_EXPORTS manualContourControler: public manualContourBaseControler
757 manualContourControler();
758 virtual ~manualContourControler();
759 virtual manualContourControler * Clone();
760 void CopyAttributesTo( manualContourControler *cloneObject );
762 virtual void MouseClickLeft(int x, int y);
763 virtual void MouseMove(int x, int y);
764 virtual void MouseDLeft( int x, int y);
765 void SetEasyCreation(bool easyCreation);
766 bool GetEasyCreation();
768 virtual void Configure();
776 // ----------------------------------------------------------------------------
777 // ----------------------------------------------------------------------------
778 // ----------------------------------------------------------------------------
783 class MARACASVISULIB_EXPORTS manualContour3VControler: public manualContourControler
786 manualContour3VControler(int type);
787 virtual ~manualContour3VControler();
788 virtual manualContour3VControler * Clone();
789 void CopyAttributesTo( manualContour3VControler *cloneObject );
791 virtual bool OnChar();
792 virtual void AddPoint(int x, int y, int z);
793 virtual void InsertPoint(int x, int y, int z);
794 virtual void MouseMove(int x, int y);
795 virtual void ResetContour();
797 void AddManualViewBaseContour( manualViewBaseContour *manViewBaseCont );
799 vtkMPRBaseData *GetVtkMPRBaseData();
800 void SetVtkMPRBaseData (vtkMPRBaseData *vtkmprbasedata );
801 virtual void SetPoint( int id ,int x ,int y ,int z );
803 virtual void DeleteActualMousePoint(int x, int y);
805 void AddPoint_Others();
806 void DeleteActualMousePoint_Others(int id);
807 void MouseMove_Others(int id);
808 void InsertPoint_Others(int id);
809 void OnChar_Others();
810 void ResetContour_Others();
816 vtkMPRBaseData *_vtkmprbasedata;
818 std::vector< manualViewBaseContour* > _lstManualViewBaseContour;
822 // ----------------------------------------------------------------------------
823 // ----------------------------------------------------------------------------
824 // ----------------------------------------------------------------------------
827 class MARACASVISULIB_EXPORTS manualContour3DControler: public manualContourControler
830 manualContour3DControler();
831 virtual ~manualContour3DControler();
832 virtual manualContour3DControler * Clone();
833 void CopyAttributesTo( manualContour3DControler *cloneObject );
835 virtual bool OnLeftButtonDown();
836 virtual bool OnChar();
837 virtual void InsertPoint(int x, int y, int z);
838 virtual void MouseClickLeft(int x, int y);
839 void ResetOrientationPlane();
841 vtkMPRBaseData *GetVtkMPRBaseData();
842 void SetVtkMPRBaseData (vtkMPRBaseData *vtkmprbasedata );
847 vtkMPRBaseData *_vtkmprbasedata;
852 // ----------------------------------------------------------------------------
853 // ----------------------------------------------------------------------------
854 // ----------------------------------------------------------------------------
856 class MARACASVISULIB_EXPORTS manualContour3V3DControler: public manualContour3DControler
859 manualContour3V3DControler();
860 virtual ~manualContour3V3DControler();
861 virtual manualContour3V3DControler * Clone();
862 void CopyAttributesTo( manualContour3V3DControler *cloneObject );
864 void SetManualContour3VControler(manualContour3VControler *manualcontour3Vcontroler);
865 manualContour3VControler *GetManualContour3VControler();
867 virtual bool OnChar();
868 virtual void AddPoint( int x, int y, int z );
869 virtual void DeleteActualMousePoint(int x, int y);
870 virtual void MouseMove(int x, int y);
871 virtual void InsertPoint(int x, int y, int z);
872 virtual void ResetContour();
877 manualContour3VControler *_manualcontour3Vcontroler;
881 // ----------------------------------------------------------------------------
882 // ----------------------------------------------------------------------------
883 // ----------------------------------------------------------------------------
885 class MARACASVISULIB_EXPORTS manualContourPerpPlaneControler: public manualContourControler
888 manualContourPerpPlaneControler();
889 virtual ~manualContourPerpPlaneControler();
890 virtual manualContourPerpPlaneControler * Clone();
891 void CopyAttributesTo( manualContourPerpPlaneControler *cloneObject );
893 void SetVtkMPRBaseData(vtkMPRBaseData *vtkmprbasedata);
894 vtkMPRBaseData *GetVtkMPRBaseData();
896 virtual bool OnChar();
897 virtual bool OnMouseMove();
898 virtual bool OnLeftDClick();
899 virtual void AddPoint( int x, int y, int z );
900 virtual void DeleteActualMousePoint(int x, int y);
901 virtual void MouseMove(int x, int y);
902 virtual void InsertPoint(int x, int y, int z);
903 virtual void ResetContour();
905 void SetManualContour3VControler(manualContour3VControler *manualcontour3Vcontroler);
906 manualContour3VControler *GetManualContour3VControler();
908 virtual void MouseDLeft( int x, int y);
909 void ResetOrientationPlane();
910 void SetVtkInteractorStylePlane2D(InteractorStyleMaracas *vtkinteractorstyleplane2D);
911 InteractorStyleMaracas * GetVtkInteractorStylePlane2D();
915 bool _flagMouseDClick;
916 InteractorStyleMaracas *_vtkinteractorstyleplane2D;
919 vtkMPRBaseData *_vtkmprbasedata;
920 manualContour3VControler *_manualcontour3Vcontroler;
923 // ----------------------------------------------------------------------------
924 // ----------------------------------------------------------------------------
925 // ----------------------------------------------------------------------------
928 class MARACASVISULIB_EXPORTS manualRoiControler: public manualContourBaseControler
931 manualRoiControler();
932 virtual ~manualRoiControler();
933 virtual manualRoiControler * Clone();
934 void CopyAttributesTo( manualRoiControler *cloneObject );
936 virtual void MouseClickLeft(int x, int y);
937 virtual void MouseMove(int x, int y );
938 virtual void DeleteActualMousePoint(int x, int y);
939 void InitRoi(int ww, int hh, double porcentage);
940 void SetRoi(int x1, int y1,int x2, int y2);
941 virtual void Configure();
948 // ----------------------------------------------------------------------------
949 // ----------------------------------------------------------------------------
950 // ----------------------------------------------------------------------------
953 class MARACASVISULIB_EXPORTS manualCircleControler: public manualContourControler
956 manualCircleControler();
957 virtual ~manualCircleControler();
958 virtual manualCircleControler * Clone();
959 void CopyAttributesTo( manualCircleControler *cloneObject );
961 virtual void MouseClickLeft(int x, int y);
962 virtual void MouseMove(int x, int y );
963 virtual void DeleteActualMousePoint(int x, int y);
964 void InitRoi(int ww, int hh, double porcentage);
965 // void SetRoi(int x1, int y1,int x2, int y2);
966 virtual void Configure();
977 #endif // MANUAL_CONTOUR_H