]> Creatis software - bbtk.git/blob - packages/vtk/src/bbvtkTransform.h
a9d3d72ad753c34eb939995a4c3161d413b05336
[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 //==================================================================
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);
32  void Process();
33
34  std::vector<double>    vecScale;
35  std::vector<double>    vecRotateWXYZ;
36  std::vector<double>    vecTranslate;
37  std::vector<double>    vecSpacing;
38  vtkTransform                   *result; 
39 };
40
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);
53 }
54 // EO namespace bbvtk
55
56 #endif // __bbvtkTransform_h_INCLUDED__
57