SbDPRotation(3) | Coin | SbDPRotation(3) |
NAME
SbDPRotation - 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
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
void SbDPRotation::getValue (double & q0, double & q1, double & q2, double & q3) const
Return the four quaternion components representing the rotation.
See also
SbDPRotation & SbDPRotation::setValue (const double q0, const double q1, const double q2, const double q3)
Set the rotation.
See also
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
void SbDPRotation::getValue (SbDPMatrix & matrix) const
Return this rotation in the form of a matrix.
See also
SbDPRotation & SbDPRotation::invert (void )
Invert the rotation. Returns reference to self.
See also
SbDPRotation SbDPRotation::inverse (void ) const
Non-destructively inverses the rotation and returns the result.
See also
SbDPRotation & SbDPRotation::setValue (const double q[4])
Reset the rotation by the four quaternions in the array.
See also
SbDPRotation & SbDPRotation::setValue (const SbDPMatrix & m)
Set the rotation from the components of the given matrix. Returns reference to self.
See also
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
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
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 fp file stream. Only works in debug version of library, method does nothing in an optimized build.
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.
Fri Sep 6 2024 15:32:06 | Version 4.0.3 |