18 #ifndef __itkRigid2DTransform_h
19 #define __itkRigid2DTransform_h
56 template <
class TScalarType =
double>
77 itkStaticConstMacro(InputSpaceDimension,
unsigned int, 2);
78 itkStaticConstMacro(OutputSpaceDimension,
unsigned int, 2);
79 itkStaticConstMacro(ParametersDimension,
unsigned int, 3);
134 virtual void SetMatrix(
const MatrixType & matrix);
143 void Translate(
const OffsetType & offset,
bool pre =
false);
162 void SetAngle(TScalarType angle);
164 itkGetConstReferenceMacro(Angle, TScalarType);
167 void SetAngleInDegrees(TScalarType angle);
172 void SetRotation(TScalarType angle)
174 this->SetAngle(angle);
176 virtual const TScalarType & GetRotation()
const
190 void SetParameters(
const ParametersType & parameters);
200 const ParametersType & GetParameters(
void)
const;
204 virtual void ComputeJacobianWithRespectToParameters(
const InputPointType & p, JacobianType & jacobian)
const;
210 void CloneInverseTo(Pointer & newinverse)
const;
213 bool GetInverse(Self *inverse)
const;
216 virtual InverseTransformBasePointer GetInverseTransform()
const;
222 void CloneTo(Pointer & clone)
const;
225 virtual void SetIdentity(
void);
227 #ifdef ITKV3_COMPATIBILITY
234 itkLegacyMacro(
virtual void SetRotationMatrix(
const MatrixType & matrix));
235 itkLegacyMacro(
const MatrixType & GetRotationMatrix()
const);
240 Rigid2DTransform(
unsigned int outputSpaceDimension,
unsigned int parametersDimension);
249 void PrintSelf(std::ostream & os,
Indent indent)
const;
254 virtual void ComputeMatrix(
void);
260 virtual void ComputeMatrixParameters(
void);
263 void SetVarAngle(TScalarType angle)
270 void operator=(
const Self &);
277 template <
class TScalarType>
284 "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."
286 return this->GetInverseMatrix() * ( point - this->GetOffset() );
290 template <
class TScalarType>
297 "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."
299 return this->GetInverseMatrix() * vect;
303 template <
class TScalarType>
310 "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."
312 return this->GetInverseMatrix() * vect;
316 template <
class TScalarType>
323 "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."
325 return this->GetMatrix() * vect;
330 #ifndef ITK_MANUAL_INSTANTIATION
331 #include "itkRigid2DTransform.hxx"