#include <wxManualSegmentation_MPRWidget.h>
Public Member Functions | |
wxManualSegmentation_MPRWidget (wxWindow *parent, marImageData *marimageData, double voxelSize) | |
~wxManualSegmentation_MPRWidget () | |
void | ConfigureVTK () |
void | RefreshView () |
void | OnRefreshView (wxCommandEvent &event) |
vtkMPRBaseData * | GetVtkMPRBaseData () |
vtkPlane2DView * | GetVtkPlane2DView () |
vtkRenderer * | GetRenderer () |
Private Member Functions | |
wxPanel * | Create3DViewContour (wxWindow *parent, vtkMPRBaseData *vtkmprbasedata) |
void | ConfigureContour () |
DECLARE_EVENT_TABLE () | |
Private Attributes | |
double | _voxelSize |
marImageData * | _marimageData |
wxMPRWidget2 * | _MPRWidget2 |
wxVtk3DBaseView * | _wxvtk3Dbaseview_Clipping3D_C |
wxVtkMPR3DView * | _wxvtkmpr3Dview_C |
wxVtkClipping3DView * | _wxvtkclipping3Dview_C |
Definition at line 34 of file wxManualSegmentation_MPRWidget.h.
wxManualSegmentation_MPRWidget::wxManualSegmentation_MPRWidget | ( | wxWindow * | parent, | |
marImageData * | marimageData, | |||
double | voxelSize | |||
) |
Definition at line 41 of file wxManualSegmentation_MPRWidget.cxx.
00043 : wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL) 00044 { 00045 00046 _voxelSize = voxelSize; 00047 _marimageData = marimageData; 00048 00049 _wxvtk3Dbaseview_Clipping3D_C = NULL; 00050 _wxvtkmpr3Dview_C = NULL; 00051 _wxvtkclipping3Dview_C = NULL; 00052 00053 wxSplitterWindow *pnlSplitter = new wxSplitterWindow( this , -1); 00054 00055 int ww,hh; 00056 _MPRWidget2 = new wxMPRWidget2(pnlSplitter,_marimageData,voxelSize); 00057 wxPanel * contour3DView = Create3DViewContour( pnlSplitter , _MPRWidget2->GetVtkMPRBaseData()); 00058 this->GetSize(&ww,&hh); 00059 00060 pnlSplitter -> SplitVertically( _MPRWidget2, contour3DView , 600); 00061 wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL ); 00062 sizer -> Add( pnlSplitter ,1,wxGROW ,0); 00063 pnlSplitter -> SetMinimumPaneSize( 50 ); 00064 this -> SetSizer(sizer); 00065 //EEDxx2.4 00066 // FitInside(); 00067 00068 00069 00070 //TEST 00071 00072 //EED 6 aout 2007 00073 /* 00074 MaracasTools* maracasTools = MaracasTools::GetInstance(); 00075 maracasTools->SetMPRWidget(this); 00076 wxFrame* maracasToolsFrame = maracasTools->GetToolbox(this); 00077 maracasToolsFrame->Show(); 00078 */ 00079 00080 00081 00082 }
wxManualSegmentation_MPRWidget::~wxManualSegmentation_MPRWidget | ( | ) |
Definition at line 86 of file wxManualSegmentation_MPRWidget.cxx.
References _wxvtk3Dbaseview_Clipping3D_C, _wxvtkclipping3Dview_C, and _wxvtkmpr3Dview_C.
00087 { 00088 if (_wxvtk3Dbaseview_Clipping3D_C != NULL) { delete _wxvtk3Dbaseview_Clipping3D_C; } 00089 if (_wxvtkmpr3Dview_C != NULL) { delete _wxvtkmpr3Dview_C; } 00090 if (_wxvtkclipping3Dview_C != NULL) { delete _wxvtkclipping3Dview_C; } 00091 }
void wxManualSegmentation_MPRWidget::ConfigureContour | ( | ) | [private] |
void wxManualSegmentation_MPRWidget::ConfigureVTK | ( | ) |
Definition at line 160 of file wxManualSegmentation_MPRWidget.cxx.
References _MPRWidget2, _wxvtk3Dbaseview_Clipping3D_C, _wxvtkclipping3Dview_C, _wxvtkmpr3Dview_C, wxMPRWidget::ConfigureVTK(), wxVtkBaseView::GetInteractorStyleBaseView(), vtkInteractorStyle3DView::SetWxVtkClipping3DView(), and vtkInteractorStyle3DView::SetWxVtkMPR3DView().
Referenced by wxMaracas_ManualSegmentation_MPR::ConfigureVTK().
00160 { 00161 _MPRWidget2->ConfigureVTK(); 00162 _wxvtk3Dbaseview_Clipping3D_C -> Configure(); 00163 _wxvtkmpr3Dview_C -> Configure(); 00164 _wxvtkclipping3Dview_C -> Configure(); 00165 00166 vtkInteractorStyle3DView *vtkinteractorstyle3Dview = new vtkInteractorStyle3DView(); 00167 vtkinteractorstyle3Dview->SetWxVtkMPR3DView(_wxvtkmpr3Dview_C); 00168 vtkinteractorstyle3Dview->SetWxVtkClipping3DView(_wxvtkclipping3Dview_C); 00169 _wxvtk3Dbaseview_Clipping3D_C->GetInteractorStyleBaseView()->AddInteractorStyleMaracas( vtkinteractorstyle3Dview ); 00170 00171 }
wxPanel * wxManualSegmentation_MPRWidget::Create3DViewContour | ( | wxWindow * | parent, | |
vtkMPRBaseData * | vtkmprbasedata | |||
) | [private] |
Definition at line 95 of file wxManualSegmentation_MPRWidget.cxx.
References _wxvtk3Dbaseview_Clipping3D_C, _wxvtkclipping3Dview_C, _wxvtkmpr3Dview_C, vtkMPR3DDataViewer::Configure(), vtkClipping3DDataViewer::Configure(), wxVtkMPR3DView::CreateControlPanel(), wxVtkBaseView::GetWxVTKRenderWindowInteractor(), wxVtkClipping3DView::SetVtkClipping3DDataViewer(), wxVtkMPR3DView::SetVtkMPR3DDataViewer(), vtkMPR3DDataViewer::SetVtkMPRBaseData(), and vtkClipping3DDataViewer::SetVtkMPRBaseData().
00096 { 00097 wxWindow *wxwindow; 00098 wxPanel *panel=new wxPanel(parent,-1); 00099 00100 wxSplitterWindow *panelClipping3D = new wxSplitterWindow( panel , -1); 00101 _wxvtk3Dbaseview_Clipping3D_C = new wxVtk3DBaseView( panelClipping3D ); 00102 00103 _wxvtkclipping3Dview_C = new wxVtkClipping3DView(_wxvtk3Dbaseview_Clipping3D_C); 00104 vtkClipping3DDataViewer *vtkclipping3Ddataviewer = new vtkClipping3DDataViewer(); 00105 vtkclipping3Ddataviewer->SetVtkMPRBaseData(vtkmprbasedata); 00106 vtkclipping3Ddataviewer->Configure(); 00107 _wxvtkclipping3Dview_C->SetVtkClipping3DDataViewer(vtkclipping3Ddataviewer); 00108 00109 _wxvtkmpr3Dview_C = new wxVtkMPR3DView( _wxvtk3Dbaseview_Clipping3D_C ); 00110 vtkMPR3DDataViewer *vtkmpr3Ddataviewer = new vtkMPR3DDataViewer(); 00111 vtkmpr3Ddataviewer->SetVtkMPRBaseData(vtkmprbasedata); 00112 vtkmpr3Ddataviewer->Configure(); 00113 _wxvtkmpr3Dview_C->SetVtkMPR3DDataViewer(vtkmpr3Ddataviewer); 00114 00115 wxWindow *window3D = _wxvtk3Dbaseview_Clipping3D_C->GetWxVTKRenderWindowInteractor(); 00116 00117 wxPanel *panelControl = new wxPanel(panelClipping3D,-1); 00118 wxPanel *controlPanelMPR3D = _wxvtkmpr3Dview_C->CreateControlPanel(panelControl); 00119 wxPanel *controlPanelClipping3D = _wxvtkclipping3Dview_C->CreateControlPanel(panelControl); 00120 00121 // wxBoxSizer *sizerCtrol = new wxBoxSizer(wxVERTICAL); 00122 wxFlexGridSizer *sizerCtrol = new wxFlexGridSizer(1); 00123 00124 sizerCtrol->Add(controlPanelMPR3D , 1, wxALL|wxEXPAND, 2); 00125 sizerCtrol->Add(controlPanelClipping3D , 1, wxALL|wxEXPAND, 2); 00126 panelControl->SetAutoLayout(true); 00127 panelControl->SetSizer(sizerCtrol); 00128 panelControl->SetSize(400,350); 00129 panelControl->Layout(); 00130 00131 int ww,hh; 00132 wxWindow *pp=this; 00133 while (pp->GetParent()!=NULL) pp=pp->GetParent(); 00134 pp->GetSize(&ww,&hh); 00135 00136 //EEDxx2.4 00137 // panelClipping3D -> SetMinimumPaneSize( -50 ); 00138 panelClipping3D -> SplitHorizontally( panelControl,window3D, (int)(hh*0.20) ); 00139 wxwindow=panelClipping3D; 00140 00141 wxBoxSizer *sizerH1 = new wxBoxSizer(wxHORIZONTAL); 00142 sizerH1->Add(wxwindow , 1, wxALL|wxEXPAND, 0); 00143 panel->SetAutoLayout(true); 00144 panel->SetSizer(sizerH1); 00145 panel->SetSize(400,400); 00146 panel->Layout(); 00147 00148 //EEDxx2.4 00149 // panel->FitInside(); 00150 // FitInside(); 00151 00152 00153 00154 00155 return panel; 00156 }
wxManualSegmentation_MPRWidget::DECLARE_EVENT_TABLE | ( | ) | [private] |
vtkRenderer * wxManualSegmentation_MPRWidget::GetRenderer | ( | ) |
Definition at line 197 of file wxManualSegmentation_MPRWidget.cxx.
References _wxvtkmpr3Dview_C, wxVtk3DBaseView::GetRenderer(), and wxVtkMPR3DView::GetWxvtk3Dbaseview().
00197 { 00198 return _wxvtkmpr3Dview_C->GetWxvtk3Dbaseview()->GetRenderer(); 00199 }
vtkMPRBaseData * wxManualSegmentation_MPRWidget::GetVtkMPRBaseData | ( | ) |
Definition at line 174 of file wxManualSegmentation_MPRWidget.cxx.
References _MPRWidget2, and wxMPRWidget::GetVtkMPRBaseData().
Referenced by wxMaracas_ManualSegmentation_MPR::GetVtkMPRBaseData().
00174 { 00175 return _MPRWidget2->GetVtkMPRBaseData(); 00176 }
vtkPlane2DView * wxManualSegmentation_MPRWidget::GetVtkPlane2DView | ( | ) |
Definition at line 178 of file wxManualSegmentation_MPRWidget.cxx.
References _MPRWidget2, and wxMPRWidget::GetVtkPlane2DView().
Referenced by wxMaracas_ManualSegmentation_MPR::GetVtkPlane2DView().
00179 { 00180 return _MPRWidget2->GetVtkPlane2DView(); 00181 }
void wxManualSegmentation_MPRWidget::OnRefreshView | ( | wxCommandEvent & | event | ) |
Definition at line 183 of file wxManualSegmentation_MPRWidget.cxx.
References RefreshView().
00184 { 00185 RefreshView(); 00186 }
void wxManualSegmentation_MPRWidget::RefreshView | ( | ) |
Definition at line 188 of file wxManualSegmentation_MPRWidget.cxx.
References _MPRWidget2, _wxvtk3Dbaseview_Clipping3D_C, _wxvtkclipping3Dview_C, _wxvtkmpr3Dview_C, and wxMPRWidget::RefreshView().
Referenced by OnRefreshView().
00189 { 00190 this->_MPRWidget2->RefreshView(); 00191 _wxvtkmpr3Dview_C -> RefreshView(); 00192 _wxvtkclipping3Dview_C -> Refresh(); 00193 _wxvtk3Dbaseview_Clipping3D_C -> Refresh(); 00194 }
Definition at line 55 of file wxManualSegmentation_MPRWidget.h.
Definition at line 56 of file wxManualSegmentation_MPRWidget.h.
Referenced by ConfigureVTK(), GetVtkMPRBaseData(), GetVtkPlane2DView(), and RefreshView().
double wxManualSegmentation_MPRWidget::_voxelSize [private] |
Definition at line 54 of file wxManualSegmentation_MPRWidget.h.
Definition at line 59 of file wxManualSegmentation_MPRWidget.h.
Referenced by ConfigureVTK(), Create3DViewContour(), RefreshView(), and ~wxManualSegmentation_MPRWidget().
Definition at line 61 of file wxManualSegmentation_MPRWidget.h.
Referenced by ConfigureVTK(), Create3DViewContour(), RefreshView(), and ~wxManualSegmentation_MPRWidget().
Definition at line 60 of file wxManualSegmentation_MPRWidget.h.
Referenced by ConfigureVTK(), Create3DViewContour(), GetRenderer(), RefreshView(), and ~wxManualSegmentation_MPRWidget().