Panel class composed of a vtk renderwindow with double click available and add some buttons. More...
#include <wxSurfaceWidget.h>
Public Types | |
enum | ToolBarIDs { ID_TOOL_BAR = 300, ID_BUTTON_NEW_AXIS, ID_BUTTON_DELETE_AXIS, ID_CHECKBOX_ISOVISIBLE, ID_SLIDER_ISOVAL, ID_SLIDER_OPACITY, ID_BUTTON_CHOOSE_COLOR, ID_BUTTON_QUANTIFICATION, ID_BUTTON_MANUAL_AXIS } |
enum | WidgetsIDs { ID_WORLD3D = 800 } |
Public Member Functions | |
wxSurfaceWidget (wxWindow *parent, wxWindowID id=-1, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxPanelNameStr) | |
~wxSurfaceWidget () | |
void | AddAxisActors () |
void | RefreshAxis () |
void | Clean3D () |
void | OnExtractAxis (wxCommandEvent &event) |
void | OnDeleteAxis (wxCommandEvent &event) |
void | OnQuantification (wxCommandEvent &event) |
void | OnChooseSurfaceColor (wxCommandEvent &event) |
void | OnIsoVisible (wxCommandEvent &event) |
void | OnSliderIsovalueScrollThumbrelease (wxScrollEvent &event) |
void | OnSliderOpacityScrollThumbrelease (wxScrollEvent &event) |
void | ShowMARACASData (marInterface *mar) |
void | CallBackOnLeftDClick (wxMouseEvent &event) |
void | SetId_toolbar_plans (int _id_toolbar_plans) |
int | GetIsovalue () |
int | GetOpacity () |
vtk3DSurfaceWidget * | GetVtk3DSurfaceWidget () |
void | OnManualAxis (wxCommandEvent &event) |
void | OnRefreshManualAxis (wxCommandEvent &event) |
Private Member Functions | |
DECLARE_EVENT_TABLE () | |
virtual void | CallBackOnMouseWheel (wxMouseEvent &event) |
Private Attributes | |
int | _id_toolbar_plans |
wxButton * | _bt_new_axis |
wxButton * | _bt_delete_axis |
wxButton * | _bt_call_quantification |
wxButton * | _bt_manual_axis |
wxButton * | _bt_refresh_manual_axis |
wxStaticText * | _st_cero |
wxStaticText * | _st_text |
wxStaticText * | _st_one |
wxStaticText * | _st_two |
wxCheckBox * | _isoVisible |
wxSlider * | _isoValue |
wxSlider * | _opacity |
wxButton * | _surface_color |
marInterface * | _mar |
vtk3DSurfaceWidget * | _3DWorld |
Panel class composed of a vtk renderwindow with double click available and add some buttons.
Definition at line 30 of file wxSurfaceWidget.h.
ID_TOOL_BAR | |
ID_BUTTON_NEW_AXIS | |
ID_BUTTON_DELETE_AXIS | |
ID_CHECKBOX_ISOVISIBLE | |
ID_SLIDER_ISOVAL | |
ID_SLIDER_OPACITY | |
ID_BUTTON_CHOOSE_COLOR | |
ID_BUTTON_QUANTIFICATION | |
ID_BUTTON_MANUAL_AXIS |
Definition at line 33 of file wxSurfaceWidget.h.
00033 { 00034 ID_TOOL_BAR = 300, 00035 ID_BUTTON_NEW_AXIS, 00036 ID_BUTTON_DELETE_AXIS, 00037 ID_CHECKBOX_ISOVISIBLE, 00038 ID_SLIDER_ISOVAL, 00039 ID_SLIDER_OPACITY, 00040 ID_BUTTON_CHOOSE_COLOR, 00041 ID_BUTTON_QUANTIFICATION, 00042 ID_BUTTON_MANUAL_AXIS, 00043 };
Definition at line 45 of file wxSurfaceWidget.h.
00045 { 00046 ID_WORLD3D = 800 00047 };
wxSurfaceWidget::wxSurfaceWidget | ( | wxWindow * | parent, | |
wxWindowID | id = -1 , |
|||
const wxPoint & | pos = wxDefaultPosition , |
|||
const wxSize & | size = wxDefaultSize , |
|||
long | style = 0 , |
|||
const wxString & | name = wxPanelNameStr | |||
) |
Definition at line 53 of file wxSurfaceWidget.cxx.
References marDictionary::GetString().
00055 : wxPanel( parent, id, pos, size, style, name ) 00056 { 00057 printf("EED wxSurfaceWidget::wxSurfaceWidget 1 \n" ); 00058 00059 marDictionary marDict; 00060 char tmp[256]; 00061 00062 _id_toolbar_plans=-1; 00063 _mar = NULL; 00064 00065 _3DWorld = new vtk3DSurfaceWidget( this, ID_WORLD3D ); 00066 _3DWorld->SetInterfaceVtkPanelWidgets(this); 00067 00068 // Set up axis toolbar 00069 wxBitmap axisToolBarBitmaps[ 3 ]; 00070 axisToolBarBitmaps[ 0 ] = wxBITMAP( axistoolbar_extract ); 00071 axisToolBarBitmaps[ 1 ] = wxBITMAP( axistoolbar_erase ); 00072 axisToolBarBitmaps[ 2 ] = wxBITMAP( toolbar_plans ); 00073 00074 00075 _bt_new_axis = new wxBitmapButton( this, ID_BUTTON_NEW_AXIS , axisToolBarBitmaps[ 0 ] ); 00076 _bt_delete_axis = new wxBitmapButton( this, ID_BUTTON_DELETE_AXIS , axisToolBarBitmaps[ 1 ] ); 00077 _bt_call_quantification = new wxBitmapButton( this, ID_BUTTON_QUANTIFICATION, axisToolBarBitmaps[ 2 ],wxDefaultPosition,wxSize(70,70)); 00078 00079 _bt_manual_axis = new wxButton(this, ID_BUTTON_MANUAL_AXIS, _T("Manual Axis")); 00080 // _bt_manual_axis->SetSize(80,40); 00081 00082 00083 00084 00085 00086 //By default the Iso value is visible. 00087 _isoVisible = new wxCheckBox ( this, ID_CHECKBOX_ISOVISIBLE, wxString(marDict.GetString(15), wxConvUTF8) ); //"Iso visible" 00088 _isoValue = new wxSlider ( this, ID_SLIDER_ISOVAL, 0, 0, 10000 , wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL | wxSL_LABELS); 00089 _opacity = new wxSlider ( this, ID_SLIDER_OPACITY, 0, 0, 100 , wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL | wxSL_LABELS); 00090 _isoVisible->SetValue( true ); 00091 _isoValue->SetLabel( wxString(marDict.GetString(25), wxConvUTF8) ); // "IsoValue" 00092 _opacity->SetLabel( wxString(marDict.GetString(0), wxConvUTF8) ); //"Surface opacity" 00093 00094 00095 //I can't get to brighten the button when mouse over: 00096 //_surface_color = new wxButton(this, ID_BUTTON_CHOOSE_COLOR, "", wxPoint(0,0), wxSize(150,50), wxRAISED_BORDER); 00097 //_surface_color->SetBackgroundColour( wxColour(250, 235, 214)); 00098 00099 00100 //Set Properties: 00101 _isoValue->SetSize(wxSize(64, 16)); 00102 //End set properties 00103 00104 //Do the layout: 00105 wxStaticBoxSizer* sizer_3 = new wxStaticBoxSizer(new wxStaticBox(this, -1,wxString(marDict.GetString(10), wxConvUTF8) ), wxVERTICAL);//"Iso Surface values" 00106 //Some borders are needed on wxGTK otherwise static text and slider labels collides. 00107 sizer_3->Add(_isoVisible, 1, wxALL|wxEXPAND, 2); 00108 sizer_3->Add(new wxStaticText(this, -1, wxString(marDict.GetString(20), wxConvUTF8)), 1, wxALL|wxEXPAND, 2); // "Opacity (%)" 00109 sizer_3->Add(_opacity, 1, wxALL|wxEXPAND, 2); 00110 sizer_3->Add(new wxStaticText(this, -1,wxString(marDict.GetString(25), wxConvUTF8) ), 1, wxALL|wxEXPAND, 2); // "Isovalue" 00111 sizer_3->Add(_isoValue, 1, wxALL|wxEXPAND, 2); 00112 00113 //Do the layout: 00114 strcpy( tmp , marDict.GetString(30) ); 00115 _st_cero = new wxStaticText(this,-1 , wxString(tmp, wxConvUTF8),wxPoint(0,0),wxDefaultSize,wxALIGN_CENTRE ); // "0" 00116 00117 strcpy( tmp , marDict.GetString(35) ); strcat( tmp , "\n" ); strcat( tmp , marDict.GetString(40) ); 00118 _st_text = new wxStaticText(this,-1 , wxString(tmp, wxConvUTF8),wxPoint(0,0),wxDefaultSize,wxALIGN_CENTRE); // "Select\n artery" 00119 00120 strcpy( tmp , marDict.GetString(45) ); strcat( tmp , "\n" ); strcat( tmp , marDict.GetString(50) ); 00121 _st_one = new wxStaticText(this,-1 , wxString(tmp, wxConvUTF8),wxPoint(0,0),wxDefaultSize,wxALIGN_CENTRE ); // "1 \n Axis Extraction" 00122 00123 strcpy( tmp , marDict.GetString(55) ); strcat( tmp , "\n" ); strcat( tmp , marDict.GetString(60) ); 00124 _st_two = new wxStaticText(this,-1 , wxString(tmp, wxConvUTF8),wxPoint(0,0),wxDefaultSize,wxALIGN_CENTRE); // " 2 \n Quantification" 00125 00126 00127 // wxFont font(12,wxDEFAULT ,wxNORMAL,wxBOLD); 00128 // st_blank->SetFont(font); 00129 // st_next1->SetFont(font); 00130 // st_next2->SetFont(font); 00131 // _st_one->SetFont(font); 00132 // _st_two->SetFont(font); 00133 // _st_cero->SetFont(font); 00134 00135 _st_one->Disable(); 00136 _bt_new_axis->Disable(); 00137 _bt_delete_axis->Disable(); 00138 _st_two->Disable(); 00139 _bt_call_quantification->Disable(); 00140 00141 00142 00143 wxFlexGridSizer *axis_sizer = new wxFlexGridSizer(3,5,5,5); 00144 axis_sizer->Add(_st_cero ,0,wxALIGN_CENTER_HORIZONTAL); 00145 axis_sizer->Add(new wxStaticText(this,-1 , _T(" ")) ,0,wxALIGN_CENTER_HORIZONTAL); 00146 axis_sizer->Add(_st_one ,0,wxALIGN_CENTER_HORIZONTAL); 00147 axis_sizer->Add(new wxStaticText(this,-1 , _T(" ")) ,0,wxALIGN_CENTER_HORIZONTAL); 00148 axis_sizer->Add(_st_two ,0,wxALIGN_CENTER_HORIZONTAL); 00149 00150 axis_sizer->Add(_st_text ,0,wxALIGN_CENTRE_VERTICAL); 00151 axis_sizer->Add(new wxStaticText(this,-1 , _T(" ")) ,0,wxALIGN_CENTRE_VERTICAL); 00152 axis_sizer->Add(_bt_new_axis ,0,wxALIGN_CENTRE_VERTICAL|wxALIGN_CENTER_HORIZONTAL); 00153 axis_sizer->Add(new wxStaticText(this,-1 , _T(" ")) ,0,wxALIGN_CENTRE_VERTICAL); 00154 axis_sizer->Add(_bt_call_quantification ,0,wxALIGN_CENTRE_VERTICAL|wxALIGN_CENTER_HORIZONTAL); 00155 00156 axis_sizer->Add(new wxStaticText(this,-1 , _T(" ")) ,0,wxALIGN_CENTRE_VERTICAL); 00157 axis_sizer->Add(new wxStaticText(this,-1 , _T(" ")) ,0,wxALIGN_CENTRE_VERTICAL); 00158 axis_sizer->Add(_bt_delete_axis ,0,wxALIGN_CENTRE_VERTICAL|wxALIGN_CENTER_HORIZONTAL); 00159 wxBoxSizer *sizer_2 = new wxBoxSizer(wxVERTICAL); 00160 sizer_2->Add(sizer_3 , 1, wxEXPAND, 0); 00161 sizer_2->Add(new wxStaticText(this,-1 , _T(" ")) ); 00162 sizer_2->Add(new wxStaticText(this,-1 , _T(" ")) ); 00163 sizer_2->Add(new wxStaticText(this,-1 , _T(" ")) ); 00164 sizer_2->Add(new wxStaticText(this,-1 , _T(" ")) ); 00165 sizer_2->Add(axis_sizer , 1, wxEXPAND|wxALL|wxALIGN_LEFT, 0); 00166 sizer_2->Add(_bt_manual_axis); 00167 00168 00169 wxBoxSizer* sizer_1 = new wxBoxSizer(wxHORIZONTAL); 00170 sizer_1->Add(_3DWorld, 1, wxEXPAND, 0); 00171 sizer_1->Add(sizer_2, 0, wxALL|wxALIGN_RIGHT, 5); 00172 00173 SetSizer(sizer_1); 00174 SetAutoLayout(true); 00175 Layout(); 00176 00177 00178 00179 }
wxSurfaceWidget::~wxSurfaceWidget | ( | ) |
Definition at line 182 of file wxSurfaceWidget.cxx.
References _3DWorld.
00183 { 00184 _3DWorld->Delete(); 00185 }
void wxSurfaceWidget::AddAxisActors | ( | ) |
Definition at line 323 of file wxSurfaceWidget.cxx.
References _3DWorld, marInterface::_experiment, _mar, marInterface::_parameters, marAxis::Draw(), marExperiment::getAxis(), marParameters::getVoxelSize(), and vtk3DSurfaceWidget::SetAxis().
Referenced by OnExtractAxis(), OnManualAxis(), and wxMaracas3DBrowser::RegenerateAll().
00323 { 00324 // Axes ... 00325 marAxis *maraxis = _mar->_experiment->getAxis( ); 00326 vtkPolyData *vtkpolydata = maraxis->Draw(); 00327 vtkPoints *vtkpoints = vtkpolydata->GetPoints(); 00328 int size = vtkpoints->GetNumberOfPoints(); 00329 00330 // EED 22 sep 2006 00331 // EED 07 dic 2006 00332 double voxelSize = _mar->_parameters->getVoxelSize(); 00333 double pp[3]; 00334 int i; 00335 for (i=0;i<size;i++) 00336 { 00337 vtkpoints->GetPoint(i,pp); 00338 pp[0]=pp[0] * voxelSize; 00339 pp[1]=pp[1] * voxelSize; 00340 pp[2]=pp[2] * voxelSize; 00341 } 00342 00343 00344 if (maraxis!=NULL) _3DWorld->SetAxis( vtkpolydata ); 00345 // Other Actors.. 00346 // .. 00347 }
void wxSurfaceWidget::CallBackOnLeftDClick | ( | wxMouseEvent & | event | ) | [virtual] |
Reimplemented from InterfaceVtkPanelWidgets.
Definition at line 378 of file wxSurfaceWidget.cxx.
References _3DWorld, _bt_new_axis, marInterface::_experiment, _mar, _st_one, marExperiment::getAxis(), and vtk3DSurfaceWidget::SetInitialPoint().
00378 { 00379 _3DWorld->SetInitialPoint(); 00380 if ( _3DWorld->GetInitialSphere() ){ 00381 marAxis *maraxis = _mar->_experiment->getAxis( ); 00382 00383 if (maraxis==NULL) { 00384 _st_one->Enable(); 00385 _bt_new_axis->Enable(); 00386 } else { 00387 _st_one->Disable(); 00388 _bt_new_axis->Disable(); 00389 } 00390 00391 } 00392 00393 00394 if ( !_3DWorld->GetInitialSphere() ) { 00395 _st_one->Disable(); 00396 _bt_new_axis->Disable(); 00397 } 00398 00399 }
void InterfaceVtkPanelWidgets::CallBackOnMouseWheel | ( | wxMouseEvent & | event | ) | [virtual, inherited] |
Reimplemented in wxQuantificationWidget, wxQuantificationWidgetCT, and LoadRangeImage.
Definition at line 20 of file InterfaceVtkPanelWidgets.cxx.
Referenced by wxImageViewerWidgetRoi::ExecuteEvent(), wxImageViewerWidget::ExecuteEvent1(), and vtk3DSurfaceWidget::OnMouseWheel().
void wxSurfaceWidget::Clean3D | ( | ) |
Definition at line 349 of file wxSurfaceWidget.cxx.
References _3DWorld, and vtk3DSurfaceWidget::RemoveAxis().
Referenced by OnDeleteAxis(), and wxMaracas3DBrowser::RegenerateAll().
00349 { 00350 _3DWorld->RemoveAxis( ); 00351 }
wxSurfaceWidget::DECLARE_EVENT_TABLE | ( | ) | [private] |
int wxSurfaceWidget::GetIsovalue | ( | ) |
Definition at line 412 of file wxSurfaceWidget.cxx.
References _isoValue.
Referenced by wxMaracas3DBrowser::GetIsovalue().
00412 { 00413 return _isoValue->GetValue(); 00414 }
int wxSurfaceWidget::GetOpacity | ( | ) |
Definition at line 416 of file wxSurfaceWidget.cxx.
References _opacity.
Referenced by wxMaracas3DBrowser::GetOpacity().
00416 { 00417 return _opacity->GetValue(); 00418 }
vtk3DSurfaceWidget * wxSurfaceWidget::GetVtk3DSurfaceWidget | ( | ) |
Definition at line 420 of file wxSurfaceWidget.cxx.
References _3DWorld.
Referenced by wxPathologyWidget_01::ConfigureMPR(), wxPathologyWidget_01::ConfigureSTL(), wxEmptyPanelWidget_2::ConfigureVTK(), wxEmptyPanelWidget_2::ExtractTree1_JF(), wxEmptyPanelWidget_2::ExtractTree2_JF(), wxPathologyWidget_01::OnBtnExtractAxis(), wxPathologyWidget_01::OnBtnExtractPat(), wxEmptyPanelWidget_2::OnBtnExtractTree1_JF(), wxEmptyPanelWidget_2::OnBtnExtractTree2_JF(), wxEmptyPanelWidget_2::OnBtnExtractTree_MH_JFC(), wxPathologyWidget_01::OnBtnSetP1(), wxPathologyWidget_01::OnBtnSetP2(), wxPathologyWidget_01::OnBtnSetPat(), wxEmptyPanelWidget_2::PaintVascularTree_MH_JFC(), wxEmptyPanelWidget_2::PaintVascularVolume_MH_JFC(), wxPathologyWidget_01::Refresh(), wxEmptyPanelWidget_2::Refresh(), wxEmptyPanelWidget_2::ResetTree1_JF(), wxEmptyPanelWidget_2::ResetTree2_JF(), and wxEmptyPanelWidget_2::ResetTree_MH_JFC().
00420 { 00421 return _3DWorld; 00422 }
void wxSurfaceWidget::OnChooseSurfaceColor | ( | wxCommandEvent & | event | ) |
void wxSurfaceWidget::OnDeleteAxis | ( | wxCommandEvent & | event | ) |
Definition at line 357 of file wxSurfaceWidget.cxx.
References _bt_call_quantification, _bt_delete_axis, _bt_new_axis, marInterface::_experiment, _mar, _st_one, _st_two, Clean3D(), marExperiment::DeleteAxis(), and ID_BUTTON_DELETE_AXIS.
Referenced by OnManualAxis().
00358 { 00359 wxBusyCursor wait; 00360 Clean3D(); 00361 _mar->_experiment->DeleteAxis( 0 ); 00362 00363 //Disabling tool 00364 //wxToolBar::EnableTool This function should only be called after Realize. 00365 00366 _bt_new_axis->Enable(); 00367 _bt_delete_axis->Disable(); 00368 _bt_call_quantification->Disable(); 00369 _st_one->Enable(); 00370 _st_two->Disable(); 00371 00372 event.Skip(); 00373 wxCommandEvent ev(wxEVT_COMMAND_MENU_SELECTED,ID_BUTTON_DELETE_AXIS); 00374 ProcessEvent( ev ); 00375 00376 }
void wxSurfaceWidget::OnExtractAxis | ( | wxCommandEvent & | event | ) |
Definition at line 252 of file wxSurfaceWidget.cxx.
References _3DWorld, _bt_call_quantification, _bt_delete_axis, _bt_new_axis, marInterface::_experiment, _mar, _st_two, AddAxisActors(), marExperiment::extractVascularTree(), marExperiment::getDynData(), vtk3DSurfaceWidget::GetSphereCenter(), marDynData::getVolume(), ID_BUTTON_NEW_AXIS, marExperiment::setAxis(), and marExperiment::setStartPoint().
00253 { 00254 if(_3DWorld->GetInitialSphere() ) 00255 { 00256 // EED Borrame 00257 long int startTimeAE = clock();; 00258 00259 00260 wxBusyCursor wait; 00261 00262 gtm::TVector< double > xc( 3 ); 00263 double data[3]; 00264 int extent[ 6 ]; 00265 double spc[ 3 ]; 00266 // PS -> vtkPolyData* allData; //PS 00267 00268 vtkImageData *imageData=_mar->_experiment->getDynData( )->getVolume( )->castVtk(); 00269 imageData->GetExtent( extent ); 00270 imageData->GetSpacing( spc ); 00271 _3DWorld->GetSphereCenter( data ); 00272 00273 00274 //EED 20 Sep 2006 00275 // _mar->_experiment->setStartPoint( (int)data[0] - extent[0], (int)data[1] - extent[2], (int)data[2] - extent[4]); 00276 double x,y,z; 00277 x= (data[0] - extent[0]) / spc[0]; 00278 y= (data[1] - extent[2]) / spc[1]; 00279 z= (data[2] - extent[4]) / spc[2]; 00280 _mar->_experiment->setStartPoint( (int)x, (int)y, (int)z); 00281 00282 _mar->_experiment->extractVascularTree( ); 00283 00284 _mar->_experiment->setAxis( 0 ); 00285 00286 AddAxisActors(); 00287 // PS -> allData = temp->Draw( ); //PS 00288 // PS -> _3DWorld->SetAxis( allData );//PS 00289 00290 //Disabling tool 00291 00292 //EED _axis_tb->EnableTool(ID_BUTTON_NEW_AXIS, false); 00293 //EED _axis_tb->EnableTool(ID_BUTTON_DELETE_AXIS, true); 00294 00295 _bt_new_axis->Disable(); 00296 _st_two->Enable(); 00297 _bt_delete_axis->Enable(); 00298 _bt_call_quantification->Enable(); 00299 00300 event.Skip(); 00301 wxCommandEvent ev(wxEVT_COMMAND_MENU_SELECTED,ID_BUTTON_NEW_AXIS); 00302 ProcessEvent( ev ); 00303 00304 /* 00305 //EED Borrame 00306 FILE *ff; 00307 ff = fopen("c:/temp/MaracasStadistics.txt","a+"); 00308 long int endtime = clock(); 00309 double sg = (double)(endtime-startTimeAE) / (double)CLK_TCK; 00310 fprintf(ff,"EED %p wxSurfaceWidget::OnExtractAxis > AE_t = %f \n",this,sg); 00311 fclose(ff); 00312 */ 00313 00314 } 00315 else 00316 { 00317 wxMessageBox( _T("Set an initial point.\n \n (Double click over the interest artery.)"), 00318 _T("DxMM : MARACAS"), wxOK | wxCENTRE | wxICON_INFORMATION, this); 00319 } 00320 00321 }
void wxSurfaceWidget::OnIsoVisible | ( | wxCommandEvent & | event | ) |
void wxSurfaceWidget::OnManualAxis | ( | wxCommandEvent & | event | ) |
Definition at line 424 of file wxSurfaceWidget.cxx.
References _bt_call_quantification, _bt_delete_axis, _bt_new_axis, marInterface::_experiment, _mar, marInterface::_parameters, _st_two, AddAxisActors(), marExperiment::appendAxis(), wxMaracas_ManualTree_MPRDlg::ConfigureVTK(), wxMaracas_ManualTree_MPRDlg::ExportPoints(), marExperiment::getDynData(), marObject::getParameters(), marDynData::getVolume(), marParameters::getVoxelSize(), ID_BUTTON_NEW_AXIS, OnDeleteAxis(), and wxMaracas_ManualTree_MPRDlg::SetMarAxis().
00425 { 00426 wxBusyCursor wait; 00427 if ( _bt_delete_axis->IsEnabled() ) 00428 { 00429 OnDeleteAxis(event); 00430 } 00431 00432 vtkImageData *imagedata = _mar->_experiment->getDynData( )->getVolume( )->castVtk(); 00433 wxMaracas_ManualTree_MPRDlg *maracasManualTreeMPRDlg = new wxMaracas_ManualTree_MPRDlg( this , new marImageData(imagedata), _mar->_parameters->getVoxelSize() ); 00434 marAxis *maraxis = new marAxis( _mar->_experiment->getParameters() ); 00435 maracasManualTreeMPRDlg->SetMarAxis( maraxis ); 00436 maracasManualTreeMPRDlg->ConfigureVTK(); 00437 if (maracasManualTreeMPRDlg->ShowModal()==wxID_OK) 00438 { 00439 if (maracasManualTreeMPRDlg->ExportPoints()==true){ 00440 _mar->_experiment->appendAxis(maraxis); 00441 _bt_new_axis->Disable(); 00442 _st_two->Enable(); 00443 _bt_delete_axis->Enable(); 00444 _bt_call_quantification->Enable(); 00445 AddAxisActors(); 00446 event.Skip(); 00447 wxCommandEvent ev(wxEVT_COMMAND_MENU_SELECTED,ID_BUTTON_NEW_AXIS); 00448 ProcessEvent( ev ); 00449 } else { 00450 delete maraxis; 00451 } 00452 } 00453 maracasManualTreeMPRDlg->Destroy(); 00454 00455 }
void wxSurfaceWidget::OnQuantification | ( | wxCommandEvent & | event | ) |
Definition at line 401 of file wxSurfaceWidget.cxx.
References _id_toolbar_plans.
00401 { 00402 if (_id_toolbar_plans!=-1){ 00403 wxCommandEvent ev(wxEVT_COMMAND_MENU_SELECTED,_id_toolbar_plans); 00404 ProcessEvent( ev ); 00405 } 00406 }
void wxSurfaceWidget::OnRefreshManualAxis | ( | wxCommandEvent & | event | ) |
void wxSurfaceWidget::OnSliderIsovalueScrollThumbrelease | ( | wxScrollEvent & | event | ) |
Definition at line 241 of file wxSurfaceWidget.cxx.
References _3DWorld, and vtk3DSurfaceWidget::SetSurfaceIsoValue().
00242 { 00243 wxBusyCursor wait; 00244 _3DWorld->SetSurfaceIsoValue( event.GetPosition() ); 00245 }
void wxSurfaceWidget::OnSliderOpacityScrollThumbrelease | ( | wxScrollEvent & | event | ) |
Definition at line 247 of file wxSurfaceWidget.cxx.
References _3DWorld, and vtk3DSurfaceWidget::SetSurfaceOpacity().
00248 { 00249 _3DWorld->SetSurfaceOpacity( event.GetPosition() ); 00250 }
void wxSurfaceWidget::RefreshAxis | ( | ) |
Definition at line 353 of file wxSurfaceWidget.cxx.
References _3DWorld, and vtk3DSurfaceWidget::Render().
Referenced by wxMaracas3DBrowser::RegenerateAll().
void wxSurfaceWidget::SetId_toolbar_plans | ( | int | _id_toolbar_plans | ) |
Definition at line 408 of file wxSurfaceWidget.cxx.
References _id_toolbar_plans.
Referenced by wxMaracas3DBrowser::wxMaracas3DBrowser().
00408 { 00409 _id_toolbar_plans=id_toolbar_plans; 00410 }
void wxSurfaceWidget::ShowMARACASData | ( | marInterface * | mar | ) |
Definition at line 188 of file wxSurfaceWidget.cxx.
References _3DWorld, marInterface::_experiment, _isoValue, _mar, _opacity, vtk3DSurfaceWidget::ConfigureVTK(), marExperiment::getDynData(), marDynData::getVolume(), vtk3DSurfaceWidget::InitCameraReset(), min, and vtk3DSurfaceWidget::ShowMARACASData().
Referenced by wxPathologyWidget_01::ConfigureVTK(), wxEmptyPanelWidget_2::ConfigureVTK(), and wxMaracas3DBrowser::LoadData().
00189 { 00190 wxBusyCursor wait; 00191 00192 double min, max; //backward compatibility 00193 _mar = mar; 00194 _3DWorld->ShowMARACASData( mar ); 00195 _3DWorld->ConfigureVTK( ); 00196 _3DWorld->InitCameraReset( ); 00197 00198 //GUI stuff: 00199 _mar->_experiment->getDynData( )->getVolume( )->getMinMax( min, max ); 00200 00201 _isoValue->SetRange((int)min, (int)max); 00202 _isoValue->SetValue( (int)(max/4) ); 00203 00204 _opacity->SetValue( 50 ); 00205 00206 //EED 31 Mai 2007 00207 // _3DWorld->Render(); 00208 00209 }
vtk3DSurfaceWidget* wxSurfaceWidget::_3DWorld [private] |
Definition at line 111 of file wxSurfaceWidget.h.
Referenced by AddAxisActors(), CallBackOnLeftDClick(), Clean3D(), GetVtk3DSurfaceWidget(), OnExtractAxis(), OnSliderIsovalueScrollThumbrelease(), OnSliderOpacityScrollThumbrelease(), RefreshAxis(), ShowMARACASData(), and ~wxSurfaceWidget().
wxButton* wxSurfaceWidget::_bt_call_quantification [private] |
Definition at line 96 of file wxSurfaceWidget.h.
Referenced by OnDeleteAxis(), OnExtractAxis(), and OnManualAxis().
wxButton* wxSurfaceWidget::_bt_delete_axis [private] |
Definition at line 95 of file wxSurfaceWidget.h.
Referenced by OnDeleteAxis(), OnExtractAxis(), and OnManualAxis().
wxButton* wxSurfaceWidget::_bt_manual_axis [private] |
Definition at line 98 of file wxSurfaceWidget.h.
wxButton* wxSurfaceWidget::_bt_new_axis [private] |
Definition at line 94 of file wxSurfaceWidget.h.
Referenced by CallBackOnLeftDClick(), OnDeleteAxis(), OnExtractAxis(), and OnManualAxis().
wxButton* wxSurfaceWidget::_bt_refresh_manual_axis [private] |
Definition at line 99 of file wxSurfaceWidget.h.
int wxSurfaceWidget::_id_toolbar_plans [private] |
Definition at line 92 of file wxSurfaceWidget.h.
Referenced by OnQuantification(), and SetId_toolbar_plans().
wxSlider* wxSurfaceWidget::_isoValue [private] |
Definition at line 107 of file wxSurfaceWidget.h.
Referenced by GetIsovalue(), and ShowMARACASData().
wxCheckBox* wxSurfaceWidget::_isoVisible [private] |
Definition at line 106 of file wxSurfaceWidget.h.
marInterface* wxSurfaceWidget::_mar [private] |
Definition at line 110 of file wxSurfaceWidget.h.
Referenced by AddAxisActors(), CallBackOnLeftDClick(), OnDeleteAxis(), OnExtractAxis(), OnManualAxis(), and ShowMARACASData().
wxSlider* wxSurfaceWidget::_opacity [private] |
Definition at line 108 of file wxSurfaceWidget.h.
Referenced by GetOpacity(), and ShowMARACASData().
wxStaticText* wxSurfaceWidget::_st_cero [private] |
Definition at line 101 of file wxSurfaceWidget.h.
wxStaticText* wxSurfaceWidget::_st_one [private] |
Definition at line 103 of file wxSurfaceWidget.h.
Referenced by CallBackOnLeftDClick(), and OnDeleteAxis().
wxStaticText* wxSurfaceWidget::_st_text [private] |
Definition at line 102 of file wxSurfaceWidget.h.
wxStaticText* wxSurfaceWidget::_st_two [private] |
Definition at line 104 of file wxSurfaceWidget.h.
Referenced by OnDeleteAxis(), OnExtractAxis(), and OnManualAxis().
wxButton* wxSurfaceWidget::_surface_color [private] |
Definition at line 109 of file wxSurfaceWidget.h.