]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualViewPoints.h
1b95a443d0dccd5c63146f58b3bda31d691a7125
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / manualContour / manualViewPoints.h
1 #ifndef manualViewPoints_h
2 #define manualViewPoints_h
3
4 #include "manualViewBaseContour.h"
5 #include "manualViewPoint.h"
6 #include <vector>
7
8
9 // --------------------------------------------------------------------------------------------
10 // Class that includes the functionality to manage some selected points like a new contour
11 // @author RaC 09-09
12 class creaMaracasVisu_EXPORT manualViewPoints: public manualViewBaseContour
13 {
14         
15 //---------------------------------------------------
16 // PUBLIC METHODS & ATTS
17 //---------------------------------------------------
18 public:
19         //
20         // Class Constructor
21         //
22         manualViewPoints();
23
24         //
25         // Method to copy all attributes to the clone object references by parameter
26         // @param *cloneObject - manualViewPoints Clone object
27         ///
28         void CopyAttributesTo( manualViewPoints *cloneObject );
29
30         //---------------------------------------------------
31         // PUBLIC & VIRTUAL METHODS & ATTS
32         //---------------------------------------------------
33
34         ///
35         // Class Destructor. Delete all elements in points copy list
36         ///
37         virtual ~manualViewPoints();
38
39         //
40         // Method to clone a manualViewPoints object
41         //
42         virtual manualViewPoints * Clone();
43
44         //
45         // Returns the contour type
46         // Points Contour type := 7
47         // @return type - int   
48         //
49         virtual int GetType();
50
51         //
52         // Returns true if the point with the (x,y,z) window coordinates touch the contour
53         // @param x - int
54         // @param y - int
55         // @param z - int
56         // @return true if touch contour, false otherwise
57         //
58         virtual bool ifTouchContour(int x,int y, int z);
59
60         //
61         // Refresh control points with the specified color, calls the RefreshContour method 
62         // and render the contour
63         //
64         virtual void Refresh();
65
66         //
67         // Refresh contour. In this case, it synchronizes the copy list with the control points list in order
68         // to paint the point actors in the position assigned in the model points list
69         //
70         virtual void RefreshContour();
71
72         //
73         // Removes actor of the contour points, but no the control points.
74         //
75         virtual void RemoveSplineActor();
76
77         //
78         // Adds actor of the contour points, but no the control points.
79         //
80         virtual void AddSplineActor();
81
82         //
83         // Constructs VTKObjects. Only initializes text actor
84         //
85         virtual void ConstructVTKObjects();
86
87         //
88         // To move all the contour
89         //
90         //virtual void MoveContour(int x, int y, int z);
91
92 //---------------------------------------------------
93 // PRIVATE METHODS & ATTS
94 //---------------------------------------------------
95 private:
96
97         //
98         // Copy of the control points list. These are the points which are painted when the
99         // contour is not selected
100         //
101         std::vector<manualViewPoint*>   _copyViewPoints;
102         
103 };
104
105 #endif // manualViewPoints_h