]> Creatis software - creaVtk.git/blobdiff - lib/creaVtk/creaVtkPlaneWidget.cpp
#3526 Active option in HausdorffDistancePointSetFilter box
[creaVtk.git] / lib / creaVtk / creaVtkPlaneWidget.cpp
index 39cca10c7502c937298b74332a66cd9d1c81057c..2081fb0277ceb89826f115fb1d9bd1436b854a54 100644 (file)
@@ -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<double> origin)
        _origin = origin;
 }
 
+void creaVtkPlaneWidget::SetNormalIn(std::vector<double> 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 {