SbDPRotation.3coin4 - Man Page

The SbDPRotation class represents a rotation in 3D space using double precision data.

Synopsis

#include <Inventor/SbDPRotation.h>

Public Member Functions

SbDPRotation (void)
SbDPRotation (const SbVec3d &axis, const double radians)
SbDPRotation (const double q[4])
SbDPRotation (const double q0, const double q1, const double q2, const double q3)
SbDPRotation (const SbDPMatrix &m)
SbDPRotation (const SbVec3d &rotateFrom, const SbVec3d &rotateTo)
const double * getValue (void) const
void getValue (double &q0, double &q1, double &q2, double &q3) const
SbDPRotation & setValue (const double q0, const double q1, const double q2, const double q3)
void getValue (SbVec3d &axis, double &radians) const
void getValue (SbDPMatrix &matrix) const
SbDPRotation & invert (void)
SbDPRotation inverse (void) const
SbDPRotation & setValue (const double q[4])
SbDPRotation & setValue (const SbDPMatrix &m)
SbDPRotation & setValue (const SbVec3d &axis, const double radians)
SbDPRotation & setValue (const SbVec3d &rotateFrom, const SbVec3d &rotateTo)
SbBool equals (const SbDPRotation &r, double tolerance) const
void multVec (const SbVec3d &src, SbVec3d &dst) const
void scaleAngle (const double scaleFactor)
void print (FILE *fp) const
SbDPRotation & operator*= (const SbDPRotation &q)
SbDPRotation & operator*= (const double s)

Static Public Member Functions

static SbDPRotation slerp (const SbDPRotation &rot0, const SbDPRotation &rot1, double t)
static SbDPRotation identity (void)

Detailed Description

The SbDPRotation class represents a rotation in 3D space using double precision data.

SbDPRotation is used extensively throughout the Coin library.

An SbDPRotation is stored internally as a quaternion for speed and storage reasons, but inquiries can be done to get and set axis and angle values for convenience.

See also

SbDPMatrix

Constructor & Destructor Documentation

SbDPRotation::SbDPRotation (void)

The default constructor just initializes a valid rotation. The actual value is unspecified, and you should not depend on it.

SbDPRotation::SbDPRotation (const SbVec3d & axis, const double radians)

Construct a new SbDPRotation object initialized with the given axis-of-rotation and rotation angle.

SbDPRotation::SbDPRotation (const double q[4])

Construct a new SbDPRotation object initialized with the given quaternion components.

The array must be ordered as follows:

q[0] = x, q[1] = y, q[2] = z and q[3] = w, where the quaternion is specified by q=w+xi+yj+zk.

SbDPRotation::SbDPRotation (const double q0, const double q1, const double q2, const double q3)

Construct a new SbDPRotation object initialized with the given quaternion components.

SbDPRotation::SbDPRotation (const SbDPMatrix & m)

Construct a new SbDPRotation object initialized with the given rotation matrix.

SbDPRotation::SbDPRotation (const SbVec3d & rotateFrom, const SbVec3d & rotateTo)

Construct a rotation which is the minimum rotation necessary to make vector rotateFrom point in the direction of vector rotateTo.

Member Function Documentation

const double * SbDPRotation::getValue (void) const

Return pointer to an array with the rotation expressed as four quaternion values.

See also

setValue().

void SbDPRotation::getValue (double & q0, double & q1, double & q2, double & q3) const

Return the four quaternion components representing the rotation.

See also

setValue().

SbDPRotation & SbDPRotation::setValue (const double q0, const double q1, const double q2, const double q3)

Set the rotation.

See also

getValue().

void SbDPRotation::getValue (SbVec3d & axis, double & radians) const

Return the rotation in the form of an axis-of-rotation and a rotation angle.

See also

setValue().

void SbDPRotation::getValue (SbDPMatrix & matrix) const

Return this rotation in the form of a matrix.

See also

setValue().

SbDPRotation & SbDPRotation::invert (void)

Invert the rotation. Returns reference to self.

See also

inverse()

SbDPRotation SbDPRotation::inverse (void) const

Non-destructively inverses the rotation and returns the result.

See also

invert()

SbDPRotation & SbDPRotation::setValue (const double q[4])

Reset the rotation by the four quaternions in the array.

See also

getValue().

SbDPRotation & SbDPRotation::setValue (const SbDPMatrix & m)

Set the rotation from the components of the given matrix. Returns reference to self.

See also

getValue().

SbDPRotation & SbDPRotation::setValue (const SbVec3d & axis, const double radians)

Reset rotation with the given axis-of-rotation and rotation angle. Returns reference to self.

Make sure axis is not the null vector when calling this method.

See also

getValue().

SbDPRotation & SbDPRotation::setValue (const SbVec3d & rotateFrom, const SbVec3d & rotateTo)

Construct a rotation which is the minimum rotation necessary to make vector rotateFrom point in the direction of vector rotateTo.

Returns reference to self.

See also

getValue().

SbBool SbDPRotation::equals (const SbDPRotation & r, double tolerance) const

Check the internal quaternion representation vectors for equality within the given tolerance.

void SbDPRotation::multVec (const SbVec3d & src, SbVec3d & dst) const

Rotate the src vector and put the result in dst.

void SbDPRotation::scaleAngle (const double scaleFactor)

Scale the angle of rotation by scaleFactor.

SbDPRotation slerp (const SbDPRotation & rot0, const SbDPRotation & rot1, double t) [static]

Interpolates along the shortest path between the two rotation positions (from rot0 to rot1).

Returns the SbDPRotation which will rotate rot0 the given part t of the spherical distance towards rot1, where t=0 will yield rot0 and t=1 will yield rot1.

t should be in the interval [0, 1].

SbDPRotation SbDPRotation::identity (void) [static]

Returns an identity rotation.

void SbDPRotation::print (FILE * fp) const

Dump the state of this object to the file stream. Only works in debug version of library, method does nothing in an optimized compile.

SbDPRotation & SbDPRotation::operator*= (const SbDPRotation & q)

Multiplies the quaternions.

Note that order is important when combining quaternions with the multiplication operator.

SbDPRotation & SbDPRotation::operator*= (const double s)

Multiplies components of quaternion with scalar value s. Returns reference to self.

Author

Generated automatically by Doxygen for Coin from the source code.

Info

Sat Aug 1 2020 Version 4.0.0 Coin