35 #ifndef AIMS_RESAMPLING_QUATERNION_H
36 #define AIMS_RESAMPLING_QUATERNION_H
43 class AffineTransformation3d;
static Point4df cross(const Point4df &a, const Point4df &b)
static float dot(const Point4df &a, const Point4df &b)
void fromAxis(const Point3df &c, float phi)
AimsVector< float, 16 > rotationMatrix() const
in OpenGL style: in columns
void buildFromMotion(const Motion &m)
Quaternion(const Quaternion &q)
friend Quaternion operator*(const Quaternion &, const Quaternion &)
Quaternion(float x, float y, float z, float t)
Quaternion(const Point4df &q)
Quaternion inverse() const
Point3df transform(const Point3df &p) const
Rotates vecotor p.
AimsVector< float, 16 > inverseRotationMatrix() const
Quaternion & operator=(const Quaternion &q)
Quaternion & operator*=(const Quaternion &q)
void buildFromMatrix(const float *m)
4x4 matrix in columns (OpenGL-style)
Point3df transformInverse(const Point3df &p) const
Point3df transform(float x, float y, float z) const
Rotates vecotor (x,y,z)
const Point4df & vector() const
static Point3df norm(const Point3df &a)
Quaternion normalized() const
void setVector(const Point4df &vec)
static float dot(const Quaternion &a, const Quaternion &b)
The class for EcatSino data write operation.
Quaternion operator*(const Quaternion &a, const Quaternion &b)
aims::AffineTransformation3d Motion