]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/manualContourContainer.h
creaMaracasVisu is now gdcm-free and libIDO-free (hope so!)
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / manualContourContainer.h
1 /*=========================================================================
2
3   Program:   wxMaracas
4   Module:    $RCSfile: manualContourContainer.h,v $
5   Language:  C++
6   Date:      $Date: 2008/10/31 16:32:09 $
7   Version:   $Revision: 1.1 $
8
9   Copyright: (c) 2002, 2003
10   License:
11   
12      This software is distributed WITHOUT ANY WARRANTY; without even 
13      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
14      PURPOSE.  See the above copyright notice for more information.
15
16 =========================================================================*/
17
18 #ifndef MANUAL_CONTOUR_CONTAINER_H
19 #define MANUAL_CONTOUR_CONTAINER_H
20
21
22 #include <vector>
23 #include "manualContour.h"
24
25 class manualContourContainer  
26 {
27 public:
28         
29         manualContourContainer();
30         virtual ~manualContourContainer();
31
32         manualContourControler* getWallController();
33         manualContourControler* getLumenController();
34         manualContourControler* getCalcController(int i);
35         manualContourControler* getHypoController(int i);
36         void createWallContour(wxVtk2DBaseView  *_imageviewer2D_1);
37         void createLumenContour(wxVtk2DBaseView *_imageviewer2D_1);
38
39         int     addCalcificationContour(wxVtk2DBaseView *_imageviewer2D_1);
40         int     addHypodenseContour(wxVtk2DBaseView     *_imageviewer2D_1);
41
42         void setWallVisibility(bool visible);
43         
44         void setLumenVisibility(bool visible);
45         void setCalcVisibility(bool visible);
46         void setHypoVisibility(bool visible);
47         void setWallActive();
48         void setLumenActive();
49         void setCalcActive();
50         void setHypoActive();
51         void setCalcContourActive(int i);
52         void setHypoContourActive(int i);
53         int  getNumberOfCalcContours();
54         int  getNumberOfHypoContours();
55         void inactivate();
56
57         int getNumberOfWallContourPoints();
58         int getNumberOfLumenContourPoints();
59         int getNumberOfCalcContourPoints(int i);
60         int getNumberOfHypoContourPoints(int i);
61
62         double* getXVectorWallPoints();
63         double* getXVectorLumenPoints();
64         double* getXVectorCalcPoints(int i);
65         double* getXVectorHypoPoints(int i);
66
67         double* getYVectorWallPoints();
68         double* getYVectorLumenPoints();
69         double* getYVectorCalcPoints(int i);
70         double* getYVectorHypoPoints(int i);
71         void clear();
72         void clearWall();
73         void clearLumen();
74         void clearCalc();
75         void clearHypo();
76         void refreshWall(wxVtk2DBaseView        *_imageviewer2D_1);
77         void refreshLumen(wxVtk2DBaseView       *_imageviewer2D_1);
78         void refreshCalc(int i, wxVtk2DBaseView *_imageviewer2D_1);
79         void refreshHypo(int i, wxVtk2DBaseView *_imageviewer2D_1);
80         
81         void restartWallContour(wxVtk2DBaseView *_imageviewer2D_1);
82         void restartLumenContour(wxVtk2DBaseView        *_imageviewer2D_1);
83         void restartCalcContours();
84         void restartHypoContours();
85
86 private:
87         //Manual Contour Wall
88         
89         manualContourControler *_manContourControlWall;
90         manualContourModel              *_mContourModelWall;
91         manualViewContour               *_mViewContourWall;
92
93
94         //Manual Contour Lumen
95         manualContourControler  *_manContourControlLumen;
96         manualContourModel              *_mContourModelLumen;
97         manualViewContour                       *_mViewContourLumen;
98
99         //Manual Contour Calc
100         std::vector <manualContourControler *> _manContourControlCalc;
101         std::vector <manualContourModel *> _mContourModelCalc;
102         std::vector <manualViewContour *> _mViewContourCalc;
103
104         //Manual Contour Hypo
105         std::vector <manualContourControler *> _manContourControlHypo;
106         std::vector <manualContourModel *> _mContourModelHypo;
107         std::vector <manualViewContour *> _mViewContourHypo;    
108
109
110
111 };
112
113 #endif //