00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef PX_PHYSICS_NX_SCENEQUERY
00032 #define PX_PHYSICS_NX_SCENEQUERY
00033
00036 #include "PxPhysXConfig.h"
00037 #include "PxShape.h"
00038 #include "PxBatchQueryDesc.h"
00039 #include "PxQueryFiltering.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00046 class PxBoxGeometry;
00047 class PxSphereGeometry;
00048 struct PxQueryCache;
00049
00057 class PX_DEPRECATED PxBatchQuery
00058 {
00059 public:
00060
00064 virtual void execute() = 0;
00065
00073 virtual PxBatchQueryPreFilterShader getPreFilterShader() const = 0;
00074
00082 virtual PxBatchQueryPostFilterShader getPostFilterShader() const = 0;
00083
00084
00092 virtual const void* getFilterShaderData() const = 0;
00093
00101 virtual PxU32 getFilterShaderDataSize() const = 0;
00102
00110 virtual void setUserMemory(const PxBatchQueryMemory&) = 0;
00111
00117 virtual const PxBatchQueryMemory& getUserMemory() = 0;
00118
00124 virtual void release() = 0;
00125
00149 virtual void raycast(
00150 const PxVec3& origin, const PxVec3& unitDir, PxReal distance = PX_MAX_F32, PxU16 maxTouchHits = 0,
00151 PxHitFlags hitFlags = PxHitFlag::eDEFAULT,
00152 const PxQueryFilterData& filterData = PxQueryFilterData(),
00153 void* userData = NULL, const PxQueryCache* cache = NULL) = 0;
00154
00155
00178 virtual void overlap(
00179 const PxGeometry& geometry, const PxTransform& pose, PxU16 maxTouchHits = 0,
00180 const PxQueryFilterData& filterData = PxQueryFilterData(), void* userData=NULL, const PxQueryCache* cache = NULL) = 0;
00181
00209 virtual void sweep(
00210 const PxGeometry& geometry, const PxTransform& pose, const PxVec3& unitDir, const PxReal distance,
00211 PxU16 maxTouchHits = 0, PxHitFlags hitFlags = PxHitFlag::eDEFAULT,
00212 const PxQueryFilterData& filterData = PxQueryFilterData(), void* userData=NULL, const PxQueryCache* cache = NULL,
00213 const PxReal inflation = 0.f) = 0;
00214
00215 protected:
00216 virtual ~PxBatchQuery() {}
00217 };
00218
00219 #if !PX_DOXYGEN
00220 }
00221 #endif
00222
00224 #endif