LRotationf Class Reference

This is a unit quaternion representing a rotation. More...

Inheritance diagram for LRotationf:

## Public Member Functions

__init__ ()

__init__ (const LMatrix3f m)
lmatrix3 More...

__init__ (const LMatrix4f m)
lmatrix4 More...

__init__ (const LQuaternionf c)

__init__ (const LRotationf)

__init__ (const LVecBase4f copy)

__init__ (const LVector3f axis, float angle)
axis + angle (in degrees) More...

__init__ (float h, float p, float r)
Sets the rotation from the given Euler angles. More...

__init__ (float r, float i, float j, float k)

LQuaternionf operator * (const LQuaternionf other)

LRotationf operator * (const LRotationf other)

LRotationf operator * (float scalar)

LRotationf operator/ (float scalar)

Public Member Functions inherited from LQuaternionf
__init__ ()

__init__ (const LQuaternionf)

__init__ (const LVecBase4f copy)

__init__ (float r, const LVecBase3f copy)

__init__ (float r, float i, float j, float k)

LQuaternionf __pow__ (float)
Returns a new quaternion that represents this quaternion raised to the given power. More...

bool almostEqual (const LQuaternionf other)
Returns true if two quaternions are memberwise equal within a default tolerance based on the numeric type. More...

bool almostEqual (const LQuaternionf other, float threshold)
Returns true if two quaternions are memberwise equal within a specified tolerance. More...

bool almostSameDirection (const LQuaternionf other, float threshold)
Returns true if two quaternions represent the same rotation within a specified tolerance. More...

float angleDeg (const LQuaternionf other)
Returns the angle between the orientation represented by this quaternion and the other one, expressed in degrees. More...

Returns the angle between the orientation represented by this quaternion and the other one, expressed in radians. More...

LQuaternionf conjugate ()
Returns the complex conjugate of this quat. More...

bool conjugateFrom (const LQuaternionf other)
Computes the conjugate of the other quat, and stores the result in this quat. More...

bool conjugateInPlace ()
Sets this to be the conjugate of the current quat. More...

extractToMatrix (LMatrix3f m)
Based on the quat lib from VRPN. More...

extractToMatrix (LMatrix4f m)
Based on the quat lib from VRPN. More...

