#include "vtkPolyDataMapper.h"
#include "vtkProp3D.h"
#include "vtkActor.h"
+#include "vtkScalarsToColors.h"
#include <vector>
#include "bbtkAtomicBlackBox.h"
:
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>);
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);
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);