Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

panda/src/linmath/compose_matrix_src.cxx File Reference

Go to the source code of this file.

Functions

void compose_matrix (FLOATNAME(LMatrix3)&mat, const FLOATNAME(LVecBase3)&scale, const FLOATNAME(LVecBase3)&hpr, CoordinateSystem cs)
 Computes the 3x3 matrix from scale and rotation.

void unwind_yup_rotation (FLOATNAME(LMatrix3)&mat, FLOATNAME(LVecBase3)&hpr)
 Extracts the rotation about the x, y, and z axes from the given hpr & scale matrix.

void unwind_yup_rotation (FLOATNAME(LMatrix3)&mat, FLOATNAME(LVecBase3)&hpr, FLOATTYPE roll)
 Extracts the rotation about the x, y, and z axes from the given hpr & scale matrix, given the indicated roll amount as a hint.

void unwind_zup_rotation (FLOATNAME(LMatrix3)&mat, FLOATNAME(LVecBase3)&hpr)
 Extracts the rotation about the x, y, and z axes from the given hpr & scale matrix.

void unwind_zup_rotation (FLOATNAME(LMatrix3)&mat, FLOATNAME(LVecBase3)&hpr, FLOATTYPE roll)
 Extracts the rotation about the x, y, and z axes from the given hpr & scale matrix, given the indicated roll amount as a hint.

bool decompose_matrix (const FLOATNAME(LMatrix3)&mat, FLOATNAME(LVecBase3)&scale, FLOATNAME(LVecBase3)&hpr, CoordinateSystem cs)
 Extracts out the components of a 3x3 rotation matrix.

bool decompose_matrix (const FLOATNAME(LMatrix3)&mat, FLOATNAME(LVecBase3)&scale, FLOATNAME(LVecBase3)&hpr, FLOATTYPE roll, CoordinateSystem cs)
 Extracts out the components of a 3x3 rotation matrix.


Detailed Description

Definition in file compose_matrix_src.cxx.


Function Documentation

void compose_matrix FLOATNAME(LMatrix3)&  mat,
const FLOATNAME(LVecBase3)&  scale,
const FLOATNAME(LVecBase3)&  hpr,
CoordinateSystem  cs = CS_default
 

Computes the 3x3 matrix from scale and rotation.

Definition at line 31 of file compose_matrix_src.cxx.

bool decompose_matrix const FLOATNAME(LMatrix3)&  mat,
FLOATNAME(LVecBase3)&  scale,
FLOATNAME(LVecBase3)&  hpr,
FLOATTYPE  roll,
CoordinateSystem  cs
 

Extracts out the components of a 3x3 rotation matrix.

Returns true if the scale and hpr completely describe the matrix, or false if there is also a shear component or if the matrix is not affine.

This flavor of the function accepts an expected roll amount. This amount will be used as the roll component, rather than attempting to determine roll by examining the matrix; this helps alleviate roll instability due to roundoff errors or gimbal lock.

Definition at line 674 of file compose_matrix_src.cxx.

bool decompose_matrix const FLOATNAME(LMatrix3)&  mat,
FLOATNAME(LVecBase3)&  scale,
FLOATNAME(LVecBase3)&  hpr,
CoordinateSystem  cs
 

Extracts out the components of a 3x3 rotation matrix.

Returns true if the scale and hpr completely describe the matrix, or false if there is also a shear component or if the matrix is not affine.

Definition at line 564 of file compose_matrix_src.cxx.

void unwind_yup_rotation FLOATNAME(LMatrix3)&  mat,
FLOATNAME(LVecBase3)&  hpr,
FLOATTYPE  roll
[static]
 

Extracts the rotation about the x, y, and z axes from the given hpr & scale matrix, given the indicated roll amount as a hint.

Adjusts the matrix to eliminate the rotation.

This function assumes the matrix is stored in a right-handed Y-up coordinate system.

Definition at line 228 of file compose_matrix_src.cxx.

References FLOATTYPE, x, and y.

Referenced by decompose_matrix().

void unwind_yup_rotation FLOATNAME(LMatrix3)&  mat,
FLOATNAME(LVecBase3)&  hpr
[static]
 

Extracts the rotation about the x, y, and z axes from the given hpr & scale matrix.

Adjusts the matrix to eliminate the rotation.

This function assumes the matrix is stored in a right-handed Y-up coordinate system.

Definition at line 70 of file compose_matrix_src.cxx.

References FLOATTYPE, x, and y.

void unwind_zup_rotation FLOATNAME(LMatrix3)&  mat,
FLOATNAME(LVecBase3)&  hpr,
FLOATTYPE  roll
[static]
 

Extracts the rotation about the x, y, and z axes from the given hpr & scale matrix, given the indicated roll amount as a hint.

Adjusts the matrix to eliminate the rotation.

This function assumes the matrix is stored in a right-handed Z-up coordinate system.

Definition at line 482 of file compose_matrix_src.cxx.

References FLOATTYPE, x, and y.

void unwind_zup_rotation FLOATNAME(LMatrix3)&  mat,
FLOATNAME(LVecBase3)&  hpr
[static]
 

Extracts the rotation about the x, y, and z axes from the given hpr & scale matrix.

Adjusts the matrix to eliminate the rotation.

This function assumes the matrix is stored in a right-handed Z-up coordinate system.

Definition at line 314 of file compose_matrix_src.cxx.

References FLOATTYPE, x, and y.


Generated on Fri May 2 00:45:49 2003 for Panda by doxygen1.3