Program: wxMaracas
Module: $RCSfile: wxMPRWidget.cxx,v $
Language: C++
- Date: $Date: 2008/11/06 11:00:47 $
- Version: $Revision: 1.2 $
+ Date: $Date: 2009/04/20 07:39:30 $
+ Version: $Revision: 1.8 $
Copyright: (c) 2002, 2003
License:
int i,size=_lstId.size();
for (i=0; i<size;i++)
{
- //idAlBeRa *tmp=_lstId[i];
+ //idAlBeRa *tmp=_lstId[i]; // JPRx
if ((_lstId[i]->_radio==radio) && (_lstId[i]->_deltavoxel==_delta))
{
return _lstId[i]->_id;
bool vtkInteractorStylePlane2D::OnRightButtonUp() // virtual
{
if (_stateRotate==true){
- //vtkPlane2DView *vtkplane2Dview = (vtkPlane2DView*)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView());
+ //vtkPlane2DView *vtkplane2Dview = (vtkPlane2DView*)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView()); // JPRx
// EED Borrame
// vtkplane2Dview->RotationEnd();
GetInteractorStyleBaseView()->AddInteractorStyleMaracas( _interactorstyleplane2D );
vtkCamera *camera =_imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->GetActiveCamera();
+
camera->SetViewUp ( 0 , 1 , 0 );
- camera->SetFocalPoint ((0+_sizeIma)/2 , (0+_sizeIma)/2 , 0 );
camera->SetPosition ((0+_sizeIma)/2 , (0+_sizeIma)/2 , 10000 );
+
+ camera->SetFocalPoint ((0+_sizeIma)/2 , (0+_sizeIma)/2 , 0 );
camera->SetClippingRange(0.01, 100000);
camera->ComputeViewPlaneNormal();
camera->SetParallelScale( _sizeIma/3.0 );
double x = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[0];
double y = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[1];
double z = 1;
- //double xx = x;
- //double yy = y;
+ //double xx = x; // JPRx
+ //double yy = y; // JPRx
_vtkInteractorStyleBaseView->TransformCoordinate(x,y,z);
/*EED Borrame
void wxVtkMPR2DView::Configure(){
wxVtk2DBaseView::Configure();
-
_interactorstylemprview = new vtkInteractorStyleMPRView();
GetInteractorStyleBaseView()->AddInteractorStyleMaracas( _interactorstylemprview );
GetVtkmprbasedata() -> GetDimensionExtention(&x1,&x2,&y1,&y2,&z1,&z2);
double spc[3];
- GetVtkmprbasedata()->GetImageData()->GetSpacing(spc);
- x1 = (int)(x1*spc[0]);
- y1 = (int)(y1*spc[1]);
- z1 = (int)(z1*spc[2]);
-
- x2 = (int)(x2*spc[0]);
- y2 = (int)(y2*spc[1]);
- z2 = (int)(z2*spc[2]);
-
- _visibleAxis = true;
-
-// Axe A
- _ptsA = vtkPoints::New();
- _ptsA->SetNumberOfPoints(2);
- _ptsA->SetPoint(0, -1000 , -1000 , -1000 );
- _ptsA->SetPoint(1, 1000 , 1000 , 1000 );
- vtkCellArray *linesA;
- linesA = vtkCellArray::New();
- linesA->InsertNextCell(2);
- linesA->InsertCellPoint(0);
- linesA->InsertCellPoint(1);
- _pdA = vtkPolyData::New();
- _pdA->SetPoints( _ptsA );
- _pdA->SetLines( linesA );
- linesA->Delete(); //do not delete lines ??
- _lineAActor = vtkActor::New();
- _lineAMapper = vtkPolyDataMapper::New();
- _lineAMapper->SetInput(_pdA);
- _lineAMapper->ImmediateModeRenderingOn();
- _lineAActor->SetMapper(_lineAMapper);
- _lineAActor->GetProperty()->BackfaceCullingOn();
- _lineAActor->GetProperty()->SetDiffuseColor(1,0,0);
- _lineAActor->GetProperty()->SetLineWidth(2);
- _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->AddActor( _lineAActor );
-
-// Axe B
- _ptsB = vtkPoints::New();
- _ptsB->SetNumberOfPoints(2);
- _ptsB->SetPoint(0, -1000 , -1000 , -1000 );
- _ptsB->SetPoint(1, 1000 , 1000 , 1000 );
- vtkCellArray *linesB;
- linesB = vtkCellArray::New();
- linesB->InsertNextCell(2);
- linesB->InsertCellPoint(0);
- linesB->InsertCellPoint(1);
- _pdB = vtkPolyData::New();
- _pdB->SetPoints( _ptsB );
- _pdB->SetLines( linesB );
- linesB->Delete(); //do not delete lines ??
- _lineBActor = vtkActor::New();
- _lineBMapper = vtkPolyDataMapper::New();
- _lineBMapper->SetInput(_pdB);
- _lineBMapper->ImmediateModeRenderingOn();
- _lineBActor->SetMapper(_lineBMapper);
- _lineBActor->GetProperty()->BackfaceCullingOn();
- _lineBActor->GetProperty()->SetDiffuseColor(1,0,0);
- _lineBActor->GetProperty()->SetLineWidth(2);
- _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->AddActor( _lineBActor );
+ vtkImageData* img = GetVtkmprbasedata()->GetImageData();
+ if(img!=NULL){
+ img->GetSpacing(spc);
+ x1 = (int)(x1*spc[0]);
+ y1 = (int)(y1*spc[1]);
+ z1 = (int)(z1*spc[2]);
+
+ x2 = (int)(x2*spc[0]);
+ y2 = (int)(y2*spc[1]);
+ z2 = (int)(z2*spc[2]);
+
+ _visibleAxis = true;
+
+ // Axe A
+ _ptsA = vtkPoints::New();
+ _ptsA->SetNumberOfPoints(2);
+ _ptsA->SetPoint(0, -1000 , -1000 , -1000 );
+ _ptsA->SetPoint(1, 1000 , 1000 , 1000 );
+ vtkCellArray *linesA;
+ linesA = vtkCellArray::New();
+ linesA->InsertNextCell(2);
+ linesA->InsertCellPoint(0);
+ linesA->InsertCellPoint(1);
+ _pdA = vtkPolyData::New();
+ _pdA->SetPoints( _ptsA );
+ _pdA->SetLines( linesA );
+ linesA->Delete(); //do not delete lines ??
+ _lineAActor = vtkActor::New();
+ _lineAMapper = vtkPolyDataMapper::New();
+ _lineAMapper->SetInput(_pdA);
+ _lineAMapper->ImmediateModeRenderingOn();
+ _lineAActor->SetMapper(_lineAMapper);
+// _lineAActor->GetProperty()->BackfaceCullingOn();
+ _lineAActor->GetProperty()->SetDiffuseColor(1,0,0);
+ _lineAActor->GetProperty()->SetLineWidth(2);
+ _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->AddActor( _lineAActor );
+
+ // Axe B
+ _ptsB = vtkPoints::New();
+ _ptsB->SetNumberOfPoints(2);
+ _ptsB->SetPoint(0, -1000 , -1000 , -1000 );
+ _ptsB->SetPoint(1, 1000 , 1000 , 1000 );
+ vtkCellArray *linesB;
+ linesB = vtkCellArray::New();
+ linesB->InsertNextCell(2);
+ linesB->InsertCellPoint(0);
+ linesB->InsertCellPoint(1);
+ _pdB = vtkPolyData::New();
+ _pdB->SetPoints( _ptsB );
+ _pdB->SetLines( linesB );
+ linesB->Delete(); //do not delete lines ??
+ _lineBActor = vtkActor::New();
+ _lineBMapper = vtkPolyDataMapper::New();
+ _lineBMapper->SetInput(_pdB);
+ _lineBMapper->ImmediateModeRenderingOn();
+ _lineBActor->SetMapper(_lineBMapper);
+// _lineBActor->GetProperty()->BackfaceCullingOn();
+ _lineBActor->GetProperty()->SetDiffuseColor(1,0,0);
+ _lineBActor->GetProperty()->SetLineWidth(2);
+ _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->AddActor( _lineBActor );
- vtkCamera *camera =_imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->GetActiveCamera();
- if (_direction==0) {
- camera->SetViewUp ( 0 , -1 , 0 );
- camera->SetPosition ( -10000,(y1+y2)/2 , (z1+z2)/2 );
- camera->SetFocalPoint ( 0 , (y1+y2)/2 , (z1+z2)/2 );
- camera->SetParallelScale( (z2-z1)/3.0 );
- }
-
- if (_direction==1) {
- camera->SetViewUp ( 0 , 0 , -1 );
- camera->SetPosition ((x1+x2)/2 , 10000 , (z1+z2)/2 );
- camera->SetFocalPoint ((x1+x2)/2 , 0 , (z1+z2)/2 );
- camera->SetParallelScale( (x2-x1)/3.0 );
- }
+
+ vtkCamera *camera =_imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->GetActiveCamera();
+
+//EED 17Avril2009
+/*
+ if (_direction==0) {
+ camera->SetViewUp ( 0 , -1 , 0 );
+ camera->SetPosition ( -10000,(y1+y2)/2 , (z1+z2)/2 );
+ camera->SetFocalPoint ( 0 , (y1+y2)/2 , (z1+z2)/2 );
+ camera->SetParallelScale( (z2-z1)/3.0 );
+ }
- if (_direction==2) {
- camera->SetViewUp ( 0 , -1 , 0 );
- camera->SetPosition ((x1+x2)/2 , (y1+y2)/2 , -10000);
- camera->SetFocalPoint ((x1+x2)/2 , (y1+y2)/2 , 0 );
- camera->SetParallelScale( (x2-x1)/3.0 );
- }
+ if (_direction==1) {
+ camera->SetViewUp ( 0 , 0 , -1 );
+ camera->SetPosition ((x1+x2)/2 , 10000 , (z1+z2)/2 );
+ camera->SetFocalPoint ((x1+x2)/2 , 0 , (z1+z2)/2 );
+ camera->SetParallelScale( (x2-x1)/3.0 );
+ }
+ if (_direction==2) {
+ camera->SetViewUp ( 0 , -1 , 0 );
+ camera->SetPosition ((x1+x2)/2 , (y1+y2)/2 , -10000);
+ camera->SetFocalPoint ((x1+x2)/2 , (y1+y2)/2 , 0 );
+ camera->SetParallelScale( (x2-x1)/3.0 );
+ }
+ */
+ if (_direction==0) {
+ camera->SetViewUp ( 0 , 1 , 0 );
+ camera->SetPosition ( 10000,(y1+y2)/2 , (z1+z2)/2 );
+ camera->SetFocalPoint ( 0 , (y1+y2)/2 , (z1+z2)/2 );
+ camera->SetParallelScale( (z2-z1)/3.0 );
+ }
+
+ if (_direction==1) {
+ camera->SetViewUp ( 0 , 0 , -1 );
+ camera->SetPosition ((x1+x2)/2 , 10000 , (z1+z2)/2 );
+ camera->SetFocalPoint ((x1+x2)/2 , 0 , (z1+z2)/2 );
+ camera->SetParallelScale( (x2-x1)/3.0 );
+ }
+
+ if (_direction==2) {
+ camera->SetViewUp ( 0 , 1 , 0 );
+ camera->SetPosition ((x1+x2)/2 , (y1+y2)/2 , 10000);
+ camera->SetFocalPoint ((x1+x2)/2 , (y1+y2)/2 , 0 );
+ camera->SetParallelScale( (x2-x1)/3.0 );
+ }
+
+
+
+ }
// _imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow (160);
// _imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel (800);
//wxVtk2DBaseView::Refresh();
- //vtkImageViewer2 *IV2=_imageViewer2XYZ->GetVtkImageViewer2();
- //vtkCamera *camera = IV2->GetRenderer()->GetActiveCamera();
+ //vtkImageViewer2 *IV2=_imageViewer2XYZ->GetVtkImageViewer2(); // JPRx
+ //vtkCamera *camera = IV2->GetRenderer()->GetActiveCamera(); // JPRx
int x1,x2,y1,y2,z1,z2;
GetVtkmprbasedata()->GetDimensionExtention(&x1,&x2,&y1,&y2,&z1,&z2);
double spc[3];
- GetVtkmprbasedata()->GetImageData()->GetSpacing(spc);
- x1 = (int)(x1*spc[0]);
- y1 = (int)(y1*spc[1]);
- z1 = (int)(z1*spc[2]);
+
+ vtkImageData* img = GetVtkmprbasedata()->GetImageData();
+ if(img!=NULL){
+ img->GetSpacing(spc);
+ x1 = (int)(x1*spc[0]);
+ y1 = (int)(y1*spc[1]);
+ z1 = (int)(z1*spc[2]);
- x2 = (int)(x2*spc[0]);
- y2 = (int)(y2*spc[1]);
- z2 = (int)(z2*spc[2]);
+ x2 = (int)(x2*spc[0]);
+ y2 = (int)(y2*spc[1]);
+ z2 = (int)(z2*spc[2]);
- int x = (int)(GetVtkmprbasedata()->GetX());
- int y = (int)(GetVtkmprbasedata()->GetY());
- int z = (int)(GetVtkmprbasedata()->GetZ());
+ int x = (int)(GetVtkmprbasedata()->GetX());
+ int y = (int)(GetVtkmprbasedata()->GetY());
+ int z = (int)(GetVtkmprbasedata()->GetZ());
- x = (int)(x*spc[0]);
- y = (int)(y*spc[1]);
- z = (int)(z*spc[2]);
+ x = (int)(x*spc[0]);
+ y = (int)(y*spc[1]);
+ z = (int)(z*spc[2]);
- if ((x!=_backX) || (y!=_backY) || (z!=_backZ)) {
+ if ((x!=_backX) || (y!=_backY) || (z!=_backZ)) {
- if (_direction==0) {
- _imageViewer2XYZ->SetXSlice( (int)(GetVtkmprbasedata()->GetX()) );
- _ptsA->SetPoint(0, -x2, y1 , z );
- _ptsA->SetPoint(1, -x2, y2 , z );
- _ptsB->SetPoint(0, -x2, y , z1);
- _ptsB->SetPoint(1, -x2, y , z2);
- }
- if (_direction==1) {
- _imageViewer2XYZ->SetYSlice( (int)(GetVtkmprbasedata()->GetY()) );
- _ptsA->SetPoint(0, x1 , y2 , z );
- _ptsA->SetPoint(1, x2 , y2 , z );
- _ptsB->SetPoint(0, x , y2 , z1);
- _ptsB->SetPoint(1, x , y2 , z2);
- }
- if (_direction==2) {
- _imageViewer2XYZ->SetZSlice( (int)(GetVtkmprbasedata()->GetZ()) );
- _ptsA->SetPoint(0, x1 , y , -z2 );
- _ptsA->SetPoint(1, x2 , y , -z2 );
- _ptsB->SetPoint(0, x , y1, -z2 );
- _ptsB->SetPoint(1, x , y2, -z2 );
+ if (_direction==0) {
+ _imageViewer2XYZ->SetXSlice( (int)(GetVtkmprbasedata()->GetX()) );
+ _ptsA->SetPoint(0, -x2, y1 , z );
+ _ptsA->SetPoint(1, -x2, y2 , z );
+ _ptsB->SetPoint(0, -x2, y , z1);
+ _ptsB->SetPoint(1, -x2, y , z2);
+ }
+ if (_direction==1) {
+ _imageViewer2XYZ->SetYSlice( (int)(GetVtkmprbasedata()->GetY()) );
+ _ptsA->SetPoint(0, x1 , y2 , z );
+ _ptsA->SetPoint(1, x2 , y2 , z );
+ _ptsB->SetPoint(0, x , y2 , z1);
+ _ptsB->SetPoint(1, x , y2 , z2);
+ }
+ if (_direction==2) {
+ _imageViewer2XYZ->SetZSlice( (int)(GetVtkmprbasedata()->GetZ()) );
+ _ptsA->SetPoint(0, x1 , y , -z2 );
+ _ptsA->SetPoint(1, x2 , y , -z2 );
+ _ptsB->SetPoint(0, x , y1, -z2 );
+ _ptsB->SetPoint(1, x , y2, -z2 );
+ }
+ _backX=x;
+ _backY=y;
+ _backZ=z;
}
- _backX=x;
- _backY=y;
- _backZ=z;
+ wxVtkBaseView::Refresh();
}
- wxVtkBaseView::Refresh();
}
//-------------------------------------------------------------------
int wxVtkMPR2DView::GetActualSlice() // virtual
ckBoxX->SetValue(false);
ckBoxY->SetValue(false);
ckBoxZ->SetValue(false);
- _ckBoxXYZ->SetValue(true);
+ _ckBoxXYZ->SetValue(false);
_ckBoxPlane->SetValue(false);
_positionX->SetSize(400,20);
std::vector<double> *ctfunVectorGreen = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorGreen();
std::vector<double> *ctfunVectorBlue = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorBlue();
- //void *p=this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer();
+ //void *p=this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer(); // JPRx
int i=0,xi,r,g,b;
double r = (*ctfunVectorRed)[i];
double g = (*ctfunVectorGreen)[i];
double b = (*ctfunVectorBlue)[i];
- hDlg->addColorPoint(gr,r*255,g*255,b*255);
+
+hDlg->addColorPoint(gr,(int)(r*255),(int)(g*255),(int)(b*255));
i++;
}
}
wxFlexGridSizer *sizerH1 = new wxFlexGridSizer(20);
wxFlexGridSizer *sizerH2 = new wxFlexGridSizer(10);
wxFlexGridSizer *sizerH3 = new wxFlexGridSizer(10);
- //wxFlexGridSizer *sizerH4 = new wxFlexGridSizer(10);
- //wxFlexGridSizer *sizerH5 = new wxFlexGridSizer(10);
- //wxFlexGridSizer *sizerH6 = new wxFlexGridSizer(10);
+ //wxFlexGridSizer *sizerH4 = new wxFlexGridSizer(10); // JPRx
+ //wxFlexGridSizer *sizerH5 = new wxFlexGridSizer(10); // JPRx
+ //wxFlexGridSizer *sizerH6 = new wxFlexGridSizer(10); // JPRx
sizerH0->Add( ckVolum , 1, wxALL|wxEXPAND, 0);
sizerH0->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
void wxVtkClipping3DViewCntrlPanel::OnBtnVolumeFunctions(wxCommandEvent& event)
{
- int /*i=0,*/ xi,yi,r,g,b;
+ int /*i=0,*/ xi,yi,r,g,b; // JPRx
vtkColorTransferFunction* ctfun = this->_wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->GetColorTransferenceFunction();
vtkPiecewiseFunction* tfun = this->_wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->GetTransferencefunction();
std::vector<double>* gtf = this->_wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->GetGreyValuesTransferenceFVector();
double r=(*rctf)[i];
double g=(*gctf)[i];
double b=(*bctf)[i];
- hDlg->addColorPoint(gr,r*255,g*255,b*255);
+ hDlg->addColorPoint(gr,(int)(r*255),(int)(g*255),(int)(b*255));
i++;
}
}
double spc[3];
this->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData()->GetSpacing(spc);
- //double nx=1,ny=0,nz=0;
+ //double nx=1,ny=0,nz=0; // JPRx
Refresh();
double x=GetVtkMPR3DDataViewer ()->GetVtkMPRBaseData()->GetX();
double y=GetVtkMPR3DDataViewer ()->GetVtkMPRBaseData()->GetY();
_wxvtk3Dbaseview->GetRenderer()->ResetCameraClippingRange();
-
// vtkPointWidget
_myCallback = vtkmyPWCallback_3DPointWidget::New();
_myCallback->SetWxVtkMPR3DView(this);
_myCallback->SetVtkPointWidget(_pointWidget);
_pointWidget->SetInteractor( GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor() );
_pointWidget->SetInput( GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData() );
+
_pointWidget->AllOff();
+
_pointWidget->PlaceWidget();
// _pointWidget->SetPosition( x,y,z );
- _pointWidget->On();
+
+//EED01 29Mars2009
+// MACOS probleme vtk-window out of wx-window
+// _pointWidget->On();
+
_pointWidget->AddObserver(vtkCommand::InteractionEvent,_myCallback);
contourMapper->SetScalarRange( imageData->GetScalarRange() );
_contourPlaneActor = vtkActor::New();
_contourPlaneActor->SetMapper(contourMapper);
+
_contourPlaneActor->VisibilityOff();
_planeWidget->SetInteractor( GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor() );
_planeWidget->AddObserver(vtkCommand::InteractionEvent,_myCallback);
+
_planeWidget->Off();
_wxvtk3Dbaseview->GetRenderer()->AddActor( _contourPlaneActor );
}
VisibleActor(3, false );
_boxWidgetS1->HandlesOn ();
- _boxWidgetS1->On();
+
+//EED 29Mars2009
+// _boxWidgetS1->On();
+
_boxWidgetS1->Off();
_boxWidgetS1->GetPlanes( this->GetVtkClipping3DDataViewer()->GetTissuePlanes(0) );
_boxWidgetVolume->AddObserver( vtkCommand::InteractionEvent , _vtkclipping3Ddataviewer->GetObserverV() );
_boxWidgetVolume->HandlesOn ();
- _boxWidgetVolume->On();
+
+//EED 29Mars2009
+// _boxWidgetVolume->On();
+
_boxWidgetVolume->Off();
double contBeforPorc = 100*(double)contBefor/(double)totalSubVolume;
double contAfterPorc = 100*(double)contAfter/(double)totalSubVolume;
infoToVo.Printf(_T("%dx%dx%d = %d"),dim[0],dim[1],dim[2], dim[0]*dim[1]*dim[2] );
- infoSuVo.Printf(_T("%d") , totalSubVolume);
+ infoSuVo.Printf(_T("%ld") , totalSubVolume);
infoSuVoA.Printf(_T("%.2f"), _actualCuttingModel->GetTheoricVolume() );
- infoPixLe.Printf(_T("%d pix. (%.2f %s) - %.2f mm^3"),contBefor, contBeforPorc ,_T("%"),contBefor*volumeUnit);
- infoPixHi.Printf(_T("%d pix. (%.2f %s) - %.2f mm^3"),contAfter, contAfterPorc ,_T("%"),contAfter*volumeUnit);
+ infoPixLe.Printf(_T("%ld pix. (%.2f %s) - %.2f mm^3"),contBefor, contBeforPorc ,_T("%"),contBefor*volumeUnit);
+ infoPixHi.Printf(_T("%ld pix. (%.2f %s) - %.2f mm^3"),contAfter, contAfterPorc ,_T("%"),contAfter*volumeUnit);
_infoToVo->SetLabel(infoToVo);
_infoSuVo->SetLabel(infoSuVo);
_vtkmprbasedata = NULL;
- _voxelSize = voxelSize;
+
_framePanelCutting = NULL;
_panelCutting = NULL;
- _marImageData = marimageData;
- _vtkmprbasedata = new vtkMPRBaseData();
- _vtkmprbasedata->SetMarImageData(_marImageData);
- wxSplitterWindow *pnlSplitter = new wxSplitterWindow( this , -1);
-
- wxPanel *MPRPanel = CreateMPRPanel(pnlSplitter,_vtkmprbasedata);
- wxPanel *controlPanel = CreateControlPanel(pnlSplitter);
wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL );
- sizer -> Add( pnlSplitter ,1,wxGROW ,0);
- int ww,hh;
- wxWindow *pp=this;
- while (pp->GetParent()!=NULL) pp=pp->GetParent();
- pp->GetSize(&ww,&hh);
+ if(marimageData!=NULL){
+ _marImageData = marimageData;
+ _voxelSize = voxelSize;
+ _vtkmprbasedata = new vtkMPRBaseData();
+ _vtkmprbasedata->SetMarImageData(_marImageData);
+
+
+
- pnlSplitter -> SetMinimumPaneSize( 2 );
+ wxSplitterWindow *pnlSplitter = new wxSplitterWindow( this , -1);
+ pnlSplitter -> SetMinimumPaneSize( 2 );
+
+ wxPanel *MPRPanel = CreateMPRPanel(pnlSplitter,_vtkmprbasedata);
+ wxPanel *controlPanel = CreateControlPanel(pnlSplitter);
+ pnlSplitter -> SplitVertically( MPRPanel, controlPanel, 550 );
- pnlSplitter -> SplitVertically( MPRPanel, controlPanel, 550 );
+ sizer -> Add( pnlSplitter ,1,wxGROW ,0);
+
+ }
+
+ //int ww,hh;
+ //wxWindow *pp=this;
+ //while (pp->GetParent()!=NULL) pp=pp->GetParent();
+ //pp->GetSize(&ww,&hh);
+
this -> SetAutoLayout( true );
this -> SetSizer(sizer);
// sizer -> Fit( this );
-
_refreshAPage=0;
_refreshBPage=0;
}
+void wxMPRWidget::setMarImage(marImageData *marimageData, double voxelsize){
+ _marImageData = marimageData;
+ _voxelSize = voxelsize;
+ _vtkmprbasedata = new vtkMPRBaseData();
+ _vtkmprbasedata->SetMarImageData(_marImageData);
+ wxSplitterWindow *pnlSplitter = new wxSplitterWindow( this , -1);
+ pnlSplitter -> SetMinimumPaneSize( 2 );
+
+ wxPanel *MPRPanel = CreateMPRPanel(pnlSplitter,_vtkmprbasedata);
+ wxPanel *controlPanel = CreateControlPanel(pnlSplitter);
+ pnlSplitter -> SplitVertically( MPRPanel, controlPanel, 550 );
+
+ this->GetSizer() -> Add( pnlSplitter ,1,wxGROW ,0);
+}
//----------------------------------------------------------------------------
wxMPRWidget::~wxMPRWidget( )
{
_wxvtk3Dbaseview_Clipping3D_BB->GetInteractorStyleBaseView()->AddInteractorStyleMaracas( vtkinteractorstyle3Dview );
}
-
- RefreshView(true);
+
+//EED 29Mars2009
+// RefreshView(true);
+
}
//----------------------------------------------------------------------------