float getAngle ()
This, along with get_axis(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. More...

This, along with get_axis(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. More...

LVector3f getAxis ()
This, along with get_angle(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. More...

LVector3f getAxisNormalized ()
This, along with get_angle(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. More...

LVector3f getForward (CoordinateSystem cs)
Returns the orientation represented by this quaternion, expressed as a forward vector. More...

LVecBase3f getHpr (CoordinateSystem cs)
Extracts the equivalent Euler angles from the unit quaternion. More...

float getI ()

float getJ ()

float getK ()

float getR ()

LVector3f getRight (CoordinateSystem cs)
Returns the orientation represented by this quaternion, expressed as a right vector. More...

LVector3f getUp (CoordinateSystem cs)
Returns the orientation represented by this quaternion, expressed as an up vector. More...

bool invertFrom (const LQuaternionf other)
Computes the inverse of the other quat, and stores the result in this quat. More...

bool invertInPlace ()
Inverts the current quat. More...

bool isAlmostIdentity (float tolerance)
Returns true if this quaternion represents the identity transformation within a given tolerance. More...

bool isIdentity ()
Returns true if this quaternion represents the identity transformation: no rotation. More...

bool isSameDirection (const LQuaternionf other)
Returns true if two quaternions represent the same rotation within a default tolerance based on the numeric type. More...

LQuaternionf multiply (const LQuaternionf rhs)
actual multiply call (non virtual) More...

bool normalize ()

LMatrix3f operator * (const LMatrix3f)

LMatrix4f operator * (const LMatrix4f)

LQuaternionf operator * (const LQuaternionf)

LQuaternionf operator * (float scalar)

LQuaternionf operator *= (const LQuaternionf)

LQuaternionf operator - ()

LQuaternionf operator - (const LQuaternionf other)

LQuaternionf operator+ (const LQuaternionf other)

LQuaternionf operator/ (float scalar)

output (Ostream)

setFromAxisAngle (float angle_deg, const LVector3f axis)
angle_deg is the angle about the axis in degrees. More...

setFromMatrix (const LMatrix3f m)
Sets the quaternion according to the rotation represented by the matrix. More...

setFromMatrix (const LMatrix4f m)

setHpr (const LVecBase3f hpr, CoordinateSystem cs)
Sets the quaternion as the unit quaternion that is equivalent to these Euler angles. More...

setI (float i)

setJ (float j)

setK (float k)

setR (float r)

LVecBase3f xform (const LVecBase3f v)
Transforms a 3-d vector by the indicated rotation. More...

LVecBase4f xform (const LVecBase4f v)
Transforms a 4-d vector by the indicated rotation. More...

Public Member Functions inherited from LVecBase4f
object __getattr__ (str attr_name)

__init__ ()

__init__ (const LPoint3f point)
Constructs an LVecBase4 from an LPoint3. More...

__init__ (const LVecBase3f copy, float w)

__init__ (const LVecBase4f)

__init__ (const LVector3f vector)
Constructs an LVecBase4 from an LVector3. More...

__init__ (const UnalignedLVecBase4f copy)

__init__ (float fill_value)

__init__ (float x, float y, float z, float w)

object __ipow__ (float exponent)

LVecBase4f __pow__ (float exponent)

object __reduce__ ()

str __repr__ ()

int __setattr__ (str attr_name, object assign)

Adds the vector into the running hash. More...

int addHash (int hash, float threshold)
Adds the vector into the running hash. More...

bool almostEqual (const LVecBase4f other)
Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type. More...

bool almostEqual (const LVecBase4f other, float threshold)
Returns true if two vectors are memberwise equal within a specified tolerance. More...

int compareTo (const LVecBase4f other)
This flavor of compare_to uses a default threshold value based on the numeric type. More...

int compareTo (const LVecBase4f other, float threshold)
Sorts vectors lexicographically, componentwise. More...

componentwiseMult (const LVecBase4f other)

float dot (const LVecBase4f other)

fill (float fill_value)
Sets each element of the vector to the indicated fill_value. More...

LVecBase4f fmax (const LVecBase4f other)

LVecBase4f fmin (const LVecBase4f other)

generateHash (ChecksumHashGenerator hashgen)
Adds the vector to the indicated hash generator. More...

generateHash (ChecksumHashGenerator hashgen, float threshold)
Adds the vector to the indicated hash generator. More...

float getCell (int i)

getData ()
Returns the address of the first of the four data elements in the vector. More...

int getHash ()
Returns a suitable hash for phash_map. More...

int getHash (float threshold)
Returns a suitable hash for phash_map. More...

float getW ()

float getX ()

LVecBase2f getXy ()
Returns the x and y component of this vector. More...

LVecBase3f getXyz ()
Returns the x, y and z component of this vector. More...

float getY ()

float getZ ()

bool isNan ()
Returns true if any component of the vector is not-a-number, false otherwise. More...

float length ()
Returns the length of the vector, by the Pythagorean theorem. More...

float lengthSquared ()
Returns the square of the vector's length, cheap and easy. More...

bool normalize ()
Normalizes the vector in place. More...

LVecBase4f normalized ()
Normalizes the vector and returns the normalized vector as a copy. More...

bool operator != (const LVecBase4f other)

LVecBase4f operator * (float scalar)

LVecBase4f operator *= (float scalar)

LVecBase4f operator - ()

LVecBase4f operator - (const LVecBase4f other)

LVecBase4f operator -= (const LVecBase4f other)

operator [] (int i, float assign_val)

float operator [] (int i)

operator new (int size)

LVecBase4f operator+ (const LVecBase4f other)

LVecBase4f operator+= (const LVecBase4f other)

LVecBase4f operator/ (float scalar)

LVecBase4f operator/= (float scalar)

bool operator< (const LVecBase4f other)

LVecBase4f operator= (const LVecBase4f copy)

LVecBase4f operator= (float fill_value)

bool operator== (const LVecBase4f other)

output (Ostream out)

LVecBase4f project (const LVecBase4f onto)
Returns a new vector representing the projection of this vector onto another one. More...

Reads the vector from the Datagram using get_stdfloat(). More...

Reads the vector from the Datagram using get_float32() or get_float64(). More...

set (float x, float y, float z, float w)

setCell (int i, float value)

setW (float value)

setX (float value)

setY (float value)

setZ (float value)

writeDatagram (Datagram destination)
Writes the vector to the Datagram using add_stdfloat(). More...

writeDatagramFixed (Datagram destination)
Writes the vector to the Datagram using add_float32() or add_float64(), depending on the type of floats in the vector, regardless of the setting of Datagram::set_stdfloat_double(). More...

## Static Public Member Functions

static TypeHandle getClassType ()

Static Public Member Functions inherited from LQuaternionf
static TypeHandle getClassType ()

static const LQuaternionf identQuat ()
Returns an identity quaternion. More...

static LQuaternionf pureImaginary (const LVector3f v)

Static Public Member Functions inherited from LVecBase4f
static TypeHandle getClassType ()

static int getNumComponents ()

static int size ()

static const LVecBase4f unitW ()
Returns a unit W vector. More...

static const LVecBase4f unitX ()
Returns a unit X vector. More...

static const LVecBase4f unitY ()
Returns a unit Y vector. More...

static const LVecBase4f unitZ ()
Returns a unit Z vector. More...

static const LVecBase4f zero ()
Returns a zero-length vector. More...

Public Types inherited from LVecBase4f
enum  { num_components = 4, is_int = 0 }

Public Attributes inherited from LVecBase4f
float x

LVecBase2f xy
Returns the x and y component of this vector. More...

LVecBase3f xyz
Returns the x, y and z component of this vector. More...

float y

float z

## Detailed Description

This is a unit quaternion representing a rotation.

## ◆ __init__() [1/9]

 __init__ ( )

## ◆ __init__() [2/9]

 __init__ ( const LMatrix3f m )

lmatrix3

## ◆ __init__() [3/9]

 __init__ ( const LMatrix4f m )

lmatrix4

## ◆ __init__() [4/9]

 __init__ ( const LQuaternionf c )

## ◆ __init__() [5/9]

 __init__ ( const LRotationf )

## ◆ __init__() [6/9]

 __init__ ( const LVecBase4f copy )

## ◆ __init__() [7/9]

 __init__ ( const LVector3f axis, float angle )

axis + angle (in degrees)

## ◆ __init__() [8/9]

 __init__ ( float h, float p, float r )

Sets the rotation from the given Euler angles.

## ◆ __init__() [9/9]

 __init__ ( float r, float i, float j, float k )

## ◆ getClassType()

 static TypeHandle getClassType ( )
static

## ◆ operator *() [1/3]

 LQuaternionf operator * ( const LQuaternionf other )

## ◆ operator *() [2/3]

 LRotationf operator * ( const LRotationf other )

## ◆ operator *() [3/3]

 LRotationf operator * ( float scalar )

## ◆ operator/()

 LRotationf operator/ ( float scalar )