]> Creatis software - creaMaracasVisu.git/blob - lib/Kernel/VTKObjects/SurfaceRenderer/wxMaracasSurfaceRenderingManagerData.cxx
b302cac4e54b44f58b07cf377c117eebfe5e1dc5
[creaMaracasVisu.git] / lib / Kernel / VTKObjects / SurfaceRenderer / wxMaracasSurfaceRenderingManagerData.cxx
1
2 #include "wxMaracasSurfaceRenderingManagerData.h"
3
4 #include <vtkSmartPointer.h>
5 #include "vtkSTLWriter.h"
6
7 /********************************************************************************************
8 ** Start of data viewmanagerData
9 *********************************************************************************************/
10
11 wxMaracasSurfaceRenderingManagerData::wxMaracasSurfaceRenderingManagerData(vtkProp3D* prop3Dvect, std::string dataname, vtkRenderWindowInteractor*  interactor){
12
13         _dataMapper = 0;
14         _prop3D = prop3Dvect;   
15         _dataname = dataname;   
16         _boxWidgetS1=NULL;
17         
18         initializeBoxWidget(interactor);
19         
20
21         
22
23         /*_boxWidgetS1->GetPlanes( this->GetVtkClipping3DDataViewer()->GetTissuePlanes(0) );
24         _boxWidgetS1->GetPlanes( this->GetVtkClipping3DDataViewer()->GetTissuePlanes(1) );
25         _boxWidgetS1->GetPlanes( this->GetVtkClipping3DDataViewer()->GetTissuePlanes(2) );
26         _boxWidgetS1->GetPlanes( this->GetVtkClipping3DDataViewer()->GetTissuePlanes(3) );*/
27 }
28
29
30 wxMaracasSurfaceRenderingManagerData::~wxMaracasSurfaceRenderingManagerData(){
31         
32         _prop3D->Delete();      
33         if (_boxWidgetS1!=NULL)                                  { _boxWidgetS1         -> Delete();                                    }
34 }
35
36 void wxMaracasSurfaceRenderingManagerData::initializeBoxWidget(vtkRenderWindowInteractor*  interactor){
37         if(interactor!= NULL){
38         
39         }
40 }
41
42 /**
43 **      Adds a prop3D to the world of the application
44 **/
45 void wxMaracasSurfaceRenderingManagerData::setProp3D(vtkProp3D* prop3D){
46         _prop3D = prop3D;
47 }
48
49 void wxMaracasSurfaceRenderingManagerData::addRemoveSurfaceBox(bool visible)
50 {
51         if(_boxWidgetS1){
52                 if (visible==true){
53                         _boxWidgetS1->On();
54                 } else {
55                         _boxWidgetS1->Off();
56                 }
57         }
58 }
59 /**
60 **      Changes the opacity in a prop3D
61 **/
62 void wxMaracasSurfaceRenderingManagerData::changeOpacity(int value){
63         std::cout<<"chage op"<<value<<std::endl;
64         vtkActor* actor = (vtkActor*)this->_prop3D;     
65         actor->GetProperty()->SetOpacity((double)value/100.0);
66
67         
68
69 }
70 void wxMaracasSurfaceRenderingManagerData::changeColor(double red, double green, double blue){
71         std::cout<<"chage col"<<red<<green<<blue<<std::endl;
72     vtkActor* actor = (vtkActor*)this->_prop3D; 
73         actor->GetProperty()->SetColor(red,green,blue); 
74 }
75 /**
76 **      Check if the variables are setted correctly
77 **/
78 void wxMaracasSurfaceRenderingManagerData::checkInvariant(){
79
80 }
81 /**
82 **      get the prop3D 
83 **/
84 vtkProp3D* wxMaracasSurfaceRenderingManagerData::getProp3D(){
85         return this->_prop3D;
86 }
87 /**
88 **      return the id from the daat
89 **/
90 int wxMaracasSurfaceRenderingManagerData::getId(){
91         return _id;
92 }
93 /**
94 **      set data id
95 **/
96 void wxMaracasSurfaceRenderingManagerData::setId(int propid){
97         _id = propid;
98 }
99
100 /**
101 **      Get the filanme
102 **/
103 std::string wxMaracasSurfaceRenderingManagerData::getDataname(){
104         return _dataname;
105 }
106 /**
107 ** Set the filanme
108 **/
109 void wxMaracasSurfaceRenderingManagerData::setDataname(std::string dataname){
110         _dataname = dataname;
111 }
112
113
114
115 void wxMaracasSurfaceRenderingManagerData::saveProp3DSTL(const char* filename){
116     if(_dataMapper){
117         vtkSmartPointer<vtkSTLWriter> stlWriter =
118         vtkSmartPointer<vtkSTLWriter>::New();
119           stlWriter->SetFileName(filename);
120           stlWriter->SetInput(_dataMapper->GetInput());
121           stlWriter->SetFileTypeToBinary();
122           stlWriter->Write();
123     }
124 }
125
126 void wxMaracasSurfaceRenderingManagerData::enableBoxWidget(bool enable){
127
128 }
129
130
131
132