#include <wxMPRWidget2.h>
Public Member Functions | |
wxMPRWidget2 (wxWindow *parent, marImageData *marimagedata, double voxelSize) | |
~wxMPRWidget2 () | |
virtual void | OnRefreshView (wxCommandEvent &event) |
void | ConfigureVTK () |
void | OnDClickLeft (wxCommandEvent &event) |
void | OnPageAChanged (wxNotebookEvent &event) |
void | OnPageBChanged (wxNotebookEvent &event) |
vtkMPRBaseData * | GetVtkMPRBaseData () |
vtkPlane2DView * | GetVtkPlane2DView () |
wxVtkMPR3DView * | GetWxvtkmpr3Dview_BB () |
void | RefreshView (bool firsttime=false) |
wxVtkBaseView * | GetWxVtkBaseView (int page, int id) |
wxVtkMPR2DView * | GetWxvtkMPR2Dview (int direction) |
void | setImageData (vtkImageData *img, double voxelsize) |
Definition at line 6 of file wxMPRWidget2.h.
wxMPRWidget2::wxMPRWidget2 | ( | wxWindow * | parent, | |
marImageData * | marimagedata, | |||
double | voxelSize | |||
) |
Definition at line 8 of file wxMPRWidget2.cxx.
00009 : wxMPRWidget(parent,marimagedata,voxelSize) 00010 { 00011 }
wxMPRWidget2::~wxMPRWidget2 | ( | ) |
Definition at line 13 of file wxMPRWidget2.cxx.
void wxMPRWidget::ConfigureVTK | ( | ) | [inherited] |
Definition at line 618 of file wxMPRWidget.cxx.
References wxMPRWidget::_voxelSize, wxMPRWidget::_vtkmpr2Dview, wxMPRWidget::_vtkmpr2Dview_B, wxMPRWidget::_vtkmprbasedata, wxMPRWidget::_vtkplane2Dview, wxMPRWidget::_vtkplane2Dview_B, wxMPRWidget::_widgetMesure, wxMPRWidget::_widgetMesure_B, wxMPRWidget::_wxsphereview, wxMPRWidget::_wxsphereview_B, wxMPRWidget::_wxvtk3Dbaseview_Clipping3D_BB, wxMPRWidget::_wxvtk3Dbaseview_MPR3D_B, wxMPRWidget::_wxvtk3Dbaseview_MPRClipping3D, wxMPRWidget::_wxvtkclipping3Dview, wxMPRWidget::_wxvtkclipping3Dview_BB, wxMPRWidget::_wxvtkmpr3Dview, wxMPRWidget::_wxvtkmpr3Dview_B, wxMPRWidget::_wxvtkmpr3Dview_BB, vtkMPRBaseData::Configure(), wxVtkBaseView::GetInteractorStyleBaseView(), wxWidgetMesure2D::SetMesureScale(), vtkInteractorStyle3DView::SetWxVtkClipping3DView(), vtkInteractorStyle3DView::SetWxVtkMPR3DView(), vtkMPRBaseData::SetX(), vtkMPRBaseData::SetY(), and vtkBaseData::SetZ().
Referenced by wxMaracasMPR::ConfigureVTK(), wxManualTree_MPRWidget::ConfigureVTK(), wxSegmentationFM3DWidget::ConfigureVTK(), and wxManualSegmentation_MPRWidget::ConfigureVTK().
00618 { 00619 int x=0,y=0,z=0; 00620 00621 if (_vtkmprbasedata!=NULL) 00622 { 00623 _vtkmprbasedata->Configure(); 00624 x=_vtkmprbasedata -> GetMaxPositionX()/2; 00625 y=_vtkmprbasedata -> GetMaxPositionY()/2; 00626 z=_vtkmprbasedata -> GetMaxPositionZ()/2; 00627 _vtkmprbasedata->SetX( x ); 00628 _vtkmprbasedata->SetY( y ); 00629 _vtkmprbasedata->SetZ( z ); 00630 00631 } 00632 00633 if(_vtkmpr2Dview[0]!=NULL) {_vtkmpr2Dview[0] -> Configure();} 00634 if(_vtkmpr2Dview[1]!=NULL) {_vtkmpr2Dview[1] -> Configure();} 00635 if(_vtkmpr2Dview[2]!=NULL) {_vtkmpr2Dview[2] -> Configure();} 00636 00637 00638 if (_vtkmpr2Dview_B[0]!=NULL) { _vtkmpr2Dview_B[0] -> Configure(); } 00639 if (_vtkmpr2Dview_B[1]!=NULL) { _vtkmpr2Dview_B[1] -> Configure(); } 00640 if (_vtkmpr2Dview_B[2]!=NULL) { _vtkmpr2Dview_B[2] -> Configure(); } 00641 00642 00643 00644 00645 if (_vtkplane2Dview!=NULL){_vtkplane2Dview -> Configure();} 00646 if (_widgetMesure!=NULL){_widgetMesure -> ConfigureA(_vtkplane2Dview);} 00647 if (_widgetMesure!=NULL){_widgetMesure -> SetActiveLink(true);} 00648 if (_widgetMesure!=NULL){_widgetMesure -> SetMesureScale( _voxelSize );} 00649 if (_wxsphereview!=NULL){_wxsphereview -> Configure();} 00650 00651 if (_wxvtk3Dbaseview_MPRClipping3D!=NULL){_wxvtk3Dbaseview_MPRClipping3D -> Configure();} 00652 if (_wxvtkmpr3Dview!=NULL){ 00653 _wxvtkmpr3Dview -> Configure(); 00654 } 00655 if (_wxvtkclipping3Dview!=NULL){_wxvtkclipping3Dview -> Configure();} 00656 00657 if (_vtkplane2Dview_B!=NULL){ _vtkplane2Dview_B -> Configure(); } 00658 if (_widgetMesure_B!=NULL){ _widgetMesure_B -> ConfigureA( _vtkplane2Dview_B ); } 00659 if (_widgetMesure_B!=NULL){ _widgetMesure_B -> SetActiveLink(true); } 00660 00661 //EEDx3 00662 // double spc[3]; 00663 // vtkImageData *imageData = _vtkmprbasedata->GetImageData(); 00664 // imageData->Update(); 00665 // imageData->GetSpacing(spc); 00666 // _widgetMesure_B->SetMesureScale(spc[0]); 00667 00668 if (_widgetMesure_B!=NULL) {_widgetMesure_B->SetMesureScale( _voxelSize );} 00669 00670 00671 if (_wxsphereview_B!=NULL) {_wxsphereview_B -> Configure();} 00672 00673 if (_wxvtk3Dbaseview_MPR3D_B!=NULL) {_wxvtk3Dbaseview_MPR3D_B -> Configure();} 00674 if (_wxvtkmpr3Dview_B!=NULL) {_wxvtkmpr3Dview_B -> Configure();} 00675 00676 if ( _wxvtk3Dbaseview_Clipping3D_BB!=NULL) {_wxvtk3Dbaseview_Clipping3D_BB -> Configure(); } 00677 if ( _wxvtkmpr3Dview_BB!=NULL) {_wxvtkmpr3Dview_BB -> Configure(); } 00678 if ( _wxvtkclipping3Dview_BB!=NULL) {_wxvtkclipping3Dview_BB -> Configure(); } 00679 00680 00681 vtkInteractorStyle3DView *vtkinteractorstyle3Dview; 00682 if (_wxvtkmpr3Dview_BB!=NULL) 00683 { 00684 vtkinteractorstyle3Dview = new vtkInteractorStyle3DView(); 00685 vtkinteractorstyle3Dview->SetWxVtkMPR3DView(_wxvtkmpr3Dview_BB); 00686 vtkinteractorstyle3Dview->SetWxVtkClipping3DView(_wxvtkclipping3Dview_BB); 00687 } 00688 00689 if (_wxvtk3Dbaseview_Clipping3D_BB!=NULL) 00690 { 00691 ((vtkInteractorStyleBaseView*)_wxvtk3Dbaseview_Clipping3D_BB->GetInteractorStyleBaseView())->AddInteractorStyleMaracas( vtkinteractorstyle3Dview ); 00692 } 00693 00694 //EED 29Mars2009 00695 // RefreshView(true); 00696 00697 }
vtkMPRBaseData * wxMPRWidget::GetVtkMPRBaseData | ( | ) | [inherited] |
Definition at line 817 of file wxMPRWidget.cxx.
References wxMPRWidget::_vtkmprbasedata.
Referenced by wxManualTree_MPRWidget::ConfigureContour(), wxMaracasMPR::GetVtkMPRBaseData(), wxManualTree_MPRWidget::GetVtkMPRBaseData(), wxSegmentationFM3DWidget::GetVtkMPRBaseData(), wxManualSegmentation_MPRWidget::GetVtkMPRBaseData(), wxSegmentationFM3DWidget::OnBtnSegment(), and wxMPRWidget::OnCutImagaData().
00817 { 00818 return _vtkmprbasedata; 00819 }
vtkPlane2DView * wxMPRWidget::GetVtkPlane2DView | ( | ) | [inherited] |
Definition at line 821 of file wxMPRWidget.cxx.
References wxMPRWidget::_vtkplane2Dview.
Referenced by wxMaracasMPR::GetVtkPlane2DView(), wxManualTree_MPRWidget::GetVtkPlane2DView(), wxSegmentationFM3DWidget::GetVtkPlane2DView(), and wxManualSegmentation_MPRWidget::GetVtkPlane2DView().
00822 { 00823 return _vtkplane2Dview; 00824 }
wxVtkBaseView * wxMPRWidget::GetWxVtkBaseView | ( | int | page, | |
int | id | |||
) | [inherited] |
Definition at line 831 of file wxMPRWidget.cxx.
References wxMPRWidget::_vtkmpr2Dview, and wxMPRWidget::_vtkplane2Dview.
Referenced by wxManualTree_MPRWidget::ConfigureContour().
00832 { 00833 wxVtkBaseView *result=NULL; 00834 if (page==0) 00835 { 00836 if ((id>=0) &&(id<=3)){ 00837 result=_vtkmpr2Dview[id]; 00838 } 00839 if (id==3) 00840 { 00841 result=_vtkplane2Dview; 00842 } 00843 } 00844 return result; 00845 }
wxVtkMPR2DView * wxMPRWidget::GetWxvtkMPR2Dview | ( | int | direction | ) | [inherited] |
Definition at line 847 of file wxMPRWidget.cxx.
References wxMPRWidget::_vtkmpr2Dview.
00848 { 00849 return _vtkmpr2Dview[direction]; 00850 }
wxVtkMPR3DView * wxMPRWidget::GetWxvtkmpr3Dview_BB | ( | ) | [inherited] |
Definition at line 826 of file wxMPRWidget.cxx.
References wxMPRWidget::_wxvtkmpr3Dview_BB.
Referenced by wxMaracasMPR::GetWxvtkmpr3Dview_BB().
00827 { 00828 return _wxvtkmpr3Dview_BB; 00829 }
void wxMPRWidget::OnDClickLeft | ( | wxCommandEvent & | event | ) | [inherited] |
Definition at line 706 of file wxMPRWidget.cxx.
References wxMPRWidget::_wxsphereview, and wxMPRWidget::_wxsphereview_B.
00707 { 00708 if (_wxsphereview!=NULL) { 00709 _wxsphereview -> RefreshPoint(); 00710 } 00711 if (_wxsphereview_B!=NULL) { 00712 _wxsphereview_B -> RefreshPoint(); 00713 } 00714 }
void wxMPRWidget::OnPageAChanged | ( | wxNotebookEvent & | event | ) | [inherited] |
Definition at line 309 of file wxMPRWidget.cxx.
References wxMPRWidget::_refreshAPage, and wxMPRWidget::RefreshView().
Referenced by wxMPRWidget::CreateMPRPanel().
00310 { 00311 _refreshAPage=event.GetSelection(); 00312 Refresh(); 00313 RefreshView(true); 00314 }
void wxMPRWidget::OnPageBChanged | ( | wxNotebookEvent & | event | ) | [inherited] |
Definition at line 318 of file wxMPRWidget.cxx.
References wxMPRWidget::_refreshBPage.
Referenced by wxMPRWidget::CreateMPRPanel4View().
00319 { 00320 _refreshBPage=event.GetSelection(); 00321 // Refresh(false); 00322 // RefreshView(); 00323 }
void wxMPRWidget2::OnRefreshView | ( | wxCommandEvent & | event | ) | [virtual] |
Reimplemented from wxMPRWidget.
Definition at line 17 of file wxMPRWidget2.cxx.
void wxMPRWidget::RefreshView | ( | bool | firsttime = false |
) | [inherited] |
Definition at line 716 of file wxMPRWidget.cxx.
References wxMPRWidget::_panelCutting, wxMPRWidget::_refreshAPage, wxMPRWidget::_refreshBPage, wxMPRWidget::_vtkmpr2Dview, wxMPRWidget::_vtkmpr2Dview_B, wxMPRWidget::_vtkplane2Dview, wxMPRWidget::_vtkplane2Dview_B, wxMPRWidget::_wxvtk3Dbaseview_Clipping3D_BB, wxMPRWidget::_wxvtk3Dbaseview_MPR3D_B, wxMPRWidget::_wxvtk3Dbaseview_MPRClipping3D, wxMPRWidget::_wxvtkclipping3Dview, wxMPRWidget::_wxvtkclipping3Dview_BB, wxMPRWidget::_wxvtkmpr3Dview, wxMPRWidget::_wxvtkmpr3Dview_B, wxMPRWidget::_wxvtkmpr3Dview_BB, and wxPanelCuttingImageData::RefreshView().
Referenced by wxMPRWidget::OnPageAChanged(), wxMPRWidget::OnRefreshView(), wxMaracasMPR::RefreshView(), wxManualTree_MPRWidget::RefreshView(), wxSegmentationFM3DWidget::RefreshView(), and wxManualSegmentation_MPRWidget::RefreshView().
00716 { 00717 00718 if (_refreshAPage == 0 ) 00719 { 00720 00721 if ((_vtkmpr2Dview[0]!=NULL) && (_vtkmpr2Dview[1]!=NULL) && (_vtkmpr2Dview[2]!=NULL) ) 00722 { 00723 _vtkmpr2Dview[2] -> Refresh(); 00724 _vtkmpr2Dview[1] -> Refresh(); 00725 _vtkmpr2Dview[0] -> Refresh(); 00726 00727 if (firsttime==false) 00728 { 00729 _vtkmpr2Dview[2] -> RefreshView(); 00730 _vtkmpr2Dview[1] -> RefreshView(); 00731 _vtkmpr2Dview[0] -> RefreshView(); 00732 } 00733 00734 if (_refreshBPage == 0 ) 00735 { 00736 if (_vtkplane2Dview!=NULL) 00737 { 00738 _vtkplane2Dview -> Refresh(); 00739 if (firsttime==false) 00740 { 00741 _vtkplane2Dview -> RefreshView(); 00742 } 00743 // _wxvtk3Dbaseview_MPR3D_B -> Refresh(); 00744 } 00745 } 00746 if (_refreshBPage == 1 ) 00747 { 00748 //sphere 00749 } 00750 if (_refreshBPage == 2 ) 00751 { 00752 if ((_wxvtkmpr3Dview!=NULL) && (_wxvtk3Dbaseview_MPRClipping3D!=NULL) && (_wxvtkclipping3Dview!=NULL) ) 00753 { 00754 _wxvtkmpr3Dview -> RefreshView(); 00755 _wxvtk3Dbaseview_MPRClipping3D -> Refresh(); 00756 _wxvtkclipping3Dview -> Refresh(); 00757 } 00758 } 00759 } 00760 } 00761 00762 if (_refreshAPage == 1 ) 00763 { 00764 if (_vtkmpr2Dview_B[0] !=NULL){ 00765 _vtkmpr2Dview_B[0] -> Refresh(); 00766 } 00767 } 00768 if (_refreshAPage == 2 ) 00769 { 00770 if (_vtkmpr2Dview_B[1] !=NULL){ 00771 _vtkmpr2Dview_B[1] -> Refresh(); 00772 } 00773 } 00774 if (_refreshAPage == 3 ) 00775 { 00776 if (_vtkmpr2Dview_B[2] !=NULL){ 00777 _vtkmpr2Dview_B[2] -> Refresh(); 00778 } 00779 } 00780 if (_refreshAPage == 4 ) 00781 { 00782 if (_vtkplane2Dview_B!=NULL){ 00783 _vtkplane2Dview_B -> Refresh(); 00784 if (firsttime==false) 00785 { 00786 _vtkplane2Dview_B -> RefreshView(); 00787 } 00788 } 00789 } 00790 00791 if (_refreshAPage == 5 ) 00792 { 00793 // sphere 00794 } 00795 if (_refreshAPage == 6 ) 00796 { 00797 if (_wxvtkmpr3Dview_B!=NULL){ 00798 _wxvtkmpr3Dview_B -> Refresh(); 00799 _wxvtk3Dbaseview_MPR3D_B -> Refresh(); 00800 } 00801 } 00802 if (_refreshAPage == 7 ) 00803 { 00804 if (_wxvtkmpr3Dview_BB!=NULL){ 00805 _wxvtkmpr3Dview_BB -> RefreshView(); 00806 _wxvtkclipping3Dview_BB -> Refresh(); 00807 _wxvtk3Dbaseview_Clipping3D_BB -> Refresh(); 00808 if (_panelCutting!=NULL) 00809 { 00810 _panelCutting->RefreshView(); 00811 } 00812 } 00813 } 00814 00815 }
void wxMPRWidget::setImageData | ( | vtkImageData * | img, | |
double | voxelsize | |||
) | [inherited] |
Definition at line 167 of file wxMPRWidget.cxx.
References wxMPRWidget::_marImageData, wxMPRWidget::_voxelSize, wxMPRWidget::_vtkmprbasedata, marImageData::AddImageData(), wxMPRWidget::CreateControlPanel(), wxMPRWidget::CreateMPRPanel(), marImageData::removeImageData(), and vtkBaseData::SetMarImageData().
Referenced by wxMaracasMPR::setImageData().
00167 { 00168 00169 if(_marImageData!=NULL){ 00170 _marImageData->removeImageData(0); 00171 _marImageData->AddImageData(img); 00172 }else{ 00173 _marImageData = new marImageData(img); 00174 } 00175 00176 _voxelSize = voxelsize; 00177 00178 if(_vtkmprbasedata==NULL){ 00179 _vtkmprbasedata = new vtkMPRBaseData(); 00180 _vtkmprbasedata->SetMarImageData(_marImageData); 00181 00182 wxSplitterWindow *pnlSplitter = new wxSplitterWindow( this , -1); 00183 pnlSplitter -> SetMinimumPaneSize( 2 ); 00184 00185 wxPanel *MPRPanel = CreateMPRPanel(pnlSplitter,_vtkmprbasedata); 00186 wxPanel *controlPanel = CreateControlPanel(pnlSplitter); 00187 pnlSplitter -> SplitVertically( MPRPanel, controlPanel, 550 ); 00188 00189 this->GetSizer() -> Add( pnlSplitter ,1,wxGROW ,0); 00190 } 00191 00192 00193 00194 }