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

panda/src/linmath/compose_matrix_src.h File Reference

#include "compose_matrix_src.I"

Go to the source code of this file.

Functions

BEGIN_PUBLISH EXPCL_PANDA 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.

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

INLINE_LINMATH void compose_matrix (FLOATNAME(LMatrix4)&mat, const FLOATTYPE components[9], CoordinateSystem cs=CS_default)
EXPCL_PANDA bool decompose_matrix (const FLOATNAME(LMatrix3)&mat, FLOATNAME(LVecBase3)&scale, FLOATNAME(LVecBase3)&hpr, CoordinateSystem cs=CS_default)
 Extracts out the components of a 3x3 rotation matrix.

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

INLINE_LINMATH bool decompose_matrix (const FLOATNAME(LMatrix4)&mat, FLOATNAME(LVecBase3)&scale, FLOATNAME(LVecBase3)&hpr, FLOATNAME(LVecBase3)&translate, CoordinateSystem cs=CS_default)
 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=CS_default)
 Extracts out the components of an affine matrix.

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


Detailed Description

Definition in file compose_matrix_src.h.


Function Documentation

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

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.

BEGIN_PUBLISH EXPCL_PANDA 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.

References cs, and FLOATNAME.

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

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.

EXPCL_PANDA 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.

EXPCL_PANDA 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.

References unwind_yup_rotation().


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