Man Linux: Main Page and Category List

NAME

       SbDPRotation -

       The SbDPRotation class represents a rotation in 3D space.

       SbDPRotation is used extensively throughout the Coin library.

SYNOPSIS

       #include <Inventor/SbLinear.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)
       SbDPRotation & operator*= (const SbDPRotation &q)
       SbDPRotation & operator*= (const double s)
       SbBool equals (const SbDPRotation &r, const double tolerance) const
       void multVec (const SbVec3d &src, SbVec3d &dst) const
       void scaleAngle (const double scaleFactor)
       void print (FILE *fp) const

   Static Public Member Functions
       static SbDPRotation slerp (const SbDPRotation &rot0, const SbDPRotation
           &rot1, double t)
       static SbDPRotation identity (void)

   Friends
       int operator== (const SbDPRotation &q1, const SbDPRotation &q2)
       int operator!= (const SbDPRotation &q1, const SbDPRotation &q2)
       SbDPRotation 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 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().

   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.
   SbBool SbDPRotation::equals (const SbDPRotation & r, const 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.

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.