18 #ifndef __itkAdvancedVersorTransform_h
19 #define __itkAdvancedVersorTransform_h
23 #include "vnl/vnl_quaternion.h"
24 #include "itkVersor.h"
50 template <
class TScalarType=
double >
68 itkStaticConstMacro(SpaceDimension,
unsigned int, 3);
69 itkStaticConstMacro(InputSpaceDimension,
unsigned int, 3);
70 itkStaticConstMacro(OutputSpaceDimension,
unsigned int, 3);
71 itkStaticConstMacro(ParametersDimension,
unsigned int, 3);
125 void SetRotation(
const VersorType & versor );
127 itkGetConstReferenceMacro(Versor,
VersorType);
130 virtual void SetIdentity(
void);
133 virtual void GetJacobian(
152 { this->Superclass::SetRotationMatrix( matrix ); }
155 { m_Versor = newVersor; }
158 void PrintSelf(std::ostream &os, Indent indent)
const;
162 void ComputeMatrix(
void);
163 void ComputeMatrixParameters(
void);
170 const Self & operator=(
const Self & );
181 #define ITK_TEMPLATE_AdvancedVersorTransform(_, EXPORT, x, y) namespace itk { \
182 _(1(class EXPORT AdvancedVersorTransform< ITK_TEMPLATE_1 x >)) \
183 namespace Templates { typedef AdvancedVersorTransform< ITK_TEMPLATE_1 x > AdvancedVersorTransform##y; } \
186 #if ITK_TEMPLATE_EXPLICIT
187 # include "Templates/itkAdvancedVersorTransform+-.h"
191 # include "itkAdvancedVersorTransform.txx"