17 #ifndef __itkAdvancedVersorTransform_h
18 #define __itkAdvancedVersorTransform_h
22 #include "vnl/vnl_quaternion.h"
23 #include "itkVersor.h"
49 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 );
119 void SetParameters(
const ParametersType & parameters );
122 const ParametersType & GetParameters(
void )
const;
125 void SetRotation(
const VersorType & versor );
127 void SetRotation(
const AxisType & axis, AngleType angle );
129 itkGetConstReferenceMacro( Versor, VersorType );
132 virtual void SetIdentity(
void );
135 virtual void GetJacobian(
136 const InputPointType &,
138 NonZeroJacobianIndicesType & )
const;
144 const OutputVectorType & offset );
154 { this->Superclass::SetRotationMatrix( matrix ); }
157 { m_Versor = newVersor; }
160 void PrintSelf( std::ostream & os, Indent indent )
const;
164 void ComputeMatrix(
void );
166 void ComputeMatrixParameters(
void );
174 const Self & operator=(
const Self & );
185 #ifndef ITK_MANUAL_INSTANTIATION
186 #include "itkAdvancedVersorTransform.hxx"