Collection of GJK query functions (sweeps, raycasts, overlaps, ...).
More...
#include <PxGjkQuery.h>
|
| struct | Support |
| | Abstract interface for a user defined shape GJK mapping support. A user defined shape consists of a core shape and a margin. If the distance between two shapes' cores is equal to the sum of their margins, these shapes are considered touching. More...
|
| |
|
| static PX_PHYSX_COMMON_API bool | proximityInfo (const Support &a, const Support &b, const PxTransform &poseA, const PxTransform &poseB, PxReal contactDistance, PxReal toleranceLength, PxVec3 &pointA, PxVec3 &pointB, PxVec3 &separatingAxis, PxReal &separation) |
| | Computes proximity information for two shapes using GJK-EPA algorithm.
|
| |
| static PX_PHYSX_COMMON_API bool | raycast (const Support &shape, const PxTransform &pose, const PxVec3 &rayStart, const PxVec3 &unitDir, PxReal maxDist, PxReal &t, PxVec3 &n, PxVec3 &p) |
| | Raycast test against the given shape.
|
| |
| static PX_PHYSX_COMMON_API bool | overlap (const Support &a, const Support &b, const PxTransform &poseA, const PxTransform &poseB) |
| | Overlap test for two shapes.
|
| |
| static PX_PHYSX_COMMON_API bool | sweep (const Support &a, const Support &b, const PxTransform &poseA, const PxTransform &poseB, const PxVec3 &unitDir, PxReal maxDist, PxReal &t, PxVec3 &n, PxVec3 &p) |
| | Sweep the shape B in space and test for collision with the shape A.
|
| |
Collection of GJK query functions (sweeps, raycasts, overlaps, ...).
◆ overlap()
Overlap test for two shapes.
- Parameters
-
| [in] | a | Shape A support mapping |
| [in] | b | Shape B support mapping |
| [in] | poseA | Shape A transformation |
| [in] | poseB | Shape B transformation |
- Returns
- True if the shapes overlap.
◆ proximityInfo()
Computes proximity information for two shapes using GJK-EPA algorithm.
- Parameters
-
| [in] | a | Shape A support mapping |
| [in] | b | Shape B support mapping |
| [in] | poseA | Shape A transformation |
| [in] | poseB | Shape B transformation |
| [in] | contactDistance | The distance at which proximity info begins to be computed between the shapes |
| [in] | toleranceLength | The toleranceLength. Used for scaling distance-based thresholds internally to produce appropriate results given simulations in different units |
| [out] | pointA | The closest/deepest point on shape A surface |
| [out] | pointB | The closest/deepest point on shape B surface |
| [out] | separatingAxis | Translating shape B along 'separatingAxis' by 'separation' makes the shapes touching |
| [out] | separation | Translating shape B along 'separatingAxis' by 'separation' makes the shapes touching |
- Returns
- False if the distance greater than contactDistance.
◆ raycast()
Raycast test against the given shape.
- Parameters
-
| [in] | shape | Shape support mapping |
| [in] | pose | Shape transformation |
| [in] | rayStart | The start point of the ray to test the shape against |
| [in] | unitDir | Normalized direction of the ray to test the shape against |
| [in] | maxDist | Maximum ray length, has to be in the [0, inf) range |
| [out] | t | Hit distance |
| [out] | n | Hit normal |
| [out] | p | Hit point |
- Returns
- True if there is a hit.
◆ sweep()
Sweep the shape B in space and test for collision with the shape A.
- Parameters
-
| [in] | a | Shape A support mapping |
| [in] | b | Shape B support mapping |
| [in] | poseA | Shape A transformation |
| [in] | poseB | Shape B transformation |
| [in] | unitDir | Normalized direction of the ray to test the shape against |
| [in] | maxDist | Maximum ray length, has to be in the [0, inf) range |
| [out] | t | Hit distance |
| [out] | n | Hit normal |
| [out] | p | Hit point |
- Returns
- True if there is a hit.
The documentation for this class was generated from the following files:
- RavEngine/deps/physx/physx/include/geometry/PxGjkQuery.h
- RavEngine/deps/physx/physx/source/geomutils/src/GuGjkQuery.cpp