]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/vtk2DQuantSliceWidget.h
1ea8024a6369b21eb40dd2c86261f7d0e43d789f
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / vtk2DQuantSliceWidget.h
1 /*=========================================================================
2
3   Program:   wxMaracas
4   Module:    $RCSfile: vtk2DQuantSliceWidget.h,v $
5   Language:  C++
6   Date:      $Date: 2008/10/31 16:32:41 $
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 #ifndef __VTK2DQUANTSLICEWIDGET__
18 #define __VTK2DQUANTSLICEWIDGET__
19
20 #include "wxImageViewerWidget.h"
21
22 #include <vtkActor.h>
23 #include <vtkPolyLine.h>
24 #include <vtkDataSetMapper.h>
25 #include <vtkPolyDataMapper.h>
26 #include <vtkUnstructuredGrid.h>
27
28
29 /**
30  * \brief Class that brigde to VTK, override double click...
31  */
32 class vtk2DQuantSliceWidget : public wxImageViewerWidget
33 {
34 public:
35
36     vtk2DQuantSliceWidget( wxWindow* parent,
37         wxWindowID id,
38         const wxPoint& pos = wxDefaultPosition,
39         const wxSize& size = wxDefaultSize,
40         long style = wxSUNKEN_BORDER, //wxTAB_TRAVERSAL,
41         const wxString& name = wxPanelNameStr
42         );
43     ~vtk2DQuantSliceWidget( );
44
45     //void SetContour( vtkUnstructuredGrid *cnt );
46     void SetContour( vtkPolyData *cnt );
47         void SetDiameterMin(vtkPoints *diameterMin, bool showActor);
48         void SetDiameterMax(vtkPoints *diameterMax, bool showActor);
49         void Show2DContourDiameters();
50         void Hide2DContourDiameters();
51
52 protected:
53
54 private:
55
56         // Contour
57         vtkPolyData                     *_cnt; 
58         vtkPolyDataMapper       *_cntMapper;
59         vtkActor                        *_cntActor;
60
61         // Diameter Min
62         vtkActor                        *_diameterMinvtkActor;
63         vtkPolyLine                     *_diameterMinvtkPolyLine;
64         vtkDataSetMapper        *_diameterMinvtkDataSetMapper;
65         vtkUnstructuredGrid *_diameterMinvtkUnstructuredGrid;
66
67         // Diameter Max
68         vtkActor                        *_diameterMaxvtkActor;
69         vtkPolyLine                     *_diameterMaxvtkPolyLine;
70         vtkDataSetMapper        *_diameterMaxvtkDataSetMapper;
71         vtkUnstructuredGrid *_diameterMaxvtkUnstructuredGrid;
72
73
74 //  DECLARE_EVENT_TABLE( );
75
76 };
77
78 #endif //__VTK2DQUANTSLICEWIDGET__