17 #ifndef __itkRigid2DTransform_h
18 #define __itkRigid2DTransform_h
57 template <
class TScalarType=
double >
75 itkStaticConstMacro(InputSpaceDimension,
unsigned int, 2);
76 itkStaticConstMacro(OutputSpaceDimension,
unsigned int, 2);
77 itkStaticConstMacro(ParametersDimension,
unsigned int, 3);
131 virtual void SetMatrix(
const MatrixType & matrix );
139 { this->SetMatrix( matrix ); }
141 {
return this->GetMatrix(); }
151 void Translate(
const OffsetType &offset,
bool pre=
false);
161 inline InputPointType BackTransform(
const OutputPointType &point )
const;
162 inline InputVectorType BackTransform(
const OutputVectorType &vector)
const;
163 inline InputVnlVectorType BackTransform(
const OutputVnlVectorType &vector)
const;
165 inline InputCovariantVectorType BackTransform(
166 const OutputCovariantVectorType &vector)
const;
169 void SetAngle(TScalarType angle);
170 itkGetConstReferenceMacro( Angle, TScalarType );
173 void SetAngleInDegrees(TScalarType angle);
178 void SetRotation(TScalarType angle)
179 { this->SetAngle(angle); }
180 virtual const TScalarType & GetRotation()
const
191 void SetParameters(
const ParametersType & parameters );
201 const ParametersType & GetParameters(
void )
const;
207 const JacobianType & GetJacobian(
const InputPointType &point )
const;
213 void CloneInverseTo( Pointer & newinverse )
const;
216 bool GetInverse(Self* inverse)
const;
219 virtual InverseTransformBasePointer GetInverseTransform()
const;
225 void CloneTo( Pointer & clone )
const;
228 virtual void SetIdentity(
void);
233 unsigned int parametersDimension);
240 void PrintSelf(std::ostream &os,
Indent indent)
const;
245 virtual void ComputeMatrix(
void);
251 virtual void ComputeMatrixParameters(
void);
254 void SetVarAngle( TScalarType angle )
259 void operator=(
const Self&);
267 template<
class TScalarType>
274 <<
"BackTransform(): This method is slated to be removed from ITK. Instead, please use GetInverse() to generate an inverse transform and then perform the transform using that inverted transform."
276 return this->GetInverseMatrix() * (point - this->GetOffset());
280 template<
class TScalarType>
287 <<
"BackTransform(): This method is slated to be removed from ITK. Instead, please use GetInverse() to generate an inverse transform and then perform the transform using that inverted transform."
289 return this->GetInverseMatrix() * vect;
293 template<
class TScalarType>
300 <<
"BackTransform(): This method is slated to be removed from ITK. Instead, please use GetInverse() to generate an inverse transform and then perform the transform using that inverted transform."
302 return this->GetInverseMatrix() * vect;
307 template<
class TScalarType>
314 <<
"BackTransform(): This method is slated to be removed from ITK. Instead, please use GetInverse() to generate an inverse transform and then perform the transform using that inverted transform."
316 return this->GetMatrix() * vect;
323 #define ITK_TEMPLATE_Rigid2DTransform(_, EXPORT, x, y) namespace itk { \
324 _(1(class EXPORT Rigid2DTransform< ITK_TEMPLATE_1 x >)) \
325 namespace Templates { typedef Rigid2DTransform< ITK_TEMPLATE_1 x > Rigid2DTransform##y; } \
328 #if ITK_TEMPLATE_EXPLICIT
329 # include "Templates/itkRigid2DTransform+-.h"