Panda3D

compose_matrix.h
Go to the documentation of this file.
1 /**
2 * PANDA 3D SOFTWARE
3 * Copyright (c) Carnegie Mellon University. All rights reserved.
4 *
5 * All use of this software is subject to the terms of the revised BSD
6 * license. You should have received a copy of this license along
7 * with this source code in a file named "LICENSE."
8 *
9 * @file compose_matrix.h
10 * @author drose
11 * @date 1999-01-27
12 */
13
14 #ifndef COMPOSE_MATRIX_H
15 #define COMPOSE_MATRIX_H
16
17 /*
18 * compose_matrix(), decompose_matrix() These two functions build andor
19 * extract an affine matrix into its constituent parts: scale, hpr, and
20 * translate. There are also two additional flavors for 3x3 matrices. These
21 * are treated as the upper 3x3 part of a general 4x4 matrix, and so can only
22 * represent rotations and scales.
23 */
24
25 #include "pandabase.h"
26 #include <math.h>
27
28 #include "lmatrix.h"
29 #include "lvector3.h"
30 #include "lvector2.h"
31 #include "lpoint3.h"
32 #include "lpoint2.h"
33 #include "lmat_ops.h"
34 #include "lvec2_ops.h"
35 #include "lvec3_ops.h"
36
37 // These define the standard one-letter names for the components in the array-
38 // accepting forms of compose_matrix() and decompose_matrix().
39 static const int num_matrix_components = 12;
40 EXPCL_PANDA_LINMATH extern const char * const matrix_component_letters;
41 EXPCL_PANDA_LINMATH extern const double matrix_component_defaults[num_matrix_components];
42
43 #include "fltnames.h"
44 #include "compose_matrix_src.h"
45
46 #include "dblnames.h"
47 #include "compose_matrix_src.h"
48
49 #endif
lmat_ops.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
lmatrix.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
lpoint2.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
lpoint3.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
lvec2_ops.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
lvec3_ops.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
lvector2.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
lvector3.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
pandabase.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.