MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/PhysX / sweepMultiple

Method sweepMultiple

physx/source/physxextensions/src/ExtSceneQueryExt.cpp:121–147  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

119}
120
121PxI32 PxSceneQueryExt::sweepMultiple( const PxScene& scene,
122 const PxGeometry& geometry, const PxTransform& pose, const PxVec3& unitDir, const PxReal distance,
123 PxSceneQueryFlags outputFlags, PxSweepHit* hitBuffer, PxU32 hitBufferSize, bool& blockingHit,
124 const PxSceneQueryFilterData& filterData,
125 PxSceneQueryFilterCallback* filterCall, const PxSceneQueryCache* cache,
126 PxReal inflation)
127{
128 PxQueryFilterData fd1 = filterData;
129 PxSweepBuffer buf(hitBuffer, hitBufferSize);
130 scene.sweep(geometry, pose, unitDir, distance, buf, outputFlags, fd1, filterCall, cache, inflation);
131 blockingHit = buf.hasBlock;
132 if(blockingHit)
133 {
134 if(buf.nbTouches < hitBufferSize)
135 {
136 hitBuffer[buf.nbTouches] = buf.block;
137 return PxI32(buf.nbTouches+1);
138 }
139 else // overflow, drop the last touch
140 {
141 hitBuffer[hitBufferSize-1] = buf.block;
142 return -1;
143 }
144 } else
145 // no block
146 return PxI32(buf.nbTouches);
147}
148
149PxI32 PxSceneQueryExt::overlapMultiple( const PxScene& scene,
150 const PxGeometry& geometry, const PxTransform& pose,

Callers

nothing calls this directly

Calls 1

sweepMethod · 0.45

Tested by

no test coverage detected