1 #include "wxMaracasRenderTabbedPanel.h"
2 #include "HistogramDialogComboBox.h"
4 #include "wxMaracasMultipleVolumeRendererPanel.h"
5 #include "wxMaracasSurfaceRenderingPanel.h"
6 #include "wxMaracasSurfaceRenderingProp3DMHD.h"
7 #include "wxMaracasMultipleVolumeRendererManagerData.h"
8 #include "wxMaracasDialog_NViewers.h"
10 #include <wx/colordlg.h>
11 #include <wx/button.h>
13 #include <OpenImage.xpm>
15 #include "creaSystem.h"
17 #include <vtkProp3D.h>
18 #include "wxVtkMPR3DViewCntrlPanel.h"
23 wxMaracasRenderTabbedPanel::wxMaracasRenderTabbedPanel(wxWindow* parent, int id, wxVtk3DBaseView* _baseView)
24 : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize)
30 volmanager = new wxMaracasMultipleVolumeRendererManager();
31 surrendmanager1 = new wxMaracasSurfaceRenderingManager();
32 surrendmanager2 = new wxMaracasSurfaceRenderingManager();
33 surrendmanager3 = new wxMaracasSurfaceRenderingManager();
39 wxMaracasRenderTabbedPanel::~wxMaracasRenderTabbedPanel()
41 //wxMaracasRenderTabbedPanel::getInstance()->addRemoveActorV(_propid, false);
42 //wxMaracasRenderTabbedPanel::getInstance()->addRemoveActorSA(_propid, false);
43 //wxMaracasRenderTabbedPanel::getInstance()->addRemoveActorSB(_propid, false);
44 //wxMaracasRenderTabbedPanel::getInstance()->addRemoveActorSC(_propid, false);
45 this->deleteVolume(_id);
51 ** Initializes rendered images, and creates and adds elements to the panel
53 void wxMaracasRenderTabbedPanel::createControls(vtkImageData* inImg, std::string pathfile, std::string filename)
55 wxFlexGridSizer* sizerrenderprop = new wxFlexGridSizer(1);
57 wxFlexGridSizer* sizercheck = new wxFlexGridSizer(3);
58 checkboxVol = new wxCheckBox(this,-1,wxString(_T("Volume Rendering")));
59 Connect(checkboxVol->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasRenderTabbedPanel::onCheckBoxVChange);
60 checkboxVol->SetValue(true);
61 sizercheck->Add(checkboxVol, wxFIXED_MINSIZE);
63 checkboxSA = new wxCheckBox(this,-1,wxString(_T("Surface Rendering A")));
64 Connect(checkboxSA->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasRenderTabbedPanel::onCheckBoxSAChange);
65 checkboxSA->SetValue(true);
66 sizercheck->Add(checkboxSA, wxFIXED_MINSIZE);
68 checkboxViewer = new wxCheckBox(this,-1,wxString(_T("MPR")));
69 Connect(checkboxViewer->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasRenderTabbedPanel::onMPROptions);
70 checkboxViewer->SetValue(false);
71 sizercheck->Add(checkboxViewer, wxFIXED_MINSIZE);
73 checkboxSB = new wxCheckBox(this,-1,wxString(_T("Surface Rendering B")));
74 Connect(checkboxSB->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasRenderTabbedPanel::onCheckBoxSBChange);
75 checkboxSB->SetValue(false);
76 sizercheck->Add(checkboxSB, wxFIXED_MINSIZE);
78 checkboxSC = new wxCheckBox(this,-1,wxString(_T("Surface Rendering C")));
79 Connect(checkboxSC->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasRenderTabbedPanel::onCheckBoxSCChange);
80 checkboxSC->SetValue(false);
81 sizercheck->Add(checkboxSC, wxFIXED_MINSIZE);
83 sizercheck->Add(new wxStaticText(this, -1,_T("")), wxFIXED_MINSIZE);
85 wxButton* _openParameters = new wxButton(this, -1, wxString(_T("Apply Transformation")));
86 Connect(_openParameters->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasRenderTabbedPanel::onOpenParameters);
87 sizercheck->Add(_openParameters,wxFIXED_MINSIZE);
89 wxButton* _openCutter = new wxButton(this, -1, wxString(_T("Open Cutter View")));
90 Connect(_openCutter->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasRenderTabbedPanel::onOpenCutter);
91 sizercheck->Add(_openCutter,wxFIXED_MINSIZE);
92 sizerrenderprop->Add(sizercheck, wxFIXED_MINSIZE);
94 wxtabs = new wxNotebook(this, -1);
98 vtkImageData* img = volmanager->getImageData(pathfile);
99 //vtkImageData* img1 = surrendmanager1->getImageData(pathfile);
100 //vtkImageData* img2 = surrendmanager2->getImageData(pathfile);
101 //vtkImageData* img3 = surrendmanager3->getImageData(pathfile);
102 if(img!=NULL /*&& img1!=NULL && img2!=NULL && img3!=NULL*/)
104 addVolume(img, filename);
105 addSurface1(img, filename);
106 addSurface2(img, filename);
107 addSurface3(img, filename);
109 volname = (wxString) filename;
115 addVolume(inImg, filename);
116 addSurface1(inImg, filename);
117 addSurface2(inImg, filename);
118 addSurface3(inImg, filename);
122 sizerrenderprop->Add(wxtabs, wxSizerFlags().Expand().Center());
124 this->SetSizer(sizerrenderprop, true);
125 this->SetAutoLayout( true );
130 ** Sets given renderer
132 void wxMaracasRenderTabbedPanel::setRenderer(vtkRenderer* renderer)
134 volmanager->setRenderer(renderer);
135 surrendmanager1->setRenderer(renderer);
136 surrendmanager2->setRenderer(renderer);
137 surrendmanager3->setRenderer(renderer);
141 ** Adds a volume using Volume Rendering
143 void wxMaracasRenderTabbedPanel::addVolume(vtkImageData* img, std::string dataname)
147 int _propidV = volmanager->addVolume(_id, img, dataname);
150 wxMaracasMultipleVolumeRendererPanel* controlpanV = new wxMaracasMultipleVolumeRendererPanel(wxtabs, _propidV, img, true);
151 wxtabs->AddPage(controlpanV, _T("Vol Rendering"), true);
152 controlpanV->updateVolume();
157 std::cout << "Exception : " << str << '\n';
158 wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
165 ** Adds a volume using surface rendering
167 void wxMaracasRenderTabbedPanel::addSurface1(vtkImageData* img, std::string dataname)
171 int _propidSA = surrendmanager1->addPropMHD(_id, img, dataname);
175 wxMaracasSurfaceRenderingPanel* controlpanSA = new wxMaracasSurfaceRenderingProp3DMHD(wxtabs, _propidSA, true, 1);
176 int maxiso = surrendmanager1->getMaxIsoValue(_propidSA);
177 ((wxMaracasSurfaceRenderingProp3DMHD*)controlpanSA)->createControls(maxiso);
178 wxtabs->AddPage(controlpanSA, _T("SR A"));
183 std::cout << "Exception : " << str << '\n';
184 wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
191 ** Adds a volume using surface rendering
193 void wxMaracasRenderTabbedPanel::addSurface2(vtkImageData* img, std::string dataname)
197 int _propidSB = surrendmanager2->addPropMHD(_id, img, dataname);
200 wxMaracasSurfaceRenderingPanel* controlpanSB = new wxMaracasSurfaceRenderingProp3DMHD(wxtabs, _propidSB, true, 2);
201 int maxiso = surrendmanager2->getMaxIsoValue(_propidSB);
202 ((wxMaracasSurfaceRenderingProp3DMHD*)controlpanSB)->createControls(maxiso);
203 wxtabs->AddPage(controlpanSB, _T("SR B"));
204 wxtabs->GetPage(2)->Disable();
210 std::cout << "Exception : " << str << '\n';
211 wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
218 ** Adds a volume using Surface Rendering
220 void wxMaracasRenderTabbedPanel::addSurface3(vtkImageData* img, std::string dataname)
224 int _propidSC = surrendmanager3->addPropMHD(_id, img, dataname);
228 wxMaracasSurfaceRenderingPanel* controlpanSC = new wxMaracasSurfaceRenderingProp3DMHD(wxtabs, _propidSC, true, 3);
229 int maxiso = surrendmanager3->getMaxIsoValue(_propidSC);
230 ((wxMaracasSurfaceRenderingProp3DMHD*)controlpanSC)->createControls(maxiso);
231 wxtabs->AddPage(controlpanSC, _T("SR C"));
232 wxtabs->GetPage(3)->Disable();
237 std::cout << "Exception : " << str << '\n';
238 wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
247 void wxMaracasRenderTabbedPanel::addMPROptions()
249 int x = 0,y = 0,z = 0;
258 double org[3],spc[3];
266 vtkMPRBaseData* mvtkmprbasedata = new vtkMPRBaseData();
267 marImageData* marimagedata = new marImageData( getVolImage() );
268 mvtkmprbasedata->SetMarImageData(marimagedata);
270 mwxvtkmpr3Dview = new wxVtkMPR3DView( baseView );
272 vtkmpr3Ddataviewer = new vtkMPR3DDataViewer();
274 wxPanel *panelControl = new wxPanel(wxtabs,-1);
275 controlPanelMPR3D = mwxvtkmpr3Dview->CreateControlPanel(panelControl, true);
277 wxFlexGridSizer *sizerCtrol = new wxFlexGridSizer(1);
278 sizerCtrol->Add(controlPanelMPR3D, 1, wxALL|wxEXPAND, 2);
280 panelControl->SetAutoLayout(true);
281 panelControl->SetSizer(sizerCtrol);
282 panelControl->SetSize(400,350);
283 panelControl->Layout();
286 if (mvtkmprbasedata!=NULL)
288 mvtkmprbasedata->Configure();
289 /*x = mvtkmprbasedata -> GetMaxPositionX()/2;
290 y = mvtkmprbasedata -> GetMaxPositionY()/2;
291 z = mvtkmprbasedata -> GetMaxPositionZ()/2; */
293 if(mvtkmprbasedata->GetImageData() != NULL)
295 mvtkmprbasedata->GetImageData()->GetExtent(ext);
296 mvtkmprbasedata->GetImageData()->GetOrigin(org);
297 mvtkmprbasedata->GetImageData()->GetSpacing(spc);
299 x = (ext[0]+ext[1])/2;
300 y = (ext[2]+ext[3])/2;
301 z = (ext[4]+ext[5])/2;
303 mvtkmprbasedata->SetX( x );
304 mvtkmprbasedata->SetY( y );
305 mvtkmprbasedata->SetZ( z );
309 mvtkmprbasedata->SetX( 0 );
310 mvtkmprbasedata->SetY( 0 );
311 mvtkmprbasedata->SetZ( 0 );
316 baseView ->Configure();
318 if (vtkmpr3Ddataviewer !=NULL)
320 vtkmpr3Ddataviewer ->SetVtkMPRBaseData(mvtkmprbasedata);
321 vtkmpr3Ddataviewer ->Configure();
323 if (mwxvtkmpr3Dview !=NULL)
325 mwxvtkmpr3Dview ->SetVtkMPR3DDataViewer(vtkmpr3Ddataviewer);
326 mwxvtkmpr3Dview ->Configure();
327 mwxvtkmpr3Dview ->ResetCamera(ext,org,spc);
330 wxtabs->AddPage(panelControl, _T("MPR"));
331 wxtabs->GetPage(4)->Disable();
332 mwxvtkmpr3Dview->showOutlineActor(false);
333 mwxvtkmpr3Dview->Refresh();
338 ** Deletes complete volume
340 void wxMaracasRenderTabbedPanel::deleteVolume(int volid)
344 volmanager->deleteActor(volid);
345 surrendmanager1->deleteActor(volid);
346 surrendmanager2->deleteActor(volid);
347 surrendmanager3->deleteActor(volid);
351 std::cout << "Exception : " << str << '\n';
352 wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
359 ** Adds or removes volume rendering actor with given ID
361 void wxMaracasRenderTabbedPanel::addRemoveActorV(int id, bool addremove)
364 volmanager->addRemoveActor(id, addremove);
368 std::cout << "Exception : " << str << '\n';
369 wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
376 ** Adds or removes surface rendering actor with given ID
378 void wxMaracasRenderTabbedPanel::addRemoveActorSA(int id, bool addremove)
381 surrendmanager1->addRemoveActor(id, addremove);
384 std::cout << "Exception : " << str << '\n';
385 wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
392 ** Adds or removes surface rendering actor with given ID
394 void wxMaracasRenderTabbedPanel::addRemoveActorSB(int id, bool addremove)
397 surrendmanager2->addRemoveActor(id, addremove);
400 std::cout << "Exception : " << str << '\n';
401 wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
408 ** Adds or removes surface rendering actor with given ID
410 void wxMaracasRenderTabbedPanel::addRemoveActorSC(int id, bool addremove)
413 surrendmanager3->addRemoveActor(id, addremove);
416 std::cout << "Exception : " << str << '\n';
417 wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
425 ** Sets color points values for the given volume rendering identified by parameter: volumeid
427 void wxMaracasRenderTabbedPanel::SetValuesColorPointsFunction(int volid, std::vector<double> greylevelcolors,std::vector<double> red,std::vector<double> green,std::vector<double> blue)
429 volmanager->setVolumeColor(volid, greylevelcolors, red, green, blue);
433 ** Sets points values for the given volume rendering identified by parameter: volumeid
435 void wxMaracasRenderTabbedPanel::SetValuesPointsFunction(int volid, std::vector<double> greylevel, std::vector<double> values)
438 volmanager->setVolumeOpacity(volid, greylevel, values);
442 wxString s( str,wxConvUTF8 );
443 wxMessageDialog* diag = new wxMessageDialog(this, s, s, wxICON_ERROR);
451 ** Returns transfer function for the given volume rendering identified by parameter: volumeid
453 vtkPiecewiseFunction* wxMaracasRenderTabbedPanel::GetTransferFunction(int volumeid)
455 return volmanager->GetTransferFunction(volumeid);
459 ** Returns color function for the given volume rendering identified by parameter: volumeid
461 vtkColorTransferFunction* wxMaracasRenderTabbedPanel::GetColorFunction(int volumeid)
463 return volmanager->GetColorFunction(volumeid);
467 ** Changes color function by the given value for the given volume rendering identified by parameter: volumeid
469 void wxMaracasRenderTabbedPanel::changeOpacityA(int _propid, int value)
471 surrendmanager1->changeOpacity(_propid,value);
475 ** Changes isoValue by the given value for the given surface rendering image identified by parameter: propid
477 void wxMaracasRenderTabbedPanel::changeIsoValueA(int propid, double value)
479 surrendmanager1->changeIsoValue(propid, value);
483 ** Changes color for the given surface rendering image identified by parameter: propid
485 void wxMaracasRenderTabbedPanel::changeColorA(int propid, double red, double green, double blue)
489 surrendmanager1->changeColor(propid, red, green, blue);
493 wxString s( str,wxConvUTF8 );
494 wxMessageDialog* diag = new wxMessageDialog(this, s, s, wxICON_ERROR);
501 ** Changes color function by the given value for the given volume rendering identified by parameter: volumeid
503 void wxMaracasRenderTabbedPanel::changeOpacityB(int _propid, int value)
505 surrendmanager2->changeOpacity(_propid,value);
509 ** Changes isoValue by the given value for the given surface rendering image identified by parameter: propid
511 void wxMaracasRenderTabbedPanel::changeIsoValueB(int propid, double value)
513 surrendmanager2->changeIsoValue(propid, value);
517 ** Changes color for the given surface rendering image identified by parameter: propid
519 void wxMaracasRenderTabbedPanel::changeColorB(int propid, double red, double green, double blue)
523 surrendmanager2->changeColor(propid, red, green, blue);
527 wxString s( str,wxConvUTF8 );
528 wxMessageDialog* diag = new wxMessageDialog(this, s, s, wxICON_ERROR);
535 ** Changes color function by the given value for the given volume rendering identified by parameter: volumeid
537 void wxMaracasRenderTabbedPanel::changeOpacityC(int _propid, int value)
539 surrendmanager3->changeOpacity(_propid,value);
543 ** Changes isoValue by the given value for the given surface rendering image identified by parameter: propid
545 void wxMaracasRenderTabbedPanel::changeIsoValueC(int propid, double value)
547 surrendmanager3->changeIsoValue(propid, value);
551 ** Changes color for the given surface rendering image identified by parameter: propid
553 void wxMaracasRenderTabbedPanel::changeColorC(int propid, double red, double green, double blue)
557 surrendmanager3->changeColor(propid, red, green, blue);
561 wxString s( str,wxConvUTF8 );
562 wxMessageDialog* diag = new wxMessageDialog(this, s, s, wxICON_ERROR);
569 ** Method called when VolumeRendering checkbox status changes: Either shows or hides VolumeRendering image
571 void wxMaracasRenderTabbedPanel::onCheckBoxVChange(wxCommandEvent& event)
574 volmanager->addRemoveActor(this->getPropIdV(), checkboxVol->GetValue());
577 wxtabs->SetSelection(id);
579 if(checkboxVol->GetValue())
581 wxtabs->GetPage(id)->Enable();
585 wxtabs->GetPage(id)->Disable();
589 std::cout << "Exception : " << str << '\n';
590 wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
597 ** Method called when SurfaceRendering A checkbox status changes: Either shows or hides SurfaceRendering image
599 void wxMaracasRenderTabbedPanel::onCheckBoxSAChange(wxCommandEvent& event)
602 surrendmanager1->addRemoveActor(this->getPropIdV(), checkboxSA->GetValue());
605 wxtabs->SetSelection(id);
607 if(checkboxSA->GetValue())
609 wxtabs->GetPage(id)->Enable();
614 wxtabs->GetPage(id)->Disable();
618 std::cout << "Exception : " << str << '\n';
619 wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
626 ** Method called when SurfaceRendering B checkbox status changes: Either shows or hides SurfaceRendering B image
628 void wxMaracasRenderTabbedPanel::onCheckBoxSBChange(wxCommandEvent& event)
631 surrendmanager2->addRemoveActor(this->getPropIdV(), checkboxSB->GetValue());
634 wxtabs->SetSelection(id);
636 if(checkboxSB->GetValue())
638 wxtabs->GetPage(id)->Enable();
642 wxtabs->GetPage(id)->Disable();
646 std::cout << "Exception : " << str << '\n';
647 wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
654 ** Method called when SurfaceRendering C checkbox status changes: Either shows or hides SurfaceRendering C image
656 void wxMaracasRenderTabbedPanel::onCheckBoxSCChange(wxCommandEvent& event)
659 surrendmanager3->addRemoveActor(this->getPropIdV(), checkboxSC->GetValue());
662 wxtabs->SetSelection(id);
664 if(checkboxSC->GetValue())
666 wxtabs->GetPage(id)->Enable();
670 wxtabs->GetPage(id)->Disable();
674 std::cout << "Exception : " << str << '\n';
675 wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
682 ** Method called when MPR checkbox status changes: Either shows or hides actors
684 void wxMaracasRenderTabbedPanel::onMPROptions(wxCommandEvent& event)
687 wxtabs->SetSelection(id);
688 if(checkboxViewer->IsChecked())
690 wxtabs->GetPage(id)->Enable();
692 bool valueX = ((wxVtkMPR3DViewCntrlPanel*) controlPanelMPR3D)->GetVisibleX();
693 bool valueY = ((wxVtkMPR3DViewCntrlPanel*) controlPanelMPR3D)->GetVisibleY();
694 bool valueZ = ((wxVtkMPR3DViewCntrlPanel*) controlPanelMPR3D)->GetVisibleZ();
696 mwxvtkmpr3Dview->VisibleImageActor( 0, valueX );
697 mwxvtkmpr3Dview->VisibleImageActor( 1, valueY );
698 mwxvtkmpr3Dview->VisibleImageActor( 2, valueZ );
699 mwxvtkmpr3Dview->showOutlineActor(true);
700 mwxvtkmpr3Dview->Refresh();
702 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
703 mwxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
708 wxtabs->GetPage(id)->Disable();
710 mwxvtkmpr3Dview->VisibleImageActor(0, false );
711 mwxvtkmpr3Dview->VisibleImageActor(1, false );
712 mwxvtkmpr3Dview->VisibleImageActor(2, false );
713 mwxvtkmpr3Dview->showOutlineActor(false);
714 mwxvtkmpr3Dview->Refresh();
716 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
717 mwxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
724 void wxMaracasRenderTabbedPanel::onOpenParameters(wxCommandEvent& event){
727 dialog = new wxMaracasRenderImageManagementPanel(this, volmanager, surrendmanager1, surrendmanager2, surrendmanager3, volname, _id);
728 dialog->SetSize(400, 580);
731 else if(dialog != NULL)
740 void wxMaracasRenderTabbedPanel::onOpenCutter(wxCommandEvent& event)
742 vtkImageData* img = getVolImage();
743 std::vector<int> type;
749 wxMaracasDialog_NViewers* dialog1 = new wxMaracasDialog_NViewers(this, img, &type, wxString(_T("Cut Module") ));
750 //dialog1->SetSize(800, 700);
752 std::string path = crea::System::GetDllAppPath("bbcreaMaracasVisu.dll");
753 //cutter = new CutModel2MainPanel(dialog1, path);
755 //dialog1->AddPanel(cutter);
760 ** Gets volume rendering image asociated to the given ID
762 void wxMaracasRenderTabbedPanel::onColorChange(wxCommandEvent& event)
764 /*Temporarily disabled*/
766 //if(mwxwidget->ShowModal()==wxID_OK){
768 // mwxwidget->Show(false);
775 vtkImageData* wxMaracasRenderTabbedPanel::getVolImage()
777 return volmanager->getImageData();
781 ** Gets surface rendering A image asociated to the given ID
783 vtkImageData* wxMaracasRenderTabbedPanel::getSurfAImage()
785 return surrendmanager1->getImageData();
789 ** Gets surface rendering B image asociated to the given ID
791 vtkImageData* wxMaracasRenderTabbedPanel::getSurfBImage()
793 return surrendmanager2->getImageData();
797 ** Gets surface rendering C image asociated to the given ID
799 vtkImageData* wxMaracasRenderTabbedPanel::getSurfCImage()
801 return surrendmanager3->getImageData();
807 int wxMaracasRenderTabbedPanel::getPropIdV()