Browse Source

Add PTA class for integer vectors

rdb 11 years ago
parent
commit
0a8b35bcea

+ 15 - 0
panda/src/mathutil/config_mathutil.N

@@ -51,3 +51,18 @@ forcetype PointerToBase<ReferenceCountedVector<LVecBase2d> >
 forcetype PointerToArrayBase<LVecBase2d>
 forcetype PointerToArrayBase<LVecBase2d>
 forcetype PTA_LVecBase2d
 forcetype PTA_LVecBase2d
 forcetype CPTA_LVecBase2d
 forcetype CPTA_LVecBase2d
+
+forcetype PointerToBase<ReferenceCountedVector<UnalignedLVecBase4i> >
+forcetype PointerToArrayBase<UnalignedLVecBase4i>
+forcetype PTA_LVecBase4i
+forcetype CPTA_LVecBase4i
+
+forcetype PointerToBase<ReferenceCountedVector<LVecBase3i> >
+forcetype PointerToArrayBase<LVecBase3i>
+forcetype PTA_LVecBase3i
+forcetype CPTA_LVecBase3i
+
+forcetype PointerToBase<ReferenceCountedVector<LVecBase2i> >
+forcetype PointerToArrayBase<LVecBase2i>
+forcetype PTA_LVecBase2i
+forcetype CPTA_LVecBase2i

+ 17 - 0
panda/src/mathutil/pta_LVecBase2.h

@@ -53,6 +53,23 @@ EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, ConstPointerTo
 typedef PointerToArray<LVecBase2d> PTA_LVecBase2d;
 typedef PointerToArray<LVecBase2d> PTA_LVecBase2d;
 typedef ConstPointerToArray<LVecBase2d> CPTA_LVecBase2d;
 typedef ConstPointerToArray<LVecBase2d> CPTA_LVecBase2d;
 
 
+////////////////////////////////////////////////////////////////////
+//       Class : PTA_LVecBase2i
+// Description : A pta of LVecBase2is.  This class is defined once here,
+//               and exported to PANDA.DLL; other packages that want
+//               to use a pta of this type (whether they need to
+//               export it or not) should include this header file,
+//               rather than defining the pta again.
+////////////////////////////////////////////////////////////////////
+
+EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToBase<ReferenceCountedVector<LVecBase2i> >)
+EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToArrayBase<LVecBase2i>)
+EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToArray<LVecBase2i>)
+EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, ConstPointerToArray<LVecBase2i>)
+
+typedef PointerToArray<LVecBase2i> PTA_LVecBase2i;
+typedef ConstPointerToArray<LVecBase2i> CPTA_LVecBase2i;
+
 #ifndef STDFLOAT_DOUBLE
 #ifndef STDFLOAT_DOUBLE
 typedef PTA_LVecBase2f PTA_LVecBase2;
 typedef PTA_LVecBase2f PTA_LVecBase2;
 typedef CPTA_LVecBase2f CPTA_LVecBase2;
 typedef CPTA_LVecBase2f CPTA_LVecBase2;

+ 17 - 0
panda/src/mathutil/pta_LVecBase3.h

@@ -53,6 +53,23 @@ EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, ConstPointerTo
 typedef PointerToArray<LVecBase3d> PTA_LVecBase3d;
 typedef PointerToArray<LVecBase3d> PTA_LVecBase3d;
 typedef ConstPointerToArray<LVecBase3d> CPTA_LVecBase3d;
 typedef ConstPointerToArray<LVecBase3d> CPTA_LVecBase3d;
 
 
+////////////////////////////////////////////////////////////////////
+//       Class : PTA_LVecBase3i
+// Description : A pta of LVecBase3is.  This class is defined once here,
+//               and exported to PANDA.DLL; other packages that want
+//               to use a pta of this type (whether they need to
+//               export it or not) should include this header file,
+//               rather than defining the pta again.
+////////////////////////////////////////////////////////////////////
+
+EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToBase<ReferenceCountedVector<LVecBase3i> >)
+EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToArrayBase<LVecBase3i>)
+EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToArray<LVecBase3i>)
+EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, ConstPointerToArray<LVecBase3i>)
+
+typedef PointerToArray<LVecBase3i> PTA_LVecBase3i;
+typedef ConstPointerToArray<LVecBase3i> CPTA_LVecBase3i;
+
 #ifndef STDFLOAT_DOUBLE
 #ifndef STDFLOAT_DOUBLE
 typedef PTA_LVecBase3f PTA_LVecBase3;
 typedef PTA_LVecBase3f PTA_LVecBase3;
 typedef CPTA_LVecBase3f CPTA_LVecBase3;
 typedef CPTA_LVecBase3f CPTA_LVecBase3;

+ 21 - 0
panda/src/mathutil/pta_LVecBase4.h

@@ -61,6 +61,27 @@ EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, ConstPointerTo
 typedef PointerToArray<UnalignedLVecBase4d> PTA_LVecBase4d;
 typedef PointerToArray<UnalignedLVecBase4d> PTA_LVecBase4d;
 typedef ConstPointerToArray<UnalignedLVecBase4d> CPTA_LVecBase4d;
 typedef ConstPointerToArray<UnalignedLVecBase4d> CPTA_LVecBase4d;
 
 
+////////////////////////////////////////////////////////////////////
+//       Class : PTA_LVecBase4i
+// Description : A pta of LVecBase4is.  This class is defined once here,
+//               and exported to PANDA.DLL; other packages that want
+//               to use a pta of this type (whether they need to
+//               export it or not) should include this header file,
+//               rather than defining the pta again.
+//
+//               We actually wrap UnalignedLVecBase4i, in case we are
+//               building with SSE2 and LVecBase4i requires strict
+//               alignment.
+////////////////////////////////////////////////////////////////////
+
+EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToBase<ReferenceCountedVector<UnalignedLVecBase4i> >)
+EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToArrayBase<UnalignedLVecBase4i>)
+EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, PointerToArray<UnalignedLVecBase4i>)
+EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_MATHUTIL, EXPTP_PANDA_MATHUTIL, ConstPointerToArray<UnalignedLVecBase4i>)
+
+typedef PointerToArray<UnalignedLVecBase4i> PTA_LVecBase4i;
+typedef ConstPointerToArray<UnalignedLVecBase4i> CPTA_LVecBase4i;
+
 #ifndef STDFLOAT_DOUBLE
 #ifndef STDFLOAT_DOUBLE
 typedef PTA_LVecBase4f PTA_LVecBase4;
 typedef PTA_LVecBase4f PTA_LVecBase4;
 typedef CPTA_LVecBase4f CPTA_LVecBase4;
 typedef CPTA_LVecBase4f CPTA_LVecBase4;