]> Creatis software - creaRigidRegistration.git/blob - PackRecalage/src/bbPackRecalageSurfaceCreator.h
2487e7bc2b07960abf5890279a92aa7993cdecee
[creaRigidRegistration.git] / PackRecalage / src / bbPackRecalageSurfaceCreator.h
1 #ifndef __bbPackRecalageSurfaceCreator_h_INCLUDED__
2 #define __bbPackRecalageSurfaceCreator_h_INCLUDED__
3 #include "bbPackRecalage_EXPORT.h"
4 #include "bbtkAtomicBlackBox.h"
5 #include "iostream"
6
7 #include "Surface.h"
8
9 #include "vtkActor.h" 
10
11 namespace bbPackRecalage
12 {
13 class bbPackRecalage_EXPORT SurfaceCreator
14  : 
15    public bbtk::AtomicBlackBox
16 {
17
18         bool firsttime;
19
20   Surface *surface1;
21   Surface *surface2;
22
23   vtkActorCollection *actors;
24
25   BBTK_BLACK_BOX_INTERFACE(SurfaceCreator,bbtk::AtomicBlackBox);
26   BBTK_DECLARE_INPUT(Image1,vtkImageData*);
27   BBTK_DECLARE_INPUT(Image2,vtkImageData*);
28   BBTK_DECLARE_INPUT(Height1,int);
29   BBTK_DECLARE_INPUT(Height2,int);
30   BBTK_DECLARE_INPUT(Color1,std::string);
31   BBTK_DECLARE_INPUT(Color2,std::string);
32   BBTK_DECLARE_INPUT(Renderer,vtkRenderer*);
33   BBTK_DECLARE_OUTPUT(Out1,vtkProp3D*);
34   BBTK_DECLARE_OUTPUT(Out2,vtkProp3D*);
35   BBTK_PROCESS(Process);
36   void Process();
37 };
38
39 BBTK_BEGIN_DESCRIBE_BLACK_BOX(SurfaceCreator,bbtk::AtomicBlackBox);
40 BBTK_NAME("SurfaceCreator");
41 BBTK_AUTHOR("jn.trillos44@uniandes.edu.co");
42 BBTK_DESCRIPTION("Creates a 3D surface from a 2D image in which the height of a specific point in the surface is defined by the RGB value in the same point of the image.");
43 BBTK_CATEGORY("__CATEGORY__");
44 BBTK_INPUT(SurfaceCreator,Image1,"Original Image 1",vtkImageData*,"");
45 BBTK_INPUT(SurfaceCreator,Image2,"Original Image 2",vtkImageData*,"");
46 BBTK_INPUT(SurfaceCreator,Height1,"Maximun height of the first surface",int,"");
47 BBTK_INPUT(SurfaceCreator,Height2,"Maximun height of the second surface",int,"");
48 BBTK_INPUT(SurfaceCreator,Color1,"Color of the first surface",std::string,"");
49 BBTK_INPUT(SurfaceCreator,Color2,"Color of the second surface",std::string,"");
50 BBTK_INPUT(SurfaceCreator,Renderer,"3D scene in which to insert the surface",vtkRenderer*,"");
51 BBTK_OUTPUT(SurfaceCreator,Out1,"First 3D Surface",vtkProp3D*,"");
52 BBTK_OUTPUT(SurfaceCreator,Out2,"Second 3D Surface",vtkProp3D*,"");
53 BBTK_END_DESCRIBE_BLACK_BOX(SurfaceCreator);
54 }
55 // EO namespace bbCreaRecalage
56
57 #endif // __bbCreaRecalageSurfaceCreator_h_INCLUDED__
58