]> Creatis software - bbtk.git/blob - packages/vtk/src/bbvtkTransform.h
.
[bbtk.git] / packages / vtk / src / bbvtkTransform.h
1 #ifndef __bbvtkTransform_h_INCLUDED__
2 #define __bbvtkTransform_h_INCLUDED__
3 #include "bbtkAtomicBlackBox.h"
4 #include "iostream"
5
6 #include "vtkTransform.h"
7 //#include <vtkLinearTransform.h>
8
9 namespace bbvtk
10 {
11   
12   class /*BBTK_EXPORT*/ Transform
13     : 
14     public bbtk::AtomicBlackBox
15   {
16     BBTK_BLACK_BOX_INTERFACE(Transform,bbtk::AtomicBlackBox);
17     BBTK_DECLARE_INPUT(In,vtkLinearTransform *);
18     BBTK_DECLARE_INPUT(Scale,std::vector<double>);
19     BBTK_DECLARE_INPUT(RotateWXYZ,std::vector<double>);
20     BBTK_DECLARE_INPUT(Translate,std::vector<double>);
21     BBTK_DECLARE_INPUT(Spacing,std::vector<double>);
22     BBTK_DECLARE_OUTPUT(Out,vtkLinearTransform *);
23     BBTK_PROCESS(Process);
24     void Process();
25     
26     std::vector<double>         vecScale;
27     std::vector<double>         vecRotateWXYZ;
28     std::vector<double>         vecTranslate;
29     std::vector<double>         vecSpacing;
30     vtkTransform                        *result; 
31 };
32   
33   BBTK_BEGIN_DESCRIBE_BLACK_BOX(Transform,bbtk::AtomicBlackBox);
34   BBTK_NAME("Transform");
35   BBTK_AUTHOR("InfoTeam CREATIS-LRMN");
36   BBTK_DESCRIPTION("vtkTransform");
37   BBTK_CATEGORY("math");
38   BBTK_INPUT(Transform,In,"vtkTransform to be concatenate",vtkLinearTransform *,"");
39   BBTK_INPUT(Transform,Scale,"vector with sx sy sz",std::vector<double>,"");
40   BBTK_INPUT(Transform,Translate,"vector with x y z",std::vector<double>,"");
41   BBTK_INPUT(Transform,Spacing,"vector with spacingX spacingY spacingZ",std::vector<double>,"");
42   BBTK_INPUT(Transform,RotateWXYZ,"vector with Angle Vx Vy Vz",std::vector<double>,"");
43   BBTK_OUTPUT(Transform,Out,"vtkTransform result",vtkLinearTransform *,"");
44   BBTK_END_DESCRIBE_BLACK_BOX(Transform);
45 }
46 // EO namespace bbvtk
47
48 #endif // __bbvtkTransform_h_INCLUDED__
49