From 2ce64803a106514923d7e06e578f9b1ae3cfe264 Mon Sep 17 00:00:00 2001 From: Eduardo DAVILA Date: Thu, 10 Aug 2017 15:37:26 +0200 Subject: [PATCH] #3109 creaMaracasVisu Bug New Normal - branch vtk7itk4 compilation with vtk7 --- .../widgets/vtkClipping3DDataViewer.cxx | 1 - .../widgets/vtkmyPWCallback_3DPointWidget.cxx | 22 +++++++ .../widgets/vtkmyPWCallback_3DPointWidget.h | 11 +++- .../wxWindows/widgets/wxVtkMPR2DView.cxx | 25 +++++--- .../wxWindows/widgets/wxVtkMPR2DView.h | 8 --- .../wxWindows/widgets/wxVtkMPR3DView.cxx | 64 ++++++++----------- .../wxWindows/widgets/wxVtkMPR3DView.h | 9 +-- .../widgets/wxVtkMPR3DViewCntrlPanel.cxx | 1 - 8 files changed, 77 insertions(+), 64 deletions(-) diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.cxx index 68f8c2b..2ecbb5d 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.cxx @@ -262,7 +262,6 @@ void vtkClipping3DDataViewer::Configure_Tissue() _tissueClipper[i]->SetInput( _tissueStripper[i]->GetOutput() ); #else _tissueClipper[i]->SetInputData( _tissueStripper[i]->GetOutput() ); - printf("EED vtkClipping3DDataViewer::Configure_Tissue Update\n"); _tissueClipper[i]->Update(); #endif diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkmyPWCallback_3DPointWidget.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkmyPWCallback_3DPointWidget.cxx index c82d0d8..1d20277 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkmyPWCallback_3DPointWidget.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkmyPWCallback_3DPointWidget.cxx @@ -46,6 +46,14 @@ void vtkmyPWCallback_3DPointWidget::Execute(vtkObject *caller, unsigned long, vo _planeWidget->GetCenter(p); _planeWidget->GetNormal(n); _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetNormal(n[0],n[1],n[2]); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + //.. +#else + _planeWidget->GetPolyData(_vtkplane); + _probe->Update(); +#endif + } double spc[3]; @@ -100,3 +108,17 @@ void vtkmyPWCallback_3DPointWidget::SetVtkPlaneWidget( vtkPlaneWidget *planeWidg _planeWidget=planeWidget; } +//------------------------------------------------------------------- + void vtkmyPWCallback_3DPointWidget::SetVtkPolyData( vtkPolyData *vtkplane) +{ + _vtkplane=vtkplane; +} + +//------------------------------------------------------------------- +void vtkmyPWCallback_3DPointWidget::SetVtkProbeFilter( vtkProbeFilter *probe) +{ + _probe=probe; +} + + + diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkmyPWCallback_3DPointWidget.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkmyPWCallback_3DPointWidget.h index 465e9ca..85de5dc 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkmyPWCallback_3DPointWidget.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkmyPWCallback_3DPointWidget.h @@ -43,13 +43,20 @@ public: void SetWxVtkMPR3DView( wxVtkMPR3DView *wxvtkmpr3Dview ); void SetVtkPointWidget( vtkPointWidget *pointWidget ); void SetVtkPlaneWidget( vtkPlaneWidget *planeWidget ); + + void SetVtkPolyData( vtkPolyData *vtkplane); + void SetVtkProbeFilter( vtkProbeFilter *probe); + private: double _backNormal[3]; vtkPlaneWidget *_planeWidget; + vtkPointWidget *_pointWidget; - wxVtkMPR3DView *_wxvtkmpr3Dview; + vtkPolyData *_vtkplane; + vtkProbeFilter *_probe; + + wxVtkMPR3DView *_wxvtkmpr3Dview; }; - #endif /*VTKMYPWCALLBACK_3DPOINTWIDGET_H_*/ diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR2DView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR2DView.cxx index eae1fb6..87b4fa3 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR2DView.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR2DView.cxx @@ -56,14 +56,14 @@ wxVtkMPR2DView::wxVtkMPR2DView( wxWindow *parent, int direction) //------------------------------------------------------------------- wxVtkMPR2DView::~wxVtkMPR2DView() { - if (_ptsA!=NULL) { _ptsA -> Delete(); } - if (_lineAActor!=NULL) { _lineAActor -> Delete(); } - if (_lineAMapper!=NULL) { _lineAMapper -> Delete(); } - if (_pdA!=NULL) { _pdA -> Delete(); } - if (_ptsB!=NULL) { _ptsB -> Delete(); } - if (_lineBActor!=NULL) { _lineBActor -> Delete(); } - if (_lineBMapper!=NULL) { _lineBMapper -> Delete(); } - if (_pdB!=NULL) { _pdB -> Delete(); } + if (_ptsA!=NULL) { _ptsA->Delete(); } + if (_lineAActor!=NULL) { _lineAActor->Delete(); } + if (_lineAMapper!=NULL) { _lineAMapper->Delete(); } + if (_pdA!=NULL) { _pdA->Delete(); } + if (_ptsB!=NULL) { _ptsB->Delete(); } + if (_lineBActor!=NULL) { _lineBActor->Delete(); } + if (_lineBMapper!=NULL) { _lineBMapper->Delete(); } + if (_pdB!=NULL) { _pdB->Delete(); } } //------------------------------------------------------------------- vtkMPRBaseData *wxVtkMPR2DView::GetVtkmprbasedata() @@ -360,6 +360,15 @@ void wxVtkMPR2DView::Refresh() } // if back + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + // .. +#else + _ptsA->Modified(); + _ptsB->Modified(); +#endif + _backX=xx; _backY=yy; _backZ=zz; diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR2DView.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR2DView.h index 11e0030..7a66d83 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR2DView.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR2DView.h @@ -47,7 +47,6 @@ public: vtkMPRBaseData *GetVtkmprbasedata(); virtual int GetActualSlice(); virtual void SetActualSlice(int slice); - bool IfMouseTouchX(double x, double y, double z); bool IfMouseTouchY(double x, double y, double z); bool IfMouseTouchZ(double x, double y, double z); @@ -56,20 +55,14 @@ public: void MoveZ(double x, double y, double z); void ChangeAxisColor(double x, double y, double z); virtual void TransFromCoordScreenToWorld(double &X, double &Y, double &Z, bool keepNormalDirection=false, int type=2); - void SetVisibleAxis(bool ok); virtual int GetDirection(); - - private: - int _backX; int _backY; int _backZ; - bool _visibleAxis; - int _direction; vtkPoints *_ptsA; vtkActor *_lineAActor; @@ -83,5 +76,4 @@ private: vtkInteractorStyleMPRView *_interactorstylemprview; }; - #endif /*WXVTKMPR2DVIEW_H_*/ diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DView.cxx index a55a101..d6fb6a5 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DView.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DView.cxx @@ -186,36 +186,16 @@ void wxVtkMPR3DView::RemoveActor(vtkActor* actor) void wxVtkMPR3DView::Configure() { vtkImageData *imageData = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData(); - _wxvtk3Dbaseview->Configure(); _wxvtkmpr3DviewCntrlPanel->UpdateControlPanel(); - -//EED 27 Mai 2009 -// _wxvtk3Dbaseview->GetRenderer()->Clear(); - // Actors are added to the renderer. vtkActor* _outlineActor = _vtkmpr3Ddataviewer->GetOutlineActor(); - - _wxvtk3Dbaseview->GetRenderer()->AddActor( _outlineActor ); - -// _wxvtk3Dbaseview->GetRenderer()->AddActor( _vtkmpr3Ddataviewer->GetImageActor(0) ); // _saggital -// _wxvtk3Dbaseview->GetRenderer()->AddActor( _vtkmpr3Ddataviewer->GetImageActor(1) ); // _axial -// _wxvtk3Dbaseview->GetRenderer()->AddActor( _vtkmpr3Ddataviewer->GetImageActor(2) ); // _coronal - - - - // vtkPointWidget - //if(_myCallback!=NULL){ - //_myCallback->Delete(); - - //} vtkmyPWCallback_3DPointWidget *_myCallback = vtkmyPWCallback_3DPointWidget::New(); _myCallback->SetWxVtkMPR3DView(this); - - if(imageData){ - if(_pointWidget==NULL){ + if(_pointWidget==NULL) + { _pointWidget = vtkPointWidget::New(); } //EED 2017-01-01 Migration VTK7 @@ -258,18 +238,21 @@ void wxVtkMPR3DView::Configure() _planeWidget->PlaceWidget( px-dd , px+dd , py-dd , py+dd , pz-dd , pz+dd ); if(_vtkplane==NULL){ - _vtkplane = vtkPolyData::New(); - - _probe = vtkProbeFilter::New(); - _contourMapper = vtkPolyDataMapper::New(); - + _vtkplane = vtkPolyData::New(); + _probe = vtkProbeFilter::New(); + _contourMapper = vtkPolyDataMapper::New(); //EED 2017-01-01 Migration VTK7 #if VTK_MAJOR_VERSION <= 5 _probe->SetInput(_vtkplane); _contourMapper->SetInput( _probe->GetPolyDataOutput() ); #else + _myCallback->SetVtkPolyData(_vtkplane); + _myCallback->SetVtkProbeFilter(_probe); + _planeWidget->GetPolyData(_vtkplane); _probe->SetInputData(_vtkplane); + _probe->SetSourceData(imageData); +// _probe->Update(); _contourMapper->SetInputData( _probe->GetPolyDataOutput() ); #endif @@ -611,6 +594,12 @@ void wxVtkMPR3DView::RefreshView() // virtual _planeWidget->SetCenter( x,y,z ); _planeWidget->UpdatePlacement(); _planeWidget->GetPolyData(_vtkplane); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + // .. +#else + _probe->Update(); +#endif } if (_wxvtkmpr3DviewCntrlPanel!=NULL) @@ -690,9 +679,9 @@ void wxVtkMPR3DView::VisibleImageActor(int idPosition, bool visible){ // step 5 Refresh _wxvtk3Dbaseview->GetRenderer()->GetRenderWindow()->Render(); - } + } // if visible _vtkmpr3Ddataviewer->SetVisiblePosition(idPosition,visible); - } + } // if visible } @@ -705,8 +694,8 @@ void wxVtkMPR3DView::VisiblePointWidget( bool visible ) _pointWidget->On(); } else { _pointWidget->Off(); - } - } + } // visible + } // _pointWidget } //------------------------------------------------------------------- @@ -720,9 +709,10 @@ void wxVtkMPR3DView::VisiblePlaneWidget( bool visible ) } else { _planeWidget->Off(); - _contourPlaneActor->VisibilityOff(); - } - } + _contourPlaneActor->VisibilityOff(); + } // if visible + _wxvtk3Dbaseview->GetRenderer()->GetRenderWindow()->Render(); + } // _planeWidget } //CPR: Method added 30 Nov 2009 @@ -733,11 +723,9 @@ void wxVtkMPR3DView::showOutlineActor(bool value) if(value == true) { _wxvtk3Dbaseview->GetRenderer()->AddActor( _outlineActor ); - } - else - { + } else { _wxvtk3Dbaseview->GetRenderer()->RemoveActor( _outlineActor ); - } + } // value } diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DView.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DView.h index a46afe6..4d42b26 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DView.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DView.h @@ -76,7 +76,6 @@ public: void setColorTransferFunction(vtkColorTransferFunction* colortable); - //Free planes //------------------------------------------------------------------- void ConfigureFreePlanes(); @@ -88,7 +87,6 @@ public: void SetColorWindow(double colorWindow); void SetColorLevel(double colorLevel); - private: wxVtk3DBaseView *_wxvtk3Dbaseview; vtkMPR3DDataViewer *_vtkmpr3Ddataviewer; @@ -106,11 +104,10 @@ private: vtkPolyDataMapper *_contourMapper; //Free planes - vtkImagePlaneWidget *_planeWidgetX; - vtkImagePlaneWidget *_planeWidgetY; - vtkImagePlaneWidget *_planeWidgetZ; + vtkImagePlaneWidget *_planeWidgetX; + vtkImagePlaneWidget *_planeWidgetY; + vtkImagePlaneWidget *_planeWidgetZ; - protected: }; diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.cxx index 790d3bc..b07233c 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.cxx @@ -568,7 +568,6 @@ void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ(wxCommandEvent& event) void wxVtkMPR3DViewCntrlPanel::OnVisiblePlane(wxCommandEvent& event) { _wxvtkmpr3Dview->VisiblePlaneWidget(event.IsChecked()); - } //------------------------------------------------------------------- -- 2.45.1