Panda3D
pta_LVecBase4.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 pta_LVecBase4.h
10  * @author drose
11  * @date 2010-02-27
12  */
13 
14 #ifndef PTA_LVECBASE4_H
15 #define PTA_LVECBASE4_H
16 
17 #include "pandabase.h"
18 #include "luse.h"
19 #include "pointerToArray.h"
20 
21 /**
22  * A pta of LVecBase4fs. This class is defined once here, and exported to
23  * PANDA.DLL; other packages that want to use a pta of this type (whether they
24  * need to export it or not) should include this header file, rather than
25  * defining the pta again.
26  *
27  * We actually wrap UnalignedLVecBase4f, in case we are building with SSE2 and
28  * LVecBase4f requires strict alignment.
29  */
30 
31 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToBase<ReferenceCountedVector<UnalignedLVecBase4f> >)
32 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToArrayBase<UnalignedLVecBase4f>)
33 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToArray<UnalignedLVecBase4f>)
34 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, ConstPointerToArray<UnalignedLVecBase4f>)
35 
36 typedef PointerToArray<UnalignedLVecBase4f> PTA_LVecBase4f;
37 typedef ConstPointerToArray<UnalignedLVecBase4f> CPTA_LVecBase4f;
38 
39 /**
40  * A pta of LVecBase4ds. This class is defined once here, and exported to
41  * PANDA.DLL; other packages that want to use a pta of this type (whether they
42  * need to export it or not) should include this header file, rather than
43  * defining the pta again.
44  *
45  * We actually wrap UnalignedLVecBase4d, in case we are building with SSE2 and
46  * LVecBase4d requires strict alignment.
47  */
48 
49 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToBase<ReferenceCountedVector<UnalignedLVecBase4d> >)
50 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToArrayBase<UnalignedLVecBase4d>)
51 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToArray<UnalignedLVecBase4d>)
52 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, ConstPointerToArray<UnalignedLVecBase4d>)
53 
54 typedef PointerToArray<UnalignedLVecBase4d> PTA_LVecBase4d;
55 typedef ConstPointerToArray<UnalignedLVecBase4d> CPTA_LVecBase4d;
56 
57 /**
58  * A pta of LVecBase4is. This class is defined once here, and exported to
59  * PANDA.DLL; other packages that want to use a pta of this type (whether they
60  * need to export it or not) should include this header file, rather than
61  * defining the pta again.
62  *
63  * We actually wrap UnalignedLVecBase4i, in case we are building with SSE2 and
64  * LVecBase4i requires strict alignment.
65  */
66 
67 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToBase<ReferenceCountedVector<UnalignedLVecBase4i> >)
68 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToArrayBase<UnalignedLVecBase4i>)
69 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToArray<UnalignedLVecBase4i>)
70 EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, ConstPointerToArray<UnalignedLVecBase4i>)
71 
72 typedef PointerToArray<UnalignedLVecBase4i> PTA_LVecBase4i;
73 typedef ConstPointerToArray<UnalignedLVecBase4i> CPTA_LVecBase4i;
74 
75 #ifndef STDFLOAT_DOUBLE
76 typedef PTA_LVecBase4f PTA_LVecBase4;
78 #else
79 typedef PTA_LVecBase4d PTA_LVecBase4;
81 #endif // STDFLOAT_DOUBLE
82 
83 // Bogus typedefs for interrogate and legacy Python code.
84 #ifdef CPPPARSER
85 typedef PTA_LVecBase4f PTAVecBase4f;
86 typedef CPTA_LVecBase4f CPTAVecBase4f;
87 typedef PTA_LVecBase4d PTAVecBase4d;
88 typedef CPTA_LVecBase4d CPTAVecBase4d;
89 #endif // CPPPARSER
90 
91 #endif
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is the base class for PointerTo and ConstPointerTo.
Definition: pointerToBase.h:29
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A special kind of PointerTo that stores an array of the indicated element type, instead of a single e...
EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToBase< ReferenceCountedVector< UnalignedLVecBase4f > >) EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL
A pta of LVecBase4fs.
This is the base class for PointerToArray and ConstPointerToArray.
This defines the object that is actually stored and reference-counted internally by a PointerToArray.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Similar to PointerToArray, except that its contents may not be modified.