+#ifndef __bbPackRecalageTransform3DBox_h_INCLUDED__
+#define __bbPackRecalageTransform3DBox_h_INCLUDED__
+#include "bbPackRecalage_EXPORT.h"
+#include "bbtkAtomicBlackBox.h"
+#include "iostream"
+#include "Transformer3D.h"
+#include "vtkLinearTransform.h"
+
+namespace bbPackRecalage
+{
+
+class bbPackRecalage_EXPORT Transform3DBox
+ :
+ public bbtk::AtomicBlackBox
+{
+ BBTK_BLACK_BOX_INTERFACE(Transform3DBox,bbtk::AtomicBlackBox);
+
+ /*Point(x,y) -> Rotation Center*/
+ BBTK_DECLARE_INPUT(CenterPoint,std::vector<int>);
+
+ /*Resultant vtkTransform*/
+ BBTK_DECLARE_OUTPUT(Out, vtkLinearTransform*);
+
+ BBTK_PROCESS(Process);
+ void Process();
+
+ /*Class in charge of making the transformations*/
+ Transformer3D *transformer;
+};
+
+BBTK_BEGIN_DESCRIBE_BLACK_BOX(Transform3DBox,bbtk::AtomicBlackBox);
+BBTK_NAME("Transform3DBox");
+BBTK_AUTHOR("jn.trillos44@uniandes.edu.co");
+BBTK_DESCRIPTION("Box useful for creating matrixes for 3D transformations");
+BBTK_CATEGORY("__CATEGORY__");
+BBTK_INPUT(Transform3DBox,CenterPoint,"",std::vector<int>,"");
+BBTK_OUTPUT(Transform3DBox,Out,"First output",vtkLinearTransform*,"");
+BBTK_END_DESCRIBE_BLACK_BOX(Transform3DBox);
+}
+// EO namespace bbPackRecalage
+
+#endif // __bbPackRecalageTransform3DBox_h_INCLUDED__
+