18 #ifndef __itkVersorTransform_h
19 #define __itkVersorTransform_h
23 #include "vnl/vnl_quaternion.h"
46 template <
class TScalarType =
double>
65 itkStaticConstMacro(SpaceDimension,
unsigned int, 3);
66 itkStaticConstMacro(InputSpaceDimension,
unsigned int, 3);
67 itkStaticConstMacro(OutputSpaceDimension,
unsigned int, 3);
68 itkStaticConstMacro(ParametersDimension,
unsigned int, 3);
119 virtual void SetIdentity(
void);
141 #ifdef ITKV3_COMPATIBILITY
144 itkLegacyMacro(
virtual void SetRotationMatrix(
const MatrixType & matrix) );
149 m_Versor = newVersor;
153 void PrintSelf(std::ostream & os,
Indent indent)
const;
157 void ComputeMatrix(
void);
159 void ComputeMatrixParameters(
void);
166 const Self & operator=(
const Self &);
174 #define ITK_TEMPLATE_VersorTransform(_, EXPORT, TypeX, TypeY) \
177 _( 1 ( class EXPORT VersorTransform<ITK_TEMPLATE_1 TypeX> ) ) \
178 namespace Templates \
180 typedef VersorTransform<ITK_TEMPLATE_1 TypeX> VersorTransform##TypeY; \
184 #if ITK_TEMPLATE_EXPLICIT
185 #include "Templates/itkVersorTransform+-.h"
189 #include "itkVersorTransform.hxx"