29#ifndef GU_OVERLAP_TESTS_H
30#define GU_OVERLAP_TESTS_H
32#include "foundation/PxVec3.h"
33#include "foundation/PxTransform.h"
34#include "foundation/PxAssert.h"
35#include "foundation/PxErrors.h"
36#include "foundation/PxFoundation.h"
37#include "geometry/PxGeometry.h"
38#include "geometry/PxGeometryHit.h"
39#include "geometry/PxGeometryQueryContext.h"
65 #define UNUSED_OVERLAP_THREAD_CONTEXT NULL
75 #define GU_OVERLAP_FUNC_PARAMS const PxGeometry& geom0, const PxTransform& pose0, \
76 const PxGeometry& geom1, const PxTransform& pose1, \
77 Gu::TriggerCache* cache, PxOverlapThreadContext* threadContext
82 typedef bool (*GeomOverlapFunc) (GU_OVERLAP_FUNC_PARAMS);
88 PX_PHYSX_COMMON_API
const GeomOverlapTable* getOverlapFuncTable();
91 PX_PHYSX_COMMON_API
void registerHeightFields();
97 PX_CHECK_AND_RETURN_VAL(pose0.
isValid(),
"Gu::overlap(): pose0 is not valid.",
false);
98 PX_CHECK_AND_RETURN_VAL(pose1.
isValid(),
"Gu::overlap(): pose1 is not valid.",
false);
102 GeomOverlapFunc overlapFunc = overlapFuncs[geom1.
getType()][geom0.
getType()];
103 PX_ASSERT(overlapFunc);
104 return overlapFunc(geom1, pose1, geom0, pose0, NULL, threadContext);
108 GeomOverlapFunc overlapFunc = overlapFuncs[geom0.
getType()][geom1.
getType()];
109 PX_ASSERT(overlapFunc);
110 return overlapFunc(geom0, pose0, geom1, pose1, NULL, threadContext);
A geometry object.
Definition PxGeometry.h:79
PX_CUDA_CALLABLE PX_FORCE_INLINE PxGeometryType::Enum getType() const
Returns the type of the geometry.
Definition PxGeometry.h:85
3 Element vector class.
Definition PxVec3.h:50
#define PX_RESTRICT
Definition PxPreprocessor.h:355
#define PX_FORCE_INLINE
Definition PxPreprocessor.h:335
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39
Definition GuOverlapTests.h:59
@ eGEOMETRY_COUNT
internal use only!
Definition PxGeometry.h:65
A per-thread context passed to low-level query functions.
Definition PxGeometryQueryContext.h:52