X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaVtk%2FcreaVtkPlaneWidget.cpp;h=2081fb0277ceb89826f115fb1d9bd1436b854a54;hb=refs%2Fheads%2Fvtk9itk5wx3-macos;hp=39cca10c7502c937298b74332a66cd9d1c81057c;hpb=fbbb28f5a7bfb5aa48b76977df6238774c4512cd;p=creaVtk.git diff --git a/lib/creaVtk/creaVtkPlaneWidget.cpp b/lib/creaVtk/creaVtkPlaneWidget.cpp index 39cca10..2081fb0 100644 --- a/lib/creaVtk/creaVtkPlaneWidget.cpp +++ b/lib/creaVtk/creaVtkPlaneWidget.cpp @@ -37,7 +37,7 @@ void creaVtkCallbackPlaneWidget::Execute(vtkObject *caller, unsigned long, void* { creavtkplanewidget->UpdatePlane(); creavtkplanewidget->Execute(); - } + } // if creavtkplanewidget != NULL } @@ -158,11 +158,29 @@ void creaVtkPlaneWidget::SetOrigin(std::vector origin) _origin = origin; } +void creaVtkPlaneWidget::SetNormalIn(std::vector normalin) +{ + _normalin = normalin; +} + + //------------------------------------------------------------------------ void creaVtkPlaneWidget::Process() -{ - if ((GetActive()==true) && (GetRenderer()!=NULL)) - { +{ + if ((GetActive()==true) && (GetRenderer()!=NULL)) + { + if (_origin.size()==0) + { + _origin.push_back(0); + _origin.push_back(0); + _origin.push_back(0); + } + if (_origin.size()==0) + { + _normalin.push_back(0); + _normalin.push_back(0); + _normalin.push_back(1); + } //EED 2017-01-01 Migration VTK7 #if VTK_MAJOR_VERSION <= 5 @@ -178,14 +196,18 @@ void creaVtkPlaneWidget::Process() if (_representation==1){ _vPlaneWidget->SetRepresentationToWireframe(); } if (_representation==2){ _vPlaneWidget->SetRepresentationToSurface(); } _vPlaneWidget->SetPlaceFactor(1); //defini zoom initial - _vPlaneWidget->SetHandleSize(0.01); + _vPlaneWidget->SetHandleSize(0.001); _vPlaneWidget->On(); - _vPlaneWidget->Print(std::cout); +// _vPlaneWidget->Print(std::cout); if (_origin.size()==3) { _vPlaneWidget->SetCenter( _origin[0] , _origin[1] , _origin[2] ); } // if _origin - if (_firsttime==true ) + if (_normalin.size()==3) + { + _vPlaneWidget->SetNormal( _normalin[0] , _normalin[1] , _normalin[2] ); + } // if _origin + if (_firsttime==true ) { _firsttime = false; _vPlaneWidget->PlaceWidget(); @@ -194,6 +216,11 @@ void creaVtkPlaneWidget::Process() _vPlaneWidget->AddObserver( vtkCommand::InteractionEvent , creavtkcallbackplanewidget ); _vPlaneWidget->AddObserver( vtkCommand::StartInteractionEvent , creavtkcallbackplanewidget ); _vPlaneWidget->AddObserver( vtkCommand::EnableEvent , creavtkcallbackplanewidget ); + + _vPlaneWidget->SetOrigin( _origin[0] , _origin[1] , _origin[2] ); + _vPlaneWidget->SetPoint1( _origin[0]+20 , _origin[1] , _origin[2] ); + _vPlaneWidget->SetPoint2( _origin[0] , _origin[1]+20 , _origin[2] ); + } UpdatePlane(); } else {