LOrientationd

Inheritance:

Methods of LOrientationd:

Methods of LQuaterniond:

Methods of LVecBase4d:

getClassType
static TypeHandle LOrientationd::get_class_type(void);

Undocumented function.

operator *
LOrientationd LOrientationd::operator *(LRotationd const &other) const;

Description: Orientation * rotation = Orientation Applies an rotation to an orientation.
Description: Orientation * Orientation This is a meaningless operation, and will always simply return the rhs.

almostEqual
bool LQuaterniond::almost_equal(LQuaterniond const &other) const;

Description: Returns true if two quaternions are memberwise equal within a default tolerance based on the numeric type.
Description: Returns true if two quaternions are memberwise equal within a specified tolerance.

almostSameDirection
bool LQuaterniond::almost_same_direction(LQuaterniond const &other, double threshold) const;

Description: Returns true if two quaternions represent the same rotation within a specified tolerance.

angleDeg
double LQuaterniond::angle_deg(LQuaterniond const &other) const;

Description: Returns the angle between the orientation represented by this quaternion and the other one, expressed in degrees.

angleRad
double LQuaterniond::angle_rad(LQuaterniond const &other) const;

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

extractToMatrix
void LQuaterniond::extract_to_matrix(LMatrix3d &m) const;

Description: Based on the quat lib from VRPN.

getAngle
double LQuaterniond::get_angle(void) const;

Description: This, along with get_axis(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the angle, in degrees counterclockwise about the axis.

getAxis
LVector3d LQuaterniond::get_axis(void) const;

Description: This, along with get_angle(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the axis; it is not normalized.

getClassType
static TypeHandle LQuaterniond::get_class_type(void);

Undocumented function.

getForward
LVector3d LQuaterniond::get_forward(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as a forward vector.

getHpr
LVecBase3d LQuaterniond::get_hpr(CoordinateSystem cs = (CS_default)) const;

Description: Extracts the equivalent Euler angles from the unit quaternion.

getI
double LQuaterniond::get_i(void) const;

Description:

getJ
double LQuaterniond::get_j(void) const;

Description:

getK
double LQuaterniond::get_k(void) const;

Description:

getR
double LQuaterniond::get_r(void) const;

Description:

getRight
LVector3d LQuaterniond::get_right(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as a right vector.

getUp
LVector3d LQuaterniond::get_up(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as an up vector.

identQuat
static LQuaterniond const &LQuaterniond::ident_quat(void);

Description: Returns an identity quaternion.

invertFrom
bool LQuaterniond::invert_from(LQuaterniond const &other);

Description: Computes the inverse of the other quat, and stores the result in this quat. This is a fully general operation and makes no assumptions about the type of transform represented by the quat.
The other quat must be a different object than this quat. However, if you need to invert a quat in place, see invert_in_place.
The return value is true if the quat was successfully inverted, false if there was a singularity.

invertInPlace
bool LQuaterniond::invert_in_place(void);

Description: Inverts the current quat. Returns true if the inverse is successful, false if the quat was singular.

isAlmostIdentity
bool LQuaterniond::is_almost_identity(double tolerance) const;

Description: Returns true if this quaternion represents the identity transformation within a given tolerance.

isIdentity
bool LQuaterniond::is_identity(void) const;

Description: Returns true if this quaternion represents the identity transformation: no rotation.

isSameDirection
bool LQuaterniond::is_same_direction(LQuaterniond const &other) const;

Description: Returns true if two quaternions represent the same rotation within a default tolerance based on the numeric type.

multiply
LQuaterniond LQuaterniond::multiply(LQuaterniond const &rhs) const;

Description: actual multiply call (non virtual)

normalize
bool LQuaterniond::normalize(void);

Description:

operator *
LQuaterniond LQuaterniond::operator *(double scalar) const;

Description:
Description: Quat * Matrix = matrix

operator *=
LQuaterniond &LQuaterniond::operator *=(LQuaterniond const &);

Description:

operator +
LQuaterniond LQuaterniond::operator +(LQuaterniond const &other) const;

Description:

operator -
LQuaterniond LQuaterniond::operator -(void) const;

Description:

operator /
LQuaterniond LQuaterniond::operator /(double scalar) const;

Description:

output
void LQuaterniond::output(ostream &) const;

Description:

pureImaginary
static LQuaterniond LQuaterniond::pure_imaginary(LVector3d const &);

Description:

setFromMatrix
void LQuaterniond::set_from_matrix(LMatrix3d const &m);

Description:
Description: Sets the quaternion according to the rotation represented by the matrix. Originally we tried an algorithm presented by Do-While Jones, but that turned out to be broken. This is based on the quat lib from UNC.

setHpr
void LQuaterniond::set_hpr(LVecBase3d const &hpr, CoordinateSystem cs = (CS_default));

Description: Sets the quaternion as the unit quaternion that is equivalent to these Euler angles. (from Real-time Rendering, p.49)

setI
void LQuaterniond::set_i(double i);

Description:

setJ
void LQuaterniond::set_j(double j);

Description:

setK
void LQuaterniond::set_k(double k);

Description:

setR
void LQuaterniond::set_r(double r);

Description:

xform
LVecBase3d LQuaterniond::xform(LVecBase3d const &v) const;

Description: Transforms a 3-d vector by the indicated rotation

addHash
unsigned int LVecBase4d::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase4d::add_to_cell(int i, double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addW
void LVecBase4d::add_w(double value);

Description:

addX
void LVecBase4d::add_x(double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase4d::add_y(double value);

Description:

addZ
void LVecBase4d::add_z(double value);

Description:

almostEqual
bool LVecBase4d::almost_equal(LVecBase4d const &other, double threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase4d::compare_to(LVecBase4d const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
double LVecBase4d::dot(LVecBase4d const &other) const;

Description:

fill
void LVecBase4d::fill(double fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

getCell
double LVecBase4d::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase4d::get_class_type(void);

Undocumented function.

getData
double const *LVecBase4d::get_data(void) const;

Description: Returns the address of the first of the four data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase4d::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase4d::get_num_components(void) const;

Description: Returns the number of elements in the vector, four.

getW
double LVecBase4d::get_w(void) const;

Description:

getX
double LVecBase4d::get_x(void) const;

Description:

getY
double LVecBase4d::get_y(void) const;

Description:

getZ
double LVecBase4d::get_z(void) const;

Description:

isNan
bool LVecBase4d::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase4d::operator !=(LVecBase4d const &other) const;

Description:

operator *
LVecBase4d LVecBase4d::operator *(double scalar) const;

Description:

operator *=
void LVecBase4d::operator *=(double scalar);

Description:

operator +
LVecBase4d LVecBase4d::operator +(LVecBase4d const &other) const;

Description:

operator +=
void LVecBase4d::operator +=(LVecBase4d const &other);

Description:

operator -
LVecBase4d LVecBase4d::operator -(void) const;

Description:

operator -=
void LVecBase4d::operator -=(LVecBase4d const &other);

Description:

operator /
LVecBase4d LVecBase4d::operator /(double scalar) const;

Description:

operator /=
void LVecBase4d::operator /=(double scalar);

Description:

operator <
bool LVecBase4d::operator <(LVecBase4d const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase4d &LVecBase4d::operator =(LVecBase4d const &copy);

Description:

operator ==
bool LVecBase4d::operator ==(LVecBase4d const &other) const;

Description:

operator []
double LVecBase4d::operator [](int i) const;

Description:

output
void LVecBase4d::output(ostream &out) const;

Description:

pythonRepr
void LVecBase4d::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase4d::set(double x, double y, double z, double w);

Description:

setCell
void LVecBase4d::set_cell(int i, double value);

Description:

setW
void LVecBase4d::set_w(double value);

Description:

setX
void LVecBase4d::set_x(double value);

Description:

setY
void LVecBase4d::set_y(double value);

Description:

setZ
void LVecBase4d::set_z(double value);

Description:

unitW
static LVecBase4d const &LVecBase4d::unit_w(void);

Description: Returns a unit W vector.

unitX
static LVecBase4d const &LVecBase4d::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase4d const &LVecBase4d::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase4d const &LVecBase4d::unit_z(void);

Description: Returns a unit Z vector.

zero
static LVecBase4d const &LVecBase4d::zero(void);

Description: Returns a zero-length vector.