28 #ifndef __itkQuaternionOrientationAdapter_h
29 #define __itkQuaternionOrientationAdapter_h
30 #if !defined( ITK_LEGACY_REMOVE )
42 namespace QuaternionOrientationAdapterClasses
44 typedef QuaternionRigidTransform< double > TransformType;
45 typedef TransformType::Pointer TransformPointerType;
47 template<
int VDimension >
48 class QuaternionOrientationAdapter:
49 public OrientationAdapterBase< QuaternionOrientationAdapterClasses::TransformPointerType, VDimension >
53 typedef QuaternionOrientationAdapter Self;
55 typedef OrientationAdapterBase< QuaternionOrientationAdapterClasses::TransformPointerType, VDimension > SuperClass;
56 typedef QuaternionRigidTransform< double >
58 typedef QuaternionOrientationAdapterClasses::TransformPointerType
63 ( Concept::SameDimension< VDimension, 3 > ) );
66 typedef typename SuperClass::DirectionType DirectionType;
69 virtual OrientationType FromDirectionCosines(
const DirectionType & Dir)
71 OrientationType q = OrientationRootType::New();
78 virtual DirectionType ToDirectionCosines(
const OrientationType & Or)
80 return Or->GetMatrix();
86 #endif //#if !defined( ITK_LEGACY_REMOVE )
87 #endif // __itkQuaternionOrientationAdapter_h
#define itkConceptMacro(name, concept)