2 #include "wxMaracasSurfaceRenderingManagerData.h"
4 #include <vtkSmartPointer.h>
5 #include "vtkSTLWriter.h"
6 #include "vtkPLYWriter.h"
8 /********************************************************************************************
9 ** Start of data viewmanagerData
10 *********************************************************************************************/
12 wxMaracasSurfaceRenderingManagerData::wxMaracasSurfaceRenderingManagerData(vtkProp3D* prop3Dvect, std::string dataname, vtkRenderWindowInteractor* interactor){
19 initializeBoxWidget(interactor);
24 /*_boxWidgetS1->GetPlanes( this->GetVtkClipping3DDataViewer()->GetTissuePlanes(0) );
25 _boxWidgetS1->GetPlanes( this->GetVtkClipping3DDataViewer()->GetTissuePlanes(1) );
26 _boxWidgetS1->GetPlanes( this->GetVtkClipping3DDataViewer()->GetTissuePlanes(2) );
27 _boxWidgetS1->GetPlanes( this->GetVtkClipping3DDataViewer()->GetTissuePlanes(3) );*/
31 wxMaracasSurfaceRenderingManagerData::~wxMaracasSurfaceRenderingManagerData(){
34 if (_boxWidgetS1!=NULL) { _boxWidgetS1 -> Delete(); }
37 void wxMaracasSurfaceRenderingManagerData::initializeBoxWidget(vtkRenderWindowInteractor* interactor){
38 if(interactor!= NULL){
44 ** Adds a prop3D to the world of the application
46 void wxMaracasSurfaceRenderingManagerData::setProp3D(vtkProp3D* prop3D){
50 void wxMaracasSurfaceRenderingManagerData::addRemoveSurfaceBox(bool visible)
61 ** Changes the opacity in a prop3D
63 void wxMaracasSurfaceRenderingManagerData::changeOpacity(int value){
64 std::cout<<"chage op"<<value<<std::endl;
65 vtkActor* actor = (vtkActor*)this->_prop3D;
66 actor->GetProperty()->SetOpacity((double)value/100.0);
71 void wxMaracasSurfaceRenderingManagerData::changeColor(double red, double green, double blue){
72 std::cout<<"chage col"<<red<<green<<blue<<std::endl;
73 vtkActor* actor = (vtkActor*)this->_prop3D;
74 actor->GetProperty()->SetColor(red,green,blue);
77 ** Check if the variables are setted correctly
79 void wxMaracasSurfaceRenderingManagerData::checkInvariant(){
85 vtkProp3D* wxMaracasSurfaceRenderingManagerData::getProp3D(){
89 ** return the id from the daat
91 int wxMaracasSurfaceRenderingManagerData::getId(){
97 void wxMaracasSurfaceRenderingManagerData::setId(int propid){
104 std::string wxMaracasSurfaceRenderingManagerData::getDataname(){
110 void wxMaracasSurfaceRenderingManagerData::setDataname(std::string dataname){
111 _dataname = dataname;
116 void wxMaracasSurfaceRenderingManagerData::saveProp3DSTL(const char* filename){
119 std::string filena(filename);
120 std::string ext = filena.substr(filena.find_last_of("."), 4);
121 if(ext.compare(PLY) == 0){
122 vtkSmartPointer<vtkPLYWriter> plywriter =
123 vtkSmartPointer<vtkPLYWriter>::New();
124 plywriter->SetFileName(filename);
125 plywriter->SetInput(_dataMapper->GetInput());
127 }else if(ext.compare(PLY) == 0){
128 vtkSmartPointer<vtkSTLWriter> stlWriter =
129 vtkSmartPointer<vtkSTLWriter>::New();
130 stlWriter->SetFileName(filename);
131 stlWriter->SetInput(_dataMapper->GetInput());
132 stlWriter->SetFileTypeToBinary();
135 cout<<"unsupported format"<<endl;
140 void wxMaracasSurfaceRenderingManagerData::enableBoxWidget(bool enable){