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

panda/src/linmath/compose_matrix_src.I File Reference

Go to the source code of this file.

Functions

INLINE_LINMATH void compose_matrix (FLOATNAME(LMatrix4)&mat, const FLOATNAME(LVecBase3)&scale, const FLOATNAME(LVecBase3)&hpr, const FLOATNAME(LVecBase3)&translate, CoordinateSystem cs)
 Computes the 4x4 matrix according to scale, rotation, and translation.

INLINE_LINMATH void compose_matrix (FLOATNAME(LMatrix4)&mat, const FLOATTYPE components[9], CoordinateSystem cs)
INLINE_LINMATH bool decompose_matrix (const FLOATNAME(LMatrix4)&mat, FLOATNAME(LVecBase3)&scale, FLOATNAME(LVecBase3)&hpr, FLOATNAME(LVecBase3)&translate, CoordinateSystem cs)
 Extracts out the components of an affine matrix.

INLINE_LINMATH bool decompose_matrix (const FLOATNAME(LMatrix4)&mat, FLOATNAME(LVecBase3)&scale, FLOATNAME(LVecBase3)&hpr, FLOATNAME(LVecBase3)&translate, FLOATTYPE roll, CoordinateSystem cs)
 Extracts out the components of an affine matrix.

INLINE_LINMATH bool decompose_matrix (const FLOATNAME(LMatrix4)&mat, FLOATTYPE components[9], CoordinateSystem cs)


Detailed Description

Definition in file compose_matrix_src.I.


Function Documentation

INLINE_LINMATH void compose_matrix FLOATNAME(LMatrix4)&  mat,
const FLOATTYPE  components[9],
CoordinateSystem  cs
 

Definition at line 44 of file compose_matrix_src.I.

Referenced by Trackball::get_r(), AnimChannelMatrixXfmTable::get_value(), AnimChannelMatrixXfmTable::has_changed(), ParametricCurveCollection::reset_max_t(), and DriveInterface::set_force_roll().

INLINE_LINMATH void compose_matrix FLOATNAME(LMatrix4)&  mat,
const FLOATNAME(LVecBase3)&  scale,
const FLOATNAME(LVecBase3)&  hpr,
const FLOATNAME(LVecBase3)&  translate,
CoordinateSystem  cs
 

Computes the 4x4 matrix according to scale, rotation, and translation.

Definition at line 33 of file compose_matrix_src.I.

INLINE_LINMATH bool decompose_matrix const FLOATNAME(LMatrix4)&  mat,
FLOATTYPE  components[9],
CoordinateSystem  cs
 

Definition at line 126 of file compose_matrix_src.I.

Referenced by decompose_matrix(), Trackball::get_r(), and Trackball::set_z().

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

Extracts out the components of an affine matrix.

Returns true if the scale, hpr, translate 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 114 of file compose_matrix_src.I.

INLINE_LINMATH bool decompose_matrix const FLOATNAME(LMatrix4)&  mat,
FLOATNAME(LVecBase3)&  scale,
FLOATNAME(LVecBase3)&  hpr,
FLOATNAME(LVecBase3)&  translate,
CoordinateSystem  cs
 

Extracts out the components of an affine matrix.

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

Definition at line 76 of file compose_matrix_src.I.

References cs, decompose_matrix(), and INLINE_LINMATH.


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