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;
275 return Epsilon((
ValueType *)ITK_NULLPTR);
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"
bool operator!=(const ImageRegionCopier< D1, D2 > &c1, const ImageRegionCopier< D1, D2 > &c2)
A templated class holding a M x N size Matrix.
vnl_quaternion< T > VnlQuaternionType
std::istream & operator>>(std::istream &is, Point< T, NPointDimension > &v)
static ValueType Epsilon(float *)
Vector< T, 3 > VectorType
CovariantVector< T, NVectorDimension > operator*(const T &scalar, const CovariantVector< T, NVectorDimension > &v)
std::ostream & operator<<(std::ostream &os, const Array< TValue > &arr)
ImageBaseType::SpacingType VectorType
A templated class holding a n-Dimensional vector.
static ValueType Epsilon()
CovariantVector< T, 3 > CovariantVectorType
ImageBaseType::PointType PointType
A templated class holding a unit quaternion.
ValueType GetX(void) const
vnl_vector_fixed< T, 3 > VnlVectorType
ValueType GetZ(void) const
NumericTraits< ValueType >::RealType RealType
Matrix< T, 3, 3 > MatrixType
ValueType GetY(void) const
static ITK_CONSTEXPR_VAR double e
The base of the natural logarithm or Euler's number
A templated class holding a geometric point in n-Dimensional space.
ValueType GetW(void) const
A templated class holding a n-Dimensional covariant vector.
bool ITKIOXML_EXPORT operator==(itk::FancyString &s, const std::string &)
static ValueType Epsilon(double *)