]> Creatis software - bbtk.git/blobdiff - packages/vtk/src/bbvtkTransform.h
*** empty log message ***
[bbtk.git] / packages / vtk / src / bbvtkTransform.h
diff --git a/packages/vtk/src/bbvtkTransform.h b/packages/vtk/src/bbvtkTransform.h
new file mode 100644 (file)
index 0000000..a9d3d72
--- /dev/null
@@ -0,0 +1,57 @@
+#ifndef __bbvtkTransform_h_INCLUDED__
+#define __bbvtkTransform_h_INCLUDED__
+#include "bbtkAtomicBlackBox.h"
+#include "iostream"
+
+#include <vtkTransform.h>
+#include <vtkLinearTransform.h>
+
+namespace bbvtk
+{
+
+class /*BBTK_EXPORT*/ Transform
+ : 
+   public bbtk::AtomicBlackBox
+{
+  BBTK_BLACK_BOX_INTERFACE(Transform,bbtk::AtomicBlackBox);
+//==================================================================
+/// User callback called in the box contructor
+virtual void bbUserConstructor();
+/// User callback called in the box copy constructor
+virtual void bbUserCopyConstructor();
+/// User callback called in the box destructor
+virtual void bbUserDestructor();
+//==================================================================
+ BBTK_DECLARE_INPUT(In,vtkLinearTransform *);
+ BBTK_DECLARE_INPUT(Scale,std::vector<double>);
+ BBTK_DECLARE_INPUT(RotateWXYZ,std::vector<double>);
+ BBTK_DECLARE_INPUT(Translate,std::vector<double>);
+ BBTK_DECLARE_INPUT(Spacing,std::vector<double>);
+ BBTK_DECLARE_OUTPUT(Out,vtkLinearTransform *);
+ BBTK_PROCESS(Process);
+ void Process();
+
+ std::vector<double>   vecScale;
+ std::vector<double>   vecRotateWXYZ;
+ std::vector<double>   vecTranslate;
+ std::vector<double>   vecSpacing;
+ vtkTransform                  *result; 
+};
+
+BBTK_BEGIN_DESCRIBE_BLACK_BOX(Transform,bbtk::AtomicBlackBox);
+BBTK_NAME("Transform");
+BBTK_AUTHOR("InfoTeam CREATIS-LRMN");
+BBTK_DESCRIPTION("vtkTransform");
+BBTK_CATEGORY("math");
+BBTK_INPUT(Transform,In,"vtkTransform to be concatenate",vtkLinearTransform *,"");
+BBTK_INPUT(Transform,Scale,"vector with sx sy sz",std::vector<double>,"");
+BBTK_INPUT(Transform,Translate,"vector with x y z",std::vector<double>,"");
+BBTK_INPUT(Transform,Spacing,"vector with spacingX spacingY spacingZ",std::vector<double>,"");
+BBTK_INPUT(Transform,RotateWXYZ,"vector with Angle Vx Vy Vz",std::vector<double>,"");
+BBTK_OUTPUT(Transform,Out,"vtkTransform result",vtkLinearTransform *,"");
+BBTK_END_DESCRIBE_BLACK_BOX(Transform);
+}
+// EO namespace bbvtk
+
+#endif // __bbvtkTransform_h_INCLUDED__
+