]> Creatis software - bbtk.git/blobdiff - packages/vtk/src/bbvtkPolyDataToActor.h
#3467 Bug: InvertCrop Dimension of 2D or 3D
[bbtk.git] / packages / vtk / src / bbvtkPolyDataToActor.h
index 8705f83906abff678c39337053bad68cc8172d17..583f0f7a1937516bf3b4a0c69e73874e47f12786 100644 (file)
@@ -61,6 +61,7 @@
 #include "vtkPolyDataMapper.h"
 #include "vtkProp3D.h"
 #include "vtkActor.h"
+#include "vtkScalarsToColors.h"
 #include <vector>
 
 #include "bbtkAtomicBlackBox.h"
@@ -72,13 +73,14 @@ namespace bbvtk
     : 
     public bbtk::AtomicBlackBox
   {
-    bool              firsttime;
+    bool              actorAdded;
     vtkPolyDataMapper *polydatamapper;
     vtkActor          *vtkactor; 
     
     
     BBTK_BLACK_BOX_INTERFACE(PolyDataToActor,bbtk::AtomicBlackBox);
     
+    BBTK_DECLARE_INPUT(Active,bool);
     BBTK_DECLARE_INPUT(In,vtkPolyData *);
     BBTK_DECLARE_INPUT(Opacity,double);
     BBTK_DECLARE_INPUT(Colour,std::vector<double>);
@@ -87,6 +89,10 @@ namespace bbvtk
     BBTK_DECLARE_INPUT(Representation, int);
     BBTK_DECLARE_INPUT(LineWidth, double);
     BBTK_DECLARE_INPUT(ScalarVisibility, bool);
+    BBTK_DECLARE_INPUT(ScalarVisibilityOn_LookupTable, vtkScalarsToColors*);
+    BBTK_DECLARE_INPUT(ScalarVisibilityOn_NameColorArray, std::string);
+    BBTK_DECLARE_INPUT(ScalarVisibilityOn_ScalarRange, std::vector<double>);
+
     BBTK_DECLARE_OUTPUT(Out,vtkProp3D *);
     
     BBTK_PROCESS(DoProcess);
@@ -103,13 +109,19 @@ namespace bbvtk
   BBTK_CATEGORY("3D object creator");
   BBTK_INPUT(PolyDataToActor,In,"Input image",vtkPolyData*,"");
 
+  BBTK_INPUT(PolyDataToActor,Active,"Active true/false (default true)",bool,"");
   BBTK_INPUT(PolyDataToActor,Opacity,"Opacity",double,"");
   BBTK_INPUT(PolyDataToActor,Colour,"r g b",vectorcolour,"colour");
   BBTK_INPUT(PolyDataToActor,Renderer,"3D scene in which to insert the surface",vtkRenderer*,"");
   BBTK_INPUT(PolyDataToActor,Transform,"Linear Transform (4x4 homogeneous)",vtkLinearTransform*,"");
   BBTK_INPUT(PolyDataToActor,Representation,"0 points,1 wireframe, 2(default) surface",int,"");
   BBTK_INPUT(PolyDataToActor,LineWidth,"Width of the wireframe (1 default)",double,"");
-  BBTK_INPUT(PolyDataToActor,ScalarVisibility,"Scalar Visibility (false default)",bool,"");
+  BBTK_INPUT(PolyDataToActor,ScalarVisibility,"(false default)   a) ScalarVisibility:false use color actor.  b) ScalarVisibility:true use PolyData->SetScalars [3-components-RGB] (float 0..1 or int 0..255).  c) ScalarVisibility:true and SetLookupTable use PolyData->SetScalars [1-component] d) ScalarVisibility:true and SetLookupTable SelectColorArray(<NameArray>) use PolyData->SetScalars( scalar(<NameArray>) ). e) For c/d  SetScalarRange just for the mapper. d) [-1,-1] take PolyData->GetScalarRange()",bool,"");
+
+  BBTK_INPUT(PolyDataToActor,ScalarVisibilityOn_LookupTable,"LookupTable (need ScalarVisibility true)",vtkScalarsToColors*,"");
+  BBTK_INPUT(PolyDataToActor,ScalarVisibilityOn_NameColorArray,"Name of the array in PolyData (need ScalarVisibility true)",std::string,"");
+  BBTK_INPUT(PolyDataToActor,ScalarVisibilityOn_ScalarRange,"[min,max] Make ScalarRange independent from  LookupTable (need ScalarVisibility true)", std::vector<double> ,"");
+
   BBTK_OUTPUT(PolyDataToActor,Out,"Extracted iso-surface",vtkProp3D *,"");
   
   BBTK_END_DESCRIBE_BLACK_BOX(PolyDataToActor);