1 #ifndef __bbvtkVecIsoSurfaceExtractor_h_INCLUDED__
2 #define __bbvtkVecIsoSurfaceExtractor_h_INCLUDED__
3 #include "bbtkAtomicBlackBox.h"
6 #include "vtkImageData.h"
7 #include "vtkRenderer.h"
8 #include "vtkMarchingCubes.h"
9 #include "vtkPolyDataMapper.h"
10 #include "vtkProp3D.h"
17 class /*BBTK_EXPORT*/ VecIsoSurfaceExtractor
19 public bbtk::AtomicBlackBox
21 BBTK_BLACK_BOX_INTERFACE(VecIsoSurfaceExtractor,bbtk::AtomicBlackBox);
22 BBTK_DECLARE_INPUT(In,std::vector<vtkImageData*>);
23 // BBTK_DECLARE_INPUT(InVtkObject,vtkObject *);
24 BBTK_DECLARE_INPUT(Isovalue,double);
25 BBTK_DECLARE_INPUT(Opacity,double);
26 BBTK_DECLARE_INPUT(Colour,std::vector<double>);
27 BBTK_DECLARE_INPUT(Renderer,vtkRenderer *);
28 BBTK_DECLARE_INPUT(Transform, vtkLinearTransform *);
29 BBTK_DECLARE_OUTPUT(Out,std::vector<vtkProp3D*>);
30 BBTK_PROCESS(Process);
33 // virtual void bbUserConstructor();
34 // virtual void bbUserCopyConstructor();
35 // virtual void bbUserDestructor();
38 std::vector<vtkMarchingCubes*> VecMarchingcubes;
39 std::vector<vtkPolyDataMapper*> VecPolydatamapper;
40 std::vector<vtkProp3D*> VecVtkactor;
44 BBTK_BEGIN_DESCRIBE_BLACK_BOX(VecIsoSurfaceExtractor,bbtk::AtomicBlackBox);
45 BBTK_NAME("VecIsoSurfaceExtractor");
46 BBTK_AUTHOR("InfoTeam CREATIS-LRMN");
47 BBTK_DESCRIPTION("Vector of IsoSurfaceExtractor");
48 BBTK_CATEGORY("3D object creator");
49 BBTK_INPUT(VecIsoSurfaceExtractor,In,"Input image",std::vector<vtkImageData*>,"");
50 // BBTK_INPUT(IsoSurfaceExtractor,InVtkObject,"Image vtkObject",vtkObject*);
51 BBTK_INPUT(VecIsoSurfaceExtractor,Isovalue,"Isovalue",double,"");
52 BBTK_INPUT(VecIsoSurfaceExtractor,Opacity,"Opacity",double,"");
53 BBTK_INPUT(VecIsoSurfaceExtractor,Colour,"r g b",std::vector<double>,"colour");
54 BBTK_INPUT(VecIsoSurfaceExtractor,Renderer,"3D scene in which to insert the surface",vtkRenderer*,"");
55 BBTK_INPUT(VecIsoSurfaceExtractor,Transform,"Linear Transform (4x4 homogeneous)",vtkLinearTransform*,"");
56 BBTK_OUTPUT(VecIsoSurfaceExtractor,Out,"Extracted iso-surface",std::vector<vtkProp3D*>,"");
57 BBTK_END_DESCRIBE_BLACK_BOX(VecIsoSurfaceExtractor);
61 #endif // __bbvtkVecIsoSurfaceExtractor_h_INCLUDED__