1 #ifndef __bbvtkTransform_h_INCLUDED__
2 #define __bbvtkTransform_h_INCLUDED__
3 #include "bbtkAtomicBlackBox.h"
6 #include "vtkTransform.h"
7 //#include <vtkLinearTransform.h>
12 class /*BBTK_EXPORT*/ Transform
14 public bbtk::AtomicBlackBox
16 BBTK_BLACK_BOX_INTERFACE(Transform,bbtk::AtomicBlackBox);
17 //==================================================================
18 /// User callback called in the box contructor
19 virtual void bbUserConstructor();
20 /// User callback called in the box copy constructor
21 //virtual void bbUserCopyConstructor();
22 /// User callback called in the box destructor
23 virtual void bbUserDestructor();
24 //==================================================================
25 BBTK_DECLARE_INPUT(In,vtkLinearTransform *);
26 BBTK_DECLARE_INPUT(Scale,std::vector<double>);
27 BBTK_DECLARE_INPUT(RotateWXYZ,std::vector<double>);
28 BBTK_DECLARE_INPUT(Translate,std::vector<double>);
29 BBTK_DECLARE_INPUT(Spacing,std::vector<double>);
30 BBTK_DECLARE_OUTPUT(Out,vtkLinearTransform *);
31 BBTK_PROCESS(Process);
34 std::vector<double> vecScale;
35 std::vector<double> vecRotateWXYZ;
36 std::vector<double> vecTranslate;
37 std::vector<double> vecSpacing;
41 BBTK_BEGIN_DESCRIBE_BLACK_BOX(Transform,bbtk::AtomicBlackBox);
42 BBTK_NAME("Transform");
43 BBTK_AUTHOR("InfoTeam CREATIS-LRMN");
44 BBTK_DESCRIPTION("vtkTransform");
45 BBTK_CATEGORY("math");
46 BBTK_INPUT(Transform,In,"vtkTransform to be concatenate",vtkLinearTransform *,"");
47 BBTK_INPUT(Transform,Scale,"vector with sx sy sz",std::vector<double>,"");
48 BBTK_INPUT(Transform,Translate,"vector with x y z",std::vector<double>,"");
49 BBTK_INPUT(Transform,Spacing,"vector with spacingX spacingY spacingZ",std::vector<double>,"");
50 BBTK_INPUT(Transform,RotateWXYZ,"vector with Angle Vx Vy Vz",std::vector<double>,"");
51 BBTK_OUTPUT(Transform,Out,"vtkTransform result",vtkLinearTransform *,"");
52 BBTK_END_DESCRIBE_BLACK_BOX(Transform);
56 #endif // __bbvtkTransform_h_INCLUDED__