Newer
Older
module Fox
class FXQuatf < FXVec4f
# Return an initialized FXQuatf instance.
def initialize; end
#
# Construct an FXQuatf instance from a rotation axis and angle.
#
# ==== Parameters:
#
# +axis+:: the rotation axis [FXVec3f]
# +angle+:: the rotation angle (in radians) [Float]
#
def initialize(axis, phi=0.0); end
#
# Construct from Euler angles yaw (z), pitch (y) and roll (x).
#
# ==== Parameters:
#
# +roll+:: roll angle in radians [Float]
# +pitch+:: pitch angle in radians [Float]
# +yaw+:: yaw angle in radians [Float]
#
def initialize(roll, pitch, yaw); end
#
# Construct quaternion from axes
#
# ==== Parameters:
#
# +ex+:: x-axis [FXVec3f]
# +ey+:: y-axis [FXVec3f]
# +ez+:: z-axis [FXVec3f]
#
def initialize(ex, ey, ez); end
#
# Construct quaternion from 3x3 matrix (where _mat_ is an FXMat3f instance).
#
def initialize(mat); end
#
# Construct an FXQuatf from components.
#
# ==== Parameters:
#
# +x+:: x [Float]
# +y+:: y [Float]
# +z+:: z [Float]
# +width+:: w [Float]
#
def initialize(x, y, z, w); end
# Adjust quaternion length; returns a reference to self.
def adjust!; end
#
# Set quaternion from rotation axis and angle.
#
# ==== Parameters:
#
# +axis+:: the rotation axis [FXVec3f]
# +angle+:: the rotation angle (in radians) [Float]
#
def setAxisAngle(axis, phi=0.0); end
#
# Return the rotation axis and angle for this quaternion, i.e.
#
# axis, angle = aQuaternion.getAxisAngle()
#
# where _axis_ is an FXVec3f instance and _angle_ is the angle
# of rotation in radians.
#
def getAxisAngle(); end
#
# Set quaternion from yaw (z), pitch (y) and roll (x).
#
# ==== Parameters:
#
# +roll+:: roll angle in radians [Float]
# +pitch+:: pitch angle in radians [Float]
# +yaw+:: yaw angle in radians [Float]
#
def setRollPitchYaw(roll, pitch, yaw); end
#
# Obtain roll, pitch and yaw angles (in radians) from quaternion, e.g.
#
# roll, pitch, yaw = aQuaternion.getRollPitchYaw()
#
def getRollPitchYaw(); end
# Set quaternion from axes (where _ex_, _ey_ and _ez_ are FXVec3f instances).
def setAxes(ex, ey, ez); end
# Get quaternion axes as a 3-element array of FXVec3f instances.
def getAxes(); end
# Return the local x-axis as an FXVec3f instance.
def getXAxis(); end
# Return the local y-axis as an FXVec3f instance.
def getYAxis(); end
# Return the local z-axis as an FXVec3f instance.
def getZAxis(); end
#
# Return the exponentiation of this quaternion (a new FXQuatf instance).
#
def exp; end
#
# Return the logarithm of this quaternion (a new FXQuatf instance).
#
def log; end
#
# Return the inverse of this quaternion (a new FXQuatf instance).
#
def invert; end
#
# Invert unit quaternion (returns a new FXQuatf instance).
#
def unitinvert; end
#
# Return the conjugate of this quaternion (a new FXQuatf instance).
#
def conj; end
#
# Return the product of this quaternion and _other_ (another FXQuatf instance).
#
def *(other); end
#
# Compute the rotation of a vector _vec_ by this quaternion; returns the
# rotated vector (a new FXVec3f instance).
#
# ==== Parameters:
#
# +vec+:: the vector to be rotated [FXVec3f]
#
def *(vec); end
#
# Construct a quaternion from arc a->b on unit sphere and
# return reference to self.
#
# ==== Parameters:
#
# +a+:: [FXVec3f]
# +b+:: [FXVec3f]
#
def arc!(a, b); end