]> Creatis software - creaRigidRegistration.git/blob - PackRecalage/src/bbPackRecalageCalculateVectorBox.h
Added to library TransformLib.
[creaRigidRegistration.git] / PackRecalage / src / bbPackRecalageCalculateVectorBox.h
1 #ifndef __bbPackRecalageCalculateVectorBox_h_INCLUDED__
2 #define __bbPackRecalageCalculateVectorBox_h_INCLUDED__
3 #include "bbPackRecalage_EXPORT.h"
4 #include "bbtkAtomicBlackBox.h"
5 #include "iostream"
6
7 namespace bbPackRecalage
8 {
9
10 class bbPackRecalage_EXPORT CalculateVectorBox
11  : 
12    public bbtk::AtomicBlackBox
13 {
14   BBTK_BLACK_BOX_INTERFACE(CalculateVectorBox,bbtk::AtomicBlackBox);
15   BBTK_DECLARE_INPUT(PointsX1,std::vector<int>);
16   BBTK_DECLARE_INPUT(PointsX2,std::vector<int>);
17   BBTK_DECLARE_INPUT(PointsY1,std::vector<int>);
18   BBTK_DECLARE_INPUT(PointsY2,std::vector<int>);
19   BBTK_DECLARE_INPUT(PointsZ1,std::vector<int>);
20   BBTK_DECLARE_INPUT(PointsZ2,std::vector<int>);
21   BBTK_DECLARE_INPUT(Labels1,std::vector<std::string>);
22   BBTK_DECLARE_INPUT(Labels2,std::vector<std::string>);
23   BBTK_DECLARE_OUTPUT(OutX,int);
24   BBTK_DECLARE_OUTPUT(OutY,int);
25   BBTK_DECLARE_OUTPUT(OutZ,int);
26   BBTK_DECLARE_OUTPUT(OutScaleX,int);
27   BBTK_DECLARE_OUTPUT(OutScaleY,int);
28   BBTK_DECLARE_OUTPUT(OutScaleZ,int);
29   BBTK_DECLARE_OUTPUT(OutAngle,double);
30   BBTK_PROCESS(Process);
31   void Process();
32 };
33
34 BBTK_BEGIN_DESCRIBE_BLACK_BOX(CalculateVectorBox,bbtk::AtomicBlackBox);
35 BBTK_NAME("CalculateVectorBox");
36 BBTK_AUTHOR("jn.trillos44@uniandes.edu.co");
37 BBTK_DESCRIPTION("Box for calculating the cross and point multiplications of 2 vectors");
38 BBTK_CATEGORY("__CATEGORY__");
39 BBTK_INPUT(CalculateVectorBox,PointsX1,"List of points in X for the first vector",std::vector<int>,"");
40 BBTK_INPUT(CalculateVectorBox,PointsX2,"List of points in X for the second vector",std::vector<int>,"");
41 BBTK_INPUT(CalculateVectorBox,PointsY1,"List of points in Y for the first vector",std::vector<int>,"");
42 BBTK_INPUT(CalculateVectorBox,PointsY2,"List of points in Y for the second vector",std::vector<int>,"");
43 BBTK_INPUT(CalculateVectorBox,PointsZ1,"List of points in Z for the first vector",std::vector<int>,"");
44 BBTK_INPUT(CalculateVectorBox,PointsZ2,"List of points in Z for the second vector",std::vector<int>,"");
45 BBTK_INPUT(CalculateVectorBox,Labels1,"Labels of the points for the first vector",std::vector<std::string>,"");
46 BBTK_INPUT(CalculateVectorBox,Labels2,"Labels of the points for the second vector",std::vector<std::string>,"");
47 BBTK_OUTPUT(CalculateVectorBox,OutX,"Point in X for the cross multiplication",int,"");
48 BBTK_OUTPUT(CalculateVectorBox,OutY,"Point in Y for the cross multiplication",int,"");
49 BBTK_OUTPUT(CalculateVectorBox,OutZ,"Point in Z for the cross multiplication",int,"");
50 BBTK_OUTPUT(CalculateVectorBox,OutScaleX,"Difference in scale for X for the cross multiplication",int,"");
51 BBTK_OUTPUT(CalculateVectorBox,OutScaleY,"Difference in scale for Y for the cross multiplication",int,"");
52 BBTK_OUTPUT(CalculateVectorBox,OutScaleZ,"Difference in scale for Z for the cross multiplication",int,"");
53 BBTK_OUTPUT(CalculateVectorBox,OutAngle,"Angle that represents the dot multiplication",double,"");
54 BBTK_END_DESCRIBE_BLACK_BOX(CalculateVectorBox);
55 }
56 // EO namespace bbPackRecalage
57
58 #endif // __bbPackRecalageCalculateVectorBox_h_INCLUDED__
59