]> Creatis software - creaRigidRegistration.git/blob - PackRecalage/src/bbPackRecalageSurfaceCreator.h
Feature #1766 Add licence terms for all files.
[creaRigidRegistration.git] / PackRecalage / src / bbPackRecalageSurfaceCreator.h
1 /*
2 # ---------------------------------------------------------------------
3 #
4 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
5 #                        pour la Santé)
6 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
7 #
8 #  This software is governed by the CeCILL-B license under French law and 
9 #  abiding by the rules of distribution of free software. You can  use, 
10 #  modify and/ or redistribute the software under the terms of the CeCILL-B 
11 #  license as circulated by CEA, CNRS and INRIA at the following URL 
12 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
13 #  or in the file LICENSE.txt.
14 #
15 #  As a counterpart to the access to the source code and  rights to copy,
16 #  modify and redistribute granted by the license, users are provided only
17 #  with a limited warranty  and the software's author,  the holder of the
18 #  economic rights,  and the successive licensors  have only  limited
19 #  liability. 
20 #
21 #  The fact that you are presently reading this means that you have had
22 #  knowledge of the CeCILL-B license and that you accept its terms.
23 # ------------------------------------------------------------------------   
24 */
25
26
27 #ifndef __bbPackRecalageSurfaceCreator_h_INCLUDED__
28 #define __bbPackRecalageSurfaceCreator_h_INCLUDED__
29 #include "bbPackRecalage_EXPORT.h"
30 #include "bbtkAtomicBlackBox.h"
31 #include "iostream"
32
33 #include "Surface.h"
34
35 #include "vtkActor.h" 
36
37 namespace bbPackRecalage
38 {
39 class bbPackRecalage_EXPORT SurfaceCreator
40  : 
41    public bbtk::AtomicBlackBox
42 {
43
44         bool firsttime;
45
46   Surface *surface1;
47   Surface *surface2;
48
49   vtkActorCollection *actors;
50
51   BBTK_BLACK_BOX_INTERFACE(SurfaceCreator,bbtk::AtomicBlackBox);
52   BBTK_DECLARE_INPUT(Image1,vtkImageData*);
53   BBTK_DECLARE_INPUT(Image2,vtkImageData*);
54   BBTK_DECLARE_INPUT(Height1,int);
55   BBTK_DECLARE_INPUT(Height2,int);
56   BBTK_DECLARE_INPUT(Color1,std::string);
57   BBTK_DECLARE_INPUT(Color2,std::string);
58   BBTK_DECLARE_INPUT(Renderer,vtkRenderer*);
59   BBTK_DECLARE_OUTPUT(Out1,vtkProp3D*);
60   BBTK_DECLARE_OUTPUT(Out2,vtkProp3D*);
61   BBTK_PROCESS(Process);
62   void Process();
63 };
64
65 BBTK_BEGIN_DESCRIBE_BLACK_BOX(SurfaceCreator,bbtk::AtomicBlackBox);
66 BBTK_NAME("SurfaceCreator");
67 BBTK_AUTHOR("jn.trillos44@uniandes.edu.co");
68 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.");
69 BBTK_CATEGORY("__CATEGORY__");
70 BBTK_INPUT(SurfaceCreator,Image1,"Original Image 1",vtkImageData*,"");
71 BBTK_INPUT(SurfaceCreator,Image2,"Original Image 2",vtkImageData*,"");
72 BBTK_INPUT(SurfaceCreator,Height1,"Maximun height of the first surface",int,"");
73 BBTK_INPUT(SurfaceCreator,Height2,"Maximun height of the second surface",int,"");
74 BBTK_INPUT(SurfaceCreator,Color1,"Color of the first surface",std::string,"");
75 BBTK_INPUT(SurfaceCreator,Color2,"Color of the second surface",std::string,"");
76 BBTK_INPUT(SurfaceCreator,Renderer,"3D scene in which to insert the surface",vtkRenderer*,"");
77 BBTK_OUTPUT(SurfaceCreator,Out1,"First 3D Surface",vtkProp3D*,"");
78 BBTK_OUTPUT(SurfaceCreator,Out2,"Second 3D Surface",vtkProp3D*,"");
79 BBTK_END_DESCRIBE_BLACK_BOX(SurfaceCreator);
80 }
81 // EO namespace bbCreaRecalage
82
83 #endif // __bbCreaRecalageSurfaceCreator_h_INCLUDED__
84