]> Creatis software - bbtk.git/blob - packages/vtk/src/bbvtkVecIsoSurfaceExtractor.h
*** empty log message ***
[bbtk.git] / packages / vtk / src / bbvtkVecIsoSurfaceExtractor.h
1 #ifndef __bbvtkVecIsoSurfaceExtractor_h_INCLUDED__
2 #define __bbvtkVecIsoSurfaceExtractor_h_INCLUDED__
3 #include "bbtkAtomicBlackBox.h"
4 #include "iostream"
5
6 #include "vtkImageData.h"
7 #include "vtkRenderer.h"
8 #include "vtkMarchingCubes.h"
9 #include "vtkPolyDataMapper.h"
10 #include "vtkProp3D.h"
11 #include "vtkActor.h"
12 #include <vector>
13
14
15 namespace bbvtk
16 {
17
18 class /*BBTK_EXPORT*/ VecIsoSurfaceExtractor
19  : 
20    public bbtk::AtomicBlackBox
21 {
22   BBTK_BLACK_BOX_INTERFACE(VecIsoSurfaceExtractor,bbtk::AtomicBlackBox);
23 //==================================================================
24 /// User callback called in the box contructor
25 virtual void bbUserConstructor();
26 /// User callback called in the box copy constructor
27 virtual void bbUserCopyConstructor();
28 /// User callback called in the box destructor
29 virtual void bbUserDestructor();
30 //==================================================================
31     BBTK_DECLARE_INPUT(In,std::vector<vtkImageData*>);
32     //    BBTK_DECLARE_INPUT(InVtkObject,vtkObject *);
33     BBTK_DECLARE_INPUT(Isovalue,double);
34     BBTK_DECLARE_INPUT(Opacity,double);
35     BBTK_DECLARE_INPUT(Colour,std::vector<double>);
36     BBTK_DECLARE_INPUT(Renderer,vtkRenderer *);
37         BBTK_DECLARE_INPUT(Transform, vtkLinearTransform *);
38     BBTK_DECLARE_OUTPUT(Out,std::vector<vtkProp3D*>);
39   BBTK_PROCESS(Process);
40   void Process();
41
42 //      virtual void bbUserConstructor();
43 //      virtual void bbUserCopyConstructor();
44 //      virtual void bbUserDestructor();
45         void Init();
46
47   std::vector<vtkMarchingCubes*>        VecMarchingcubes;
48   std::vector<vtkPolyDataMapper*>       VecPolydatamapper;
49   std::vector<vtkProp3D*>                       VecVtkactor; 
50
51 };
52
53 BBTK_BEGIN_DESCRIBE_BLACK_BOX(VecIsoSurfaceExtractor,bbtk::AtomicBlackBox);
54 BBTK_NAME("VecIsoSurfaceExtractor");
55 BBTK_AUTHOR("InfoTeam CREATIS-LRMN");
56 BBTK_DESCRIPTION("Vector of IsoSurfaceExtractor");
57   BBTK_CATEGORY("3D object creator");
58   BBTK_INPUT(VecIsoSurfaceExtractor,In,"Input image",std::vector<vtkImageData*>,"");
59   //  BBTK_INPUT(IsoSurfaceExtractor,InVtkObject,"Image vtkObject",vtkObject*);
60   BBTK_INPUT(VecIsoSurfaceExtractor,Isovalue,"Isovalue",double,"");
61   BBTK_INPUT(VecIsoSurfaceExtractor,Opacity,"Opacity",double,"");
62   BBTK_INPUT(VecIsoSurfaceExtractor,Colour,"r g b",std::vector<double>,"colour");
63   BBTK_INPUT(VecIsoSurfaceExtractor,Renderer,"3D scene in which to insert the surface",vtkRenderer*,"");
64   BBTK_INPUT(VecIsoSurfaceExtractor,Transform,"Linear Transform (4x4 homogeneous)",vtkLinearTransform*,"");
65   BBTK_OUTPUT(VecIsoSurfaceExtractor,Out,"Extracted iso-surface",std::vector<vtkProp3D*>,"");
66 BBTK_END_DESCRIBE_BLACK_BOX(VecIsoSurfaceExtractor);
67 }
68 // EO namespace bbvtk
69
70 #endif // __bbvtkVecIsoSurfaceExtractor_h_INCLUDED__
71