Panda3D
 All Classes Functions Variables Enumerations
pta_LMatrix4.h
1 // Filename: pta_LMatrix4.h
2 // Created by: drose (27Feb10)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 #ifndef PTA_LMATRIX4_H
16 #define PTA_LMATRIX4_H
17 
18 #include "pandabase.h"
19 #include "luse.h"
20 #include "pointerToArray.h"
21 
22 ////////////////////////////////////////////////////////////////////
23 // Class : PTA_LMatrix4f
24 // Description : A pta of LMatrix4fs. This class is defined once here,
25 // and exported to PANDA.DLL; other packages that want
26 // to use a pta of this type (whether they need to
27 // export it or not) should include this header file,
28 // rather than defining the pta again.
29 //
30 // We actually wrap UnalignedLMatrix4f, in case we are
31 // building with SSE2 and LMatrix4f requires strict
32 // alignment.
33 ////////////////////////////////////////////////////////////////////
34 
35 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToBase<ReferenceCountedVector<UnalignedLMatrix4f> >)
36 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToArrayBase<UnalignedLMatrix4f>)
37 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToArray<UnalignedLMatrix4f>)
38 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, ConstPointerToArray<UnalignedLMatrix4f>)
39 
40 typedef PointerToArray<UnalignedLMatrix4f> PTA_LMatrix4f;
42 
43 ////////////////////////////////////////////////////////////////////
44 // Class : PTA_LMatrix4d
45 // Description : A pta of LMatrix4ds. This class is defined once here,
46 // and exported to PANDA.DLL; other packages that want
47 // to use a pta of this type (whether they need to
48 // export it or not) should include this header file,
49 // rather than defining the pta again.
50 //
51 // We actually wrap UnalignedLMatrix4d, in case we are
52 // building with SSE2 and LMatrix4d requires strict
53 // alignment.
54 ////////////////////////////////////////////////////////////////////
55 
56 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToBase<ReferenceCountedVector<UnalignedLMatrix4d> >)
57 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToArrayBase<UnalignedLMatrix4d>)
58 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToArray<UnalignedLMatrix4d>)
59 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, ConstPointerToArray<UnalignedLMatrix4d>)
60 
61 typedef PointerToArray<UnalignedLMatrix4d> PTA_LMatrix4d;
63 
64 #ifndef STDFLOAT_DOUBLE
65 typedef PTA_LMatrix4f PTA_LMatrix4;
66 typedef CPTA_LMatrix4f CPTA_LMatrix4;
67 #else
68 typedef PTA_LMatrix4d PTA_LMatrix4;
69 typedef CPTA_LMatrix4d CPTA_LMatrix4;
70 #endif // STDFLOAT_DOUBLE
71 
72 // Bogus typedefs for interrogate and legacy Python code.
73 #ifdef CPPPARSER
74 typedef PTA_LMatrix4 PTAMat4;
75 typedef CPTA_LMatrix4 CPTAMat4;
76 typedef PTA_LMatrix4d PTAMat4d;
77 typedef CPTA_LMatrix4d CPTAMat4d;
78 #endif // CPPPARSER
79 
80 // Tell GCC that we'll take care of the instantiation explicitly here.
81 #ifdef __GNUC__
82 #pragma interface
83 #endif
84 
85 #endif
This is an &quot;unaligned&quot; LMatrix4.
Definition: lmatrix.h:756
This is the base class for PointerTo and ConstPointerTo.
Definition: pointerToBase.h:32
A special kind of PointerTo that stores an array of the indicated element type, instead of a single e...
This is the base class for PointerToArray and ConstPointerToArray.
This is an &quot;unaligned&quot; LMatrix4.
Definition: lmatrix.h:5021
This defines the object that is actually stored and reference-counted internally by a PointerToArray...
Similar to PointerToArray, except that its contents may not be modified.