22 #include "vnl/vnl_quaternion.h"
23 #include "vnl/vnl_vector_fixed.h"
49 template<
typename T >
82 vnl_quaternion< T > GetVnlQuaternion()
const;
106 void Set(T x, T y, T z, T w);
117 const Self & operator=(
const Self & v);
122 const Self & operator*=(
const Self & v);
128 const Self & operator/=(
const Self & v);
143 Self GetConjugate()
const;
148 Self GetReciprocal()
const;
155 Self operator/(
const Self & vec)
const;
181 ValueType GetAngle()
const;
196 void Set(
const VectorType & axis, ValueType angle);
203 void Set(
const MatrixType & m);
218 void SetRotationAroundX(ValueType angle);
226 void SetRotationAroundY(ValueType angle);
234 void SetRotationAroundZ(ValueType angle);
244 CovariantVectorType
Transform(
const CovariantVectorType & v)
const;
250 VnlVectorType
Transform(
const VnlVectorType & v)
const;
253 MatrixType GetMatrix()
const;
256 Self SquareRoot()
const;
261 Self Exponential(ValueType exponent)
const;
292 template<
typename T >
297 os << v.
GetX() <<
", " << v.
GetY() <<
", ";
298 os << v.
GetZ() <<
", " << v.
GetW() <<
" ]";
302 template<
typename T >
307 #ifndef ITK_MANUAL_INSTANTIATION
308 #include "itkVersor.hxx"
A templated class holding a M x N size Matrix.
bool operator==(const Index< VDimension > &one, const Index< VDimension > &two)
Define numeric traits for std::vector.
std::istream & operator>>(std::istream &is, Point< T, NPointDimension > &v)
static ValueType Epsilon(float *)
TParametersValueType ValueType
CovariantVector< T, NVectorDimension > operator*(const T &scalar, const CovariantVector< T, NVectorDimension > &v)
std::ostream & operator<<(std::ostream &os, const Array< TValue > &arr)
typename NumericTraits< ValueType >::RealType RealType
bool operator!=(const Index< VDimension > &one, const Index< VDimension > &two)
static ValueType Epsilon()
A templated class holding a unit quaternion.
static constexpr double e
The base of the natural logarithm or Euler's number
ImageBaseType::PointType PointType
vnl_quaternion< TParametersValueType > VnlQuaternionType
ImageBaseType::SpacingType VectorType
A templated class holding a geometric point in n-Dimensional space.
A templated class holding a n-Dimensional covariant vector.
static ValueType Epsilon(double *)
vnl_vector_fixed< TParametersValueType, 3 > VnlVectorType