]> Creatis software - creaVtk.git/commitdiff
#3477 Set Normal in PlaneWidget
authorEduardo DAVILA <davila@creatis.insa-lyon.fr>
Thu, 23 Dec 2021 15:55:10 +0000 (16:55 +0100)
committerEduardo DAVILA <davila@creatis.insa-lyon.fr>
Thu, 23 Dec 2021 15:55:10 +0000 (16:55 +0100)
bbtk_creaVtk_PKG/src/bbcreaVtkPlaneWidget.cxx
bbtk_creaVtk_PKG/src/bbcreaVtkPlaneWidget.h
lib/creaVtk/creaVtkPlaneWidget.cpp
lib/creaVtk/creaVtkPlaneWidget.h

index 833d6be9d99e7db0df9d39f0435e7920e68f00b1..869a8f7e58c20346ef43798a1568d4b0db629ec0 100644 (file)
@@ -16,7 +16,6 @@ void boxcreaVtkPlaneWidget::Execute()  // virutal
        box->bbSignalOutputModification(std::string("Center"));
        box->bbSetOutputNormal( box->_boxcreavtkplanewidget.GetNormal() );
        box->bbSignalOutputModification(std::string("Normal"));
-
 }
 
 //----------------------------------------------------------------------------------------------
@@ -59,6 +58,7 @@ void PlaneWidget::Process()
                _boxcreavtkplanewidget.SetRenderer( bbGetInputRenderer() );
                _boxcreavtkplanewidget.SetRepresentation( bbGetInputRepresentation() );
                _boxcreavtkplanewidget.SetOrigin( bbGetInputOrigin() );
+        _boxcreavtkplanewidget.SetNormalIn( bbGetInputNormalIn() );
                _boxcreavtkplanewidget.Process();
                
                bbSetOutputOut( _boxcreavtkplanewidget.GetPlaneSource()->GetOutput() );
index 89881fb17650e328f2f0041b1e4aa3939fbcb378..e32806bb23a31e2d021fc93d257e00ba0b9c3ab2 100644 (file)
@@ -42,6 +42,7 @@ class bbcreaVtk_EXPORT PlaneWidget
   BBTK_DECLARE_INPUT(Renderer,vtkRenderer*);
   BBTK_DECLARE_INPUT(Representation,int);
   BBTK_DECLARE_INPUT(Origin,std::vector<double>);
+  BBTK_DECLARE_INPUT(NormalIn,std::vector<double>);
   BBTK_DECLARE_OUTPUT(Out,vtkDataSet*);
   BBTK_DECLARE_OUTPUT(Center,std::vector<double>);
   BBTK_DECLARE_OUTPUT(Normal,std::vector<double>);
@@ -69,6 +70,7 @@ BBTK_CATEGORY("empty");
   BBTK_INPUT(PlaneWidget,Renderer,"vtkRenderer",vtkRenderer*,"");
   BBTK_INPUT(PlaneWidget,Representation,"(default 1) 0:OutLine 1:Wireframe 2:Surface",int,"");
   BBTK_INPUT(PlaneWidget,Origin,"Origin [x,y,z]",std::vector<double>,"");
+  BBTK_INPUT(PlaneWidget,NormalIn,"Normal [x,y,z]",std::vector<double>,"");
 
   BBTK_OUTPUT(PlaneWidget,Out,"Dynamic plane result from vtkPlaneSource",vtkDataSet*,"");
   BBTK_OUTPUT(PlaneWidget,Center,"Center of the plane",std::vector<double>,"");
index 39cca10c7502c937298b74332a66cd9d1c81057c..3750454dce5ba29f57bbcf7c60af09d0ed4334d0 100644 (file)
@@ -158,6 +158,12 @@ void creaVtkPlaneWidget::SetOrigin(std::vector<double> origin)
        _origin = origin;
 }
 
+void creaVtkPlaneWidget::SetNormalIn(std::vector<double> normalin)
+{
+    _normalin = normalin;
+}
+
+
 //------------------------------------------------------------------------
 void creaVtkPlaneWidget::Process()
 {    
@@ -185,7 +191,11 @@ void creaVtkPlaneWidget::Process()
                {
                        _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();
index 043132e302edc7b5436a7a654c4e2cff69344a61..5254cadb3b2f440df789958ccd2a9f7f5946f83d 100644 (file)
@@ -66,28 +66,29 @@ class creaVtkPlaneWidget
 //Methods and attributes exposed to other classes
 //---------------------------------------------
 public :
-  creaVtkPlaneWidget();
-  ~creaVtkPlaneWidget();
-
-  void                   SetImage(vtkImageData* image);
-  vtkImageData*   GetImage();
-  void                   SetActive(bool active);
-  bool                   GetActive();
-  void                   SetRenderer(vtkRenderer* renderer);
-  vtkRenderer*           GetRenderer();
-  vtkPlaneSource* GetPlaneSource();
-  void                   SetResolution(int resolution);
-  int            GetResolution();
-  void                   SetRepresentation(int represtation);
-  int            GetRepresentation();
-  std::vector<double> GetCenter();
-  std::vector<double> GetNormal();
-
-       void SetOrigin( std::vector<double> origin);
-
-  void                   Process();
-  void                   UpdatePlane();
-  virtual void           Execute();
+    creaVtkPlaneWidget();
+    ~creaVtkPlaneWidget();
+
+    void                       SetImage(vtkImageData* image);
+    vtkImageData*       GetImage();
+    void                       SetActive(bool active);
+    bool                       GetActive();
+    void                       SetRenderer(vtkRenderer* renderer);
+    vtkRenderer*           GetRenderer();
+    vtkPlaneSource*     GetPlaneSource();
+    void                       SetResolution(int resolution);
+    int                        GetResolution();
+    void                       SetRepresentation(int represtation);
+    int                        GetRepresentation();
+    std::vector<double> GetCenter();
+    std::vector<double> GetNormal();
+
+    void                SetOrigin( std::vector<double> origin);
+    void                SetNormalIn( std::vector<double> normalin);
+
+    void                       Process();
+    void                       UpdatePlane();
+    virtual void           Execute();
 
 
 //---------------------------------------------
@@ -106,10 +107,11 @@ private:
        vtkRenderer     *               _renderer;
        int                             _resolution;
        int                             _representation;
-       std::vector<double> _origin;
+    std::vector<double> _origin;
+       std::vector<double> _normalin;
 
-       vtkPlaneWidget *_vPlaneWidget;
-        vtkPlaneSource *_vPlaneSource;
+       vtkPlaneWidget      *_vPlaneWidget;
+    vtkPlaneSource      *_vPlaneSource;
 };
 
 //-end of _CREAVTKPLANEWIDGET_H_------------------------------------------------------