18 #ifndef itkAffineTransform_h
19 #define itkAffineTransform_h
99 template <
typename TParametersValueType =
double,
unsigned int VDimension = 3>
121 static constexpr
unsigned int InputSpaceDimension = VDimension;
122 static constexpr
unsigned int OutputSpaceDimension = VDimension;
123 static constexpr
unsigned int SpaceDimension = VDimension;
124 static constexpr
unsigned int ParametersDimension = VDimension * (VDimension + 1);
127 using typename Superclass::ParametersType;
128 using typename Superclass::FixedParametersType;
129 using typename Superclass::JacobianType;
130 using typename Superclass::JacobianPositionType;
131 using typename Superclass::InverseJacobianPositionType;
132 using typename Superclass::ScalarType;
133 using typename Superclass::InputPointType;
134 using typename Superclass::OutputPointType;
135 using typename Superclass::InputVectorType;
136 using typename Superclass::OutputVectorType;
137 using typename Superclass::InputVnlVectorType;
138 using typename Superclass::OutputVnlVectorType;
139 using typename Superclass::InputCovariantVectorType;
140 using typename Superclass::OutputCovariantVectorType;
141 using typename Superclass::MatrixType;
142 using typename Superclass::InverseMatrixType;
143 using typename Superclass::CenterType;
144 using typename Superclass::OffsetType;
145 using typename Superclass::TranslationType;
176 Scale(
const TParametersValueType & factor,
bool pre =
false);
194 Rotate(
int axis1,
int axis2, TParametersValueType angle,
bool pre =
false);
211 Rotate2D(TParametersValueType angle,
bool pre =
false);
227 Rotate3D(
const OutputVectorType & axis, TParametersValueType angle,
bool pre =
false);
241 Shear(
int axis1,
int axis2, TParametersValueType coef,
bool pre =
false);
245 GetInverse(
Self * inverse)
const;
249 GetInverseTransform()
const override;
263 Metric(
const Self * other)
const;
289 PrintSelf(std::ostream & os,
Indent indent)
const override;
294 #ifndef ITK_MANUAL_INSTANTIATION
295 # include "itkAffineTransform.hxx"