Click or drag to resize
SbRotationd Structure
Class for representing a rotation (double precision).

Object that stores a rotation using double precision values. Although Open Inventor fields still store only single precision values, for certain applications it is useful and convenient to be able to store and manipulate double precision values, for example, double precision coordinate data or values that will be used for further computation.

There are several ways to specify a rotation: quaternion (4 doubles, in the order x, y, z, w), 4x4 rotation matrix, or axis and angle. All angles are in radians and all rotations are right-handed.

Namespace: OIV.Inventor
Assembly: OIV.Inventor.SbLinear (in OIV.Inventor.SbLinear.dll) Version: 2024.2.2.Release.778f4cc64de03c89c1282c66aa1f73c0e9a1408b
Syntax
public struct SbRotationd

The SbRotationd type exposes the following members.

Constructors
  NameDescription
Public methodSbRotationd(Double)
Constructor for rotation.
Public methodSbRotationd(SbMatrixd)
Constructor for rotation.
Public methodSbRotationd(SbMatrixd)
Constructor for rotation.
Public methodSbRotationd(SbVec3d, SbVec3d)
Constructors for rotation. The rotate From/To constructor defines rotation that rotates from one vector into another. The rotateFrom and rotateTo vectors are normalized by the constructor before calculating the rotation.
Public methodSbRotationd(SbVec3d, Double)
Constructor for rotation. The axis/radians constructor creates a rotation of angle radians about the given axis.
Public methodSbRotationd(SbVec3d, SbVec3d)
Constructors for rotation. The rotate From/To constructor defines rotation that rotates from one vector into another. The rotateFrom and rotateTo vectors are normalized by the constructor before calculating the rotation.
Public methodSbRotationd(SbVec3d, Double)
Constructor for rotation. The axis/radians constructor creates a rotation of angle radians about the given axis.
Public methodSbRotationd(Double, Double, Double, Double)
Constructor for rotation.
Top
Methods
  NameDescription
Public methodEquals(Object)
Returns a value indicating whether this instance is equal to a specified object.
(Overrides ValueTypeEquals(Object).)
Public methodEquals(Object, Double)
Returns a value indicating whether this instance is equal to a specified object with given tolerance.
Public methodGetHashCode
Returns the hash code for the value of this instance.
(Overrides ValueTypeGetHashCode.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetValue(SbMatrix)
Returns corresponding 4x4 rotation matrix.
Public methodGetValue(SbMatrixd)
Returns corresponding 4x4 rotation matrix.
Public methodGetValue(SbVec3d, Double)
Gives an axis / angle representation of this rotation.
Public methodGetValue(Double, Double, Double, Double)
Gives a quaternion representation of this rotation.
Public methodStatic memberIdentity
Returns a null (identity) rotation.
Public methodInverse
Returns the inverse of a rotation.
Public methodInvert
Changes a rotation to be its inverse.
Public methodMult(SbRotationd)
Multiplies the matrix of this rotation by the rotation r.
Public methodMult(SbRotationd)
Multiplies the matrix of this rotation by the rotation r.
Public methodMultVec(SbVec3d)
Multiplies the given vector by the matrix of this rotation.
Public methodMultVec(SbVec3d, SbVec3d)
Multiplies the given vector by the matrix of this rotation.
Public methodMultVec(SbVec3d, SbVec3d)
Multiplies the given vector by the matrix of this rotation.
Public methodScaleAngle
Keep the axis the same. Multiply the angle of rotation by the amount scaleFactor.
Public methodSetValue(Double)
Sets value of rotation from array of 4 components of a quaternion.
Public methodSetValue(SbMatrix)
Sets value of rotation from a rotation matrix.
Public methodSetValue(SbMatrix)
Sets value of rotation from a rotation matrix.
Public methodSetValue(SbMatrixd)
Sets value of rotation from a rotation matrix.
Public methodSetValue(SbMatrixd)
Sets value of rotation from a rotation matrix.
Public methodSetValue(SbRotation)
Sets rotation from a single precision rotation.
Public methodSetValue(SbRotation)
Sets rotation from a single precision rotation.
Public methodSetValue(SbVec3d, SbVec3d)
Sets rotation to rotate one direction vector to another. The rotateFrom and @rotateTo arguments are normalized before the rotation is calculated.
Public methodSetValue(SbVec3d, Double)
Sets value of vector from 3D rotation axis vector and angle in radians.
Public methodSetValue(SbVec3d, SbVec3d)
Sets rotation to rotate one direction vector to another. The rotateFrom and @rotateTo arguments are normalized before the rotation is calculated.
Public methodSetValue(SbVec3d, Double)
Sets value of vector from 3D rotation axis vector and angle in radians.
Public methodSetValue(Double, Double, Double, Double)
Sets value of rotation from 4 individual components of a quaternion.
Public methodStatic memberSlerp(SbRotationd, SbRotationd, Double)
Spherical linear interpolation: as t goes from 0 to 1, returned value goes from rot0 to rot1.
Public methodStatic memberSlerp(SbRotationd, SbRotationd, Double)
Spherical linear interpolation: as t goes from 0 to 1, returned value goes from rot0 to rot1.
Public methodToString
Converts this SbRotationd structure to a human readable string.
(Overrides ValueTypeToString.)
Top
Operators
  NameDescription
Public operatorStatic memberEquality
The equality operator.
Public operatorStatic member(SbRotationd to SbMatrixd)
Set a matrix from a SbRotationd
Public operatorStatic memberInequality
The inequality operator.
Public operatorStatic memberMultiply
The multiplication operator (*). Operated multiplication of two rotations; results in product of rotations.
Top
Remarks
Rotations are stored internally as quaternions.
See Also