00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 BEGIN_PUBLISH
00020
00021 EXPCL_PANDA void
00022 compose_matrix(FLOATNAME(LMatrix3) &mat,
00023 const FLOATNAME(LVecBase3) &scale,
00024 const FLOATNAME(LVecBase3) &hpr,
00025 CoordinateSystem cs = CS_default);
00026
00027 INLINE_LINMATH void
00028 compose_matrix(FLOATNAME(LMatrix4) &mat,
00029 const FLOATNAME(LVecBase3) &scale,
00030 const FLOATNAME(LVecBase3) &hpr,
00031 const FLOATNAME(LVecBase3) &translate,
00032 CoordinateSystem cs = CS_default);
00033
00034 INLINE_LINMATH void
00035 compose_matrix(FLOATNAME(LMatrix4) &mat, const FLOATTYPE components[9],
00036 CoordinateSystem cs = CS_default);
00037
00038 EXPCL_PANDA bool
00039 decompose_matrix(const FLOATNAME(LMatrix3) &mat,
00040 FLOATNAME(LVecBase3) &scale,
00041 FLOATNAME(LVecBase3) &hpr,
00042 CoordinateSystem cs = CS_default);
00043
00044 EXPCL_PANDA bool
00045 decompose_matrix(const FLOATNAME(LMatrix3) &mat,
00046 FLOATNAME(LVecBase3) &scale,
00047 FLOATNAME(LVecBase3) &hpr,
00048 FLOATTYPE roll,
00049 CoordinateSystem cs = CS_default);
00050
00051 INLINE_LINMATH bool
00052 decompose_matrix(const FLOATNAME(LMatrix4) &mat,
00053 FLOATNAME(LVecBase3) &scale,
00054 FLOATNAME(LVecBase3) &hpr,
00055 FLOATNAME(LVecBase3) &translate,
00056 CoordinateSystem cs = CS_default);
00057
00058 INLINE_LINMATH bool
00059 decompose_matrix(const FLOATNAME(LMatrix4) &mat,
00060 FLOATNAME(LVecBase3) &scale,
00061 FLOATNAME(LVecBase3) &hpr,
00062 FLOATNAME(LVecBase3) &translate,
00063 FLOATTYPE roll,
00064 CoordinateSystem cs = CS_default);
00065
00066 INLINE_LINMATH bool
00067 decompose_matrix(const FLOATNAME(LMatrix4) &mat, FLOATTYPE components[9],
00068 CoordinateSystem CS = CS_default);
00069
00070 END_PUBLISH
00071
00072 #include "compose_matrix_src.I"