#include "wxMPRWidget.h"
-#include "wxVTKRenderWindowInteractor.h"
+#include "creawxVTKRenderWindowInteractor.h"
#include "UtilVtk3DGeometriSelection.h"
#include "../kernel/marDicomBase.h"
wxMPRWidget::wxMPRWidget( wxWindow* parent,
- marImageData *marimageData , double voxelSize)
+ marImageData *marimageData )
: wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL)
{
if(marimageData!=NULL){
_marImageData = marimageData;
- _voxelSize = voxelSize;
_vtkmprbasedata = new vtkMPRBaseData();
_vtkmprbasedata->SetMarImageData(_marImageData);
_refreshBPage=0;
}
-void wxMPRWidget::setImageData(vtkImageData * img, double voxelsize){
+
+//----------------------------------------------------------------------------
+void wxMPRWidget::setImageData(vtkImageData * img)
+{
if(_marImageData!=NULL){
_marImageData->removeImageData(0);
_marImageData->AddImageData(img);
}else{
- _marImageData = new marImageData(img);
+ _marImageData = new marImageData(img);
}
- _voxelSize = voxelsize;
-
if(_vtkmprbasedata==NULL){
_vtkmprbasedata = new vtkMPRBaseData();
_vtkmprbasedata->SetMarImageData(_marImageData);
- wxSplitterWindow *pnlSplitter = new wxSplitterWindow( this , -1);
+ wxSplitterWindow *pnlSplitter= new wxSplitterWindow( this , -1);
pnlSplitter -> SetMinimumPaneSize( 2 );
//RaC Nov2012 Correctly resize internal panels with the window resize event
pnlSplitter->SetSashGravity(0.5);
- wxPanel *MPRPanel = CreateMPRPanel(pnlSplitter,_vtkmprbasedata);
+ wxPanel *MPRPanel = CreateMPRPanel(pnlSplitter,_vtkmprbasedata);
wxPanel *controlPanel = CreateControlPanel(pnlSplitter);
pnlSplitter -> SplitVertically( MPRPanel, controlPanel, 550 );
this->GetSizer() -> Add( pnlSplitter ,1,wxGROW ,0);
}
-
-
-
}
-//----------------------------------------------------------------------------
+//----------------------------------------------------------------------------
wxMPRWidget::~wxMPRWidget( )
{
//EEDxx2.4 DELETE
if (type==3)
{
_widgetMesure_B = new wxWidgetMesure2D_Plane_in_MPR(panel);
- _vtkplane2Dview_B = new vtkPlane2DView( _widgetMesure_B->GetWindow2());
+ _vtkplane2Dview_B = new vtkPlane2DView( _widgetMesure_B->GetWindow2());
_widgetMesure_B->SetVtkPlane2DView( _vtkplane2Dview_B );
_vtkplane2Dview_B->SetImgSize( 200 );
_vtkplane2Dview_B->SetVtkBaseData(vtkmprbasedata);
}
if (type==4)
{
- _wxsphereview_B = new wxSphereView( panel , vtkmprbasedata, vtkmprbasedata->GetImageData() );
+//EED
+// _wxsphereview_B = new wxSphereView( panel , vtkmprbasedata, vtkmprbasedata->GetImageData() );
+ _wxsphereview_B = new wxSphereView( panel , vtkmprbasedata );
wxwindow=_wxsphereview_B->GetWxVTKRenderWindowInteractor();
}
if (type==5)
{
wxSplitterWindow *panelMPR3D = new wxSplitterWindow( panel , -1);
- _wxvtk3Dbaseview_MPR3D_B = new wxVtk3DBaseView( panelMPR3D );
+ _wxvtk3Dbaseview_MPR3D_B = new wxVtk3DBaseView( panelMPR3D , vtkmprbasedata );
- _wxvtkmpr3Dview_B = new wxVtkMPR3DView(_wxvtk3Dbaseview_MPR3D_B);
+ _wxvtkmpr3Dview_B = new wxVtkMPR3DView(_wxvtk3Dbaseview_MPR3D_B);
vtkMPR3DDataViewer *vtkmpr3Ddataviewer = new vtkMPR3DDataViewer();
vtkmpr3Ddataviewer->SetVtkMPRBaseData(vtkmprbasedata);
vtkmpr3Ddataviewer->Configure();
_wxvtkmpr3Dview_B->SetVtkMPR3DDataViewer(vtkmpr3Ddataviewer);
- wxWindow *window3D = _wxvtk3Dbaseview_MPR3D_B->GetWxVTKRenderWindowInteractor();
- wxPanel *controlPanel3D = _wxvtkmpr3Dview_B->CreateControlPanel(panelMPR3D, false);
+ wxWindow *window3D = _wxvtk3Dbaseview_MPR3D_B->GetWxVTKRenderWindowInteractor();
+ wxPanel *controlPanel3D = _wxvtkmpr3Dview_B->CreateControlPanel(panelMPR3D, false);
//EEDxx2.4
panelMPR3D -> SetMinimumPaneSize( 5 );
if (type==6)
{
wxSplitterWindow *panelClipping3D = new wxSplitterWindow( panel , -1);
- _wxvtk3Dbaseview_Clipping3D_BB = new wxVtk3DBaseView( panelClipping3D );
+ _wxvtk3Dbaseview_Clipping3D_BB = new wxVtk3DBaseView( panelClipping3D , vtkmprbasedata );
_wxvtkclipping3Dview_BB = new wxVtkClipping3DView(_wxvtk3Dbaseview_Clipping3D_BB);
vtkClipping3DDataViewer *vtkclipping3Ddataviewer = new vtkClipping3DDataViewer();
vtkmpr3Ddataviewer->Configure();
_wxvtkmpr3Dview_BB->SetVtkMPR3DDataViewer(vtkmpr3Ddataviewer);
- wxWindow *window3D = _wxvtk3Dbaseview_Clipping3D_BB->GetWxVTKRenderWindowInteractor();
+ wxWindow *window3D = _wxvtk3Dbaseview_Clipping3D_BB->GetWxVTKRenderWindowInteractor();
wxPanel *panelControl = new wxPanel(panelClipping3D,-1);
wxPanel *controlPanelMPR3D = _wxvtkmpr3Dview_BB->CreateControlPanel(panelControl, false);
// view 0
_vtkmpr2Dview[0] = new wxVtkMPR2DView(panel,0);
_vtkmpr2Dview[0]->SetVtkBaseData(vtkmprbasedata);
- wxVTKRenderWindowInteractor *iren0 = _vtkmpr2Dview[0]->GetWxVTKRenderWindowInteractor();
+ crea::wxVTKRenderWindowInteractor *iren0 = _vtkmpr2Dview[0]->GetWxVTKRenderWindowInteractor();
// view 1
_vtkmpr2Dview[1] = new wxVtkMPR2DView(panel,1);
_vtkmpr2Dview[1]->SetVtkBaseData(vtkmprbasedata);
- wxVTKRenderWindowInteractor *iren1 = _vtkmpr2Dview[1]->GetWxVTKRenderWindowInteractor();
+ crea::wxVTKRenderWindowInteractor *iren1 = _vtkmpr2Dview[1]->GetWxVTKRenderWindowInteractor();
// view 2
_vtkmpr2Dview[2] = new wxVtkMPR2DView(panel,2);
_vtkmpr2Dview[2]->SetVtkBaseData(vtkmprbasedata);
- wxVTKRenderWindowInteractor *iren2 = _vtkmpr2Dview[2]->GetWxVTKRenderWindowInteractor();
+ crea::wxVTKRenderWindowInteractor *iren2 = _vtkmpr2Dview[2]->GetWxVTKRenderWindowInteractor();
// view 3
wxNotebook *notebook = new wxNotebook( panel, -1 );
notebook->AddPage( _widgetMesure, _T("Plane") );
// view 3.1
- _wxsphereview = new wxSphereView( notebook , vtkmprbasedata, vtkmprbasedata->GetImageData());
- wxVTKRenderWindowInteractor *iren3B = _wxsphereview->GetWxVTKRenderWindowInteractor();
+// EED
+// _wxsphereview = new wxSphereView( notebook , vtkmprbasedata, vtkmprbasedata->GetImageData());
+ _wxsphereview = new wxSphereView( notebook , vtkmprbasedata );
+ crea::wxVTKRenderWindowInteractor *iren3B = _wxsphereview->GetWxVTKRenderWindowInteractor();
notebook->AddPage( iren3B, _T("Sphere") );
-
// view 3.2
wxSplitterWindow *panelMPR3D = new wxSplitterWindow( notebook , -1);
- _wxvtk3Dbaseview_MPRClipping3D = new wxVtk3DBaseView( panelMPR3D );
+ _wxvtk3Dbaseview_MPRClipping3D = new wxVtk3DBaseView( panelMPR3D ,vtkmprbasedata );
_wxvtkmpr3Dview = new wxVtkMPR3DView( _wxvtk3Dbaseview_MPRClipping3D );
vtkMPR3DDataViewer *vtkmpr3Ddataviewer = new vtkMPR3DDataViewer();
_wxvtkclipping3Dview->SetVtkClipping3DDataViewer(vtkclipping3Ddataviewer);
- wxWindow *window3D = _wxvtk3Dbaseview_MPRClipping3D->GetWxVTKRenderWindowInteractor();
-
+ wxWindow *window3D = _wxvtk3Dbaseview_MPRClipping3D->GetWxVTKRenderWindowInteractor();
wxPanel *panelControl = new wxPanel(panelMPR3D,-1);
wxPanel *controlPanelMPR3D = _wxvtkmpr3Dview->CreateControlPanel(panelControl, false);
wxPanel *controlPanelClipping3D = _wxvtkclipping3Dview->CreateSurfControlPanel(panelControl);
-
-
-
// wxBoxSizer *sizerCtrol = new wxBoxSizer(wxVERTICAL);
wxFlexGridSizer *sizerCtrol = new wxFlexGridSizer(1);
sizerCtrol->Add(controlPanelMPR3D , 1, wxALL|wxEXPAND, 2);
sizerCtrol->Add(controlPanelClipping3D , 1, wxALL|wxEXPAND, 2);
-
panelControl->SetAutoLayout(true);
panelControl->SetSizer(sizerCtrol);
panelControl->SetSize(400,150);
//RaC Nov2012 Correctly resize internal panels with the window resize event
panelMPR3D->SetSashGravity(0.5);
panelMPR3D -> SplitHorizontally( panelControl,window3D,200 );
-
notebook->AddPage( panelMPR3D, _T("MPR 3D - Clipping") );
-
-
Connect(notebook->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED , (wxObjectEventFunction) &wxMPRWidget::OnPageBChanged );
-
wxBoxSizer *sizerV = new wxBoxSizer(wxVERTICAL);
wxBoxSizer *sizerH1= new wxBoxSizer(wxHORIZONTAL);
wxBoxSizer *sizerH2= new wxBoxSizer(wxHORIZONTAL);
if (_vtkmprbasedata!=NULL)
{
_vtkmprbasedata->Configure();
- x=_vtkmprbasedata -> GetMaxPositionX()/2;
- y=_vtkmprbasedata -> GetMaxPositionY()/2;
- z=_vtkmprbasedata -> GetMaxPositionZ()/2;
+ x = _vtkmprbasedata->GetMaxPositionX()/2;
+ y = _vtkmprbasedata->GetMaxPositionY()/2;
+ z = _vtkmprbasedata->GetMaxPositionZ()/2;
_vtkmprbasedata->SetX( x );
_vtkmprbasedata->SetY( y );
_vtkmprbasedata->SetZ( z );
}
- if(_vtkmpr2Dview[0]!=NULL) {_vtkmpr2Dview[0] -> Configure();}
- if(_vtkmpr2Dview[1]!=NULL) {_vtkmpr2Dview[1] -> Configure();}
- if(_vtkmpr2Dview[2]!=NULL) {_vtkmpr2Dview[2] -> Configure();}
+ if(_vtkmpr2Dview[0]!=NULL) { _vtkmpr2Dview[0]->Configure(); }
+ if(_vtkmpr2Dview[1]!=NULL) { _vtkmpr2Dview[1]->Configure(); }
+ if(_vtkmpr2Dview[2]!=NULL) { _vtkmpr2Dview[2]->Configure(); }
+ if (_vtkmpr2Dview_B[0]!=NULL) { _vtkmpr2Dview_B[0]->Configure(); }
+ if (_vtkmpr2Dview_B[1]!=NULL) { _vtkmpr2Dview_B[1]->Configure(); }
+ if (_vtkmpr2Dview_B[2]!=NULL) { _vtkmpr2Dview_B[2]->Configure(); }
- if (_vtkmpr2Dview_B[0]!=NULL) { _vtkmpr2Dview_B[0] -> Configure(); }
- if (_vtkmpr2Dview_B[1]!=NULL) { _vtkmpr2Dview_B[1] -> Configure(); }
- if (_vtkmpr2Dview_B[2]!=NULL) { _vtkmpr2Dview_B[2] -> Configure(); }
+ if (_vtkplane2Dview!=NULL) { _vtkplane2Dview->Configure(); }
+ if (_widgetMesure!=NULL) { _widgetMesure->ConfigureA(_vtkplane2Dview); }
+ if (_widgetMesure!=NULL) { _widgetMesure->SetActiveLink(true); }
+ if (_wxsphereview!=NULL) { _wxsphereview->Configure(); }
+ if (_wxvtk3Dbaseview_MPRClipping3D!=NULL){_wxvtk3Dbaseview_MPRClipping3D->Configure();}
+ if (_wxvtkmpr3Dview!=NULL) { _wxvtkmpr3Dview->Configure(); }
+ if (_wxvtkclipping3Dview!=NULL) { _wxvtkclipping3Dview->Configure(); }
-
-
- if (_vtkplane2Dview!=NULL){_vtkplane2Dview -> Configure();}
- if (_widgetMesure!=NULL){_widgetMesure -> ConfigureA(_vtkplane2Dview);}
- if (_widgetMesure!=NULL){_widgetMesure -> SetActiveLink(true);}
- if (_widgetMesure!=NULL){_widgetMesure -> SetMesureScale( _voxelSize );}
- if (_wxsphereview!=NULL){_wxsphereview -> Configure();}
-
- if (_wxvtk3Dbaseview_MPRClipping3D!=NULL){_wxvtk3Dbaseview_MPRClipping3D -> Configure();}
- if (_wxvtkmpr3Dview!=NULL){
- _wxvtkmpr3Dview -> Configure();
- }
- if (_wxvtkclipping3Dview!=NULL){_wxvtkclipping3Dview -> Configure();}
-
- if (_vtkplane2Dview_B!=NULL){ _vtkplane2Dview_B -> Configure(); }
- if (_widgetMesure_B!=NULL){ _widgetMesure_B -> ConfigureA( _vtkplane2Dview_B ); }
- if (_widgetMesure_B!=NULL){ _widgetMesure_B -> SetActiveLink(true); }
+ if (_vtkplane2Dview_B!=NULL) { _vtkplane2Dview_B->Configure(); }
+ if (_widgetMesure_B!=NULL) { _widgetMesure_B->ConfigureA( _vtkplane2Dview_B ); }
+ if (_widgetMesure_B!=NULL) { _widgetMesure_B->SetActiveLink(true); }
//EEDx3
// double spc[3];
// imageData->GetSpacing(spc);
// _widgetMesure_B->SetMesureScale(spc[0]);
- if (_widgetMesure_B!=NULL) {_widgetMesure_B->SetMesureScale( _voxelSize );}
-
if (_wxsphereview_B!=NULL) {_wxsphereview_B -> Configure();}