aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Source/GeomUtils/src/mesh/GuRTree.h
diff options
context:
space:
mode:
authorSheikh Dawood Abdul Ajees <[email protected]>2017-04-25 16:02:08 -0500
committerSheikh Dawood Abdul Ajees <[email protected]>2017-04-25 16:02:08 -0500
commitd11708e398c2f6377d9eac2b1f7248c62faab569 (patch)
tree5778e794690c046ab4b0205d8f764960a5af168b /PhysX_3.4/Source/GeomUtils/src/mesh/GuRTree.h
parentPhysX 3.4, APEX 1.4 patch release @21821222 (diff)
downloadphysx-3.4-d11708e398c2f6377d9eac2b1f7248c62faab569.tar.xz
physx-3.4-d11708e398c2f6377d9eac2b1f7248c62faab569.zip
PhysX 3.4, APEX 1.4 patch release @22017166
Diffstat (limited to 'PhysX_3.4/Source/GeomUtils/src/mesh/GuRTree.h')
-rw-r--r--PhysX_3.4/Source/GeomUtils/src/mesh/GuRTree.h24
1 files changed, 10 insertions, 14 deletions
diff --git a/PhysX_3.4/Source/GeomUtils/src/mesh/GuRTree.h b/PhysX_3.4/Source/GeomUtils/src/mesh/GuRTree.h
index d6fbd435..19004952 100644
--- a/PhysX_3.4/Source/GeomUtils/src/mesh/GuRTree.h
+++ b/PhysX_3.4/Source/GeomUtils/src/mesh/GuRTree.h
@@ -170,8 +170,8 @@ namespace Gu {
void traverseOBB(
const Gu::Box& obb,
const PxU32 maxResultsPerBlock, PxU32* resultsBlockBuf, Callback* processResultsBlockCallback) const;
+
template <int inflate>
- //PX_PHYSX_COMMON_API
void traverseRay(
const PxVec3& rayOrigin, const PxVec3& rayDir, // dir doesn't have to be normalized and is B-A for raySegment
const PxU32 maxResults, PxU32* resultsPtr,
@@ -229,6 +229,15 @@ namespace Gu {
friend struct RTreePage;
} PX_ALIGN_SUFFIX(16);
+#if PX_SUPPORT_EXTERN_TEMPLATE
+ //explicit template instantiation declaration
+ extern template
+ void RTree::traverseRay<0>(const PxVec3&, const PxVec3&, const PxU32, PxU32*, Gu::RTree::CallbackRaycast*, const PxVec3*, PxF32) const;
+
+ extern template
+ void RTree::traverseRay<1>(const PxVec3&, const PxVec3&, const PxU32, PxU32*, Gu::RTree::CallbackRaycast*, const PxVec3*, PxF32) const;
+#endif
+
#if PX_VC
#pragma warning(pop)
#endif
@@ -253,19 +262,6 @@ namespace Gu {
}
}
- // explicit instantiations for traverseRay
- // XXX: dima: g++ 4.4 won't compile this => skipping by PX_UNIX_FAMILY
-#if PX_X86 && !PX_UNIX_FAMILY
- template
- //PX_PHYSX_COMMON_API
- void RTree::traverseRay<0>(
- const PxVec3&, const PxVec3&, const PxU32, PxU32*, Gu::RTree::CallbackRaycast*, const PxVec3*, PxF32 maxT) const;
- template
- //PX_PHYSX_COMMON_API
- void RTree::traverseRay<1>(
- const PxVec3&, const PxVec3&, const PxU32, PxU32*, Gu::RTree::CallbackRaycast*, const PxVec3*, PxF32 maxT) const;
-#endif
-
/////////////////////////////////////////////////////////////////////////
PX_FORCE_INLINE void RTreeNodeQ::setEmpty()
{