Defined in include/PxImmediateMode.h

bool PxGenerateContacts(const PxGeometry *const *geom0, const PxGeometry *const *geom1, const PxTransform *pose0, const PxTransform *pose1, PxCache *contactCache, PxU32 nbPairs, PxContactRecorder &contactRecorder, PxReal contactDistance, PxReal meshContactMargin, PxReal toleranceLength, PxCacheAllocator &allocator)

Performs contact generation for a given pair of geometries at the specified poses.

Produced contacts are stored in the provided contact recorder. Information is cached in PxCache structure to accelerate future contact generation between pairs. This cache data is valid only as long as the memory provided by PxCacheAllocator has not been released/re-used. Recommendation is to retain that data for a single simulation frame, discarding cached data after 2 frames. If the cached memory has been released/re-used prior to the corresponding pair having contact generation performed again, it is the application’s responsibility to reset the PxCache.

  • geom0[in] Array of geometries to perform collision detection on.

  • geom1[in] Array of geometries to perform collision detection on

  • pose0[in] Array of poses associated with the corresponding entry in the geom0 array

  • pose1[in] Array of poses associated with the corresponding entry in the geom1 array

  • contactCache[inout] Array of contact caches associated with each pair geom0[i] + geom1[i]

  • nbPairs[in] The total number of pairs to process

  • contactRecorder[out] A callback that is called to record contacts for each pair that detects contacts

  • contactDistance[in] The distance at which contacts begin to be generated between the pairs

  • meshContactMargin[in] The mesh contact margin.

  • toleranceLength[in] The toleranceLength. Used for scaling distance-based thresholds internally to produce appropriate results given simulations in different units

  • allocator[in] A callback to allocate memory for the contact cache


a boolean indicating if the function was successful or not.