#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==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();
}
// 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
_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 (_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();}
// imageData->GetSpacing(spc);
// _widgetMesure_B->SetMesureScale(spc[0]);
- if (_widgetMesure_B!=NULL) {_widgetMesure_B->SetMesureScale( _voxelSize );}
-
if (_wxsphereview_B!=NULL) {_wxsphereview_B -> Configure();}