public bbtk::AtomicBlackBox
{
BBTK_BLACK_BOX_INTERFACE(Transform,bbtk::AtomicBlackBox);
+ BBTK_DECLARE_INPUT(Inverse,bool);
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_INPUT(RotateToNormal,std::vector<double>);
BBTK_DECLARE_OUTPUT(Out,vtkLinearTransform *);
BBTK_PROCESS(Process);
void Process();
std::vector<double> vecRotateWXYZ;
std::vector<double> vecTranslate;
std::vector<double> vecSpacing;
- vtkTransform *result;
+ vtkTransform *result;
+ vtkTransform *resultInverse;
};
BBTK_BEGIN_DESCRIBE_BLACK_BOX(Transform,bbtk::AtomicBlackBox);
BBTK_DESCRIPTION("vtkTransform");
BBTK_CATEGORY("math");
+ BBTK_INPUT(Transform,Inverse,"(default false) true/false",bool,"");
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_INPUT(Transform,RotateToNormal,"(default is EMPTY) Normal vector [nx,ny,nz]",std::vector<double>,"");
BBTK_OUTPUT(Transform,Out,"vtkTransform result",vtkLinearTransform *,"");