other versions
- jessie 3.1.4~abc9f50-7
| SbDPRotation(3) | Coin | SbDPRotation(3) |
NAME¶
SbDPRotation - The SbDPRotation class represents a rotation in 3D space. SbDPRotation is used extensively throughout the Coin library.SYNOPSIS¶
Public Member Functions¶
SbDPRotation (void)
Static Public Member Functions¶
static SbDPRotation slerp (const SbDPRotation &rot0, const SbDPRotation &rot1, double t)
Friends¶
int operator== (const SbDPRotation &q1, const SbDPRotation &q2)
Detailed Description¶
The SbDPRotation class represents a rotation in 3D space. 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 doubleradians)¶
Construct a new SbDPRotation object initialized with the given axis-of-rotation and rotation angle.SbDPRotation::SbDPRotation (const doubleq[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 doubleq0, const doubleq1, const doubleq2, const doubleq3)¶
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 doubleq0, const doubleq1, const doubleq2, const doubleq3)¶
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 doubleq[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 doubleradians)¶
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, doubletolerance) 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 doublescaleFactor)¶
Scale the angle of rotation by scaleFactor.SbDPRotation slerp (const SbDPRotation &rot0, const SbDPRotation &rot1, doublet) [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 doubles)¶
Multiplies components of quaternion with scalar value s. Returns reference to self.Friends And Related Function Documentation¶
int operator== (const SbDPRotation &q1, const SbDPRotation &q2) [friend]¶
Check if the two rotations are equal. See also:equals().
int operator!= (const SbDPRotation &q1, const SbDPRotation &q2) [friend]¶
Check if the two rotations are unequal. See also:equals().
SbDPRotation operator* (const SbDPRotation &q1, const SbDPRotation &q2) [friend]¶
Multiplies the two rotations and returns the result. Note that order is important when combining quaternions with the multiplication operator.Author¶
Generated automatically by Doxygen for Coin from the source code.| Thu May 29 2014 | Version 4.0.0a |