![]() |
Jolt Physics
A multi core friendly Game Physics Engine
|
Class that contains all information of two colliding shapes. More...
#include <CollideShape.h>
Public Types | |
| using | Face = StaticArray< Vec3, 32 > |
Public Member Functions | |
| JPH_OVERRIDE_NEW_DELETE | CollideShapeResult ()=default |
| Default constructor. More... | |
| CollideShapeResult (Vec3Arg inContactPointOn1, Vec3Arg inContactPointOn2, Vec3Arg inPenetrationAxis, float inPenetrationDepth, const SubShapeID &inSubShapeID1, const SubShapeID &inSubShapeID2, const BodyID &inBodyID2) | |
| Constructor. More... | |
| float | GetEarlyOutFraction () const |
| Function required by the CollisionCollector. A smaller fraction is considered to be a 'better hit'. We use -penetration depth to get the hit with the biggest penetration depth. More... | |
| CollideShapeResult | Reversed () const |
| Reverses the hit result, swapping contact point 1 with contact point 2 etc. More... | |
Public Attributes | |
| Vec3 | mContactPointOn1 |
| Contact point on the surface of shape 1 (in world space or relative to base offset) More... | |
| Vec3 | mContactPointOn2 |
| Contact point on the surface of shape 2 (in world space or relative to base offset). If the penetration depth is 0, this will be the same as mContactPointOn1. More... | |
| Vec3 | mPenetrationAxis |
| Direction to move shape 2 out of collision along the shortest path (magnitude is meaningless, in world space). You can use -mPenetrationAxis.Normalized() as contact normal. More... | |
| float | mPenetrationDepth |
| Penetration depth (move shape 2 by this distance to resolve the collision) More... | |
| SubShapeID | mSubShapeID1 |
| Sub shape ID that identifies the face on shape 1. More... | |
| SubShapeID | mSubShapeID2 |
| Sub shape ID that identifies the face on shape 2. More... | |
| BodyID | mBodyID2 |
| BodyID to which shape 2 belongs to. More... | |
| Face | mShape1Face |
| Colliding face on shape 1 (optional result, in world space or relative to base offset) More... | |
| Face | mShape2Face |
| Colliding face on shape 2 (optional result, in world space or relative to base offset) More... | |
Class that contains all information of two colliding shapes.
| using CollideShapeResult::Face = StaticArray<Vec3, 32> |
|
default |
Default constructor.
|
inline |
Constructor.
|
inline |
Function required by the CollisionCollector. A smaller fraction is considered to be a 'better hit'. We use -penetration depth to get the hit with the biggest penetration depth.
|
inline |
Reverses the hit result, swapping contact point 1 with contact point 2 etc.
| Vec3 CollideShapeResult::mContactPointOn1 |
Contact point on the surface of shape 1 (in world space or relative to base offset)
| Vec3 CollideShapeResult::mContactPointOn2 |
Contact point on the surface of shape 2 (in world space or relative to base offset). If the penetration depth is 0, this will be the same as mContactPointOn1.
| Vec3 CollideShapeResult::mPenetrationAxis |
Direction to move shape 2 out of collision along the shortest path (magnitude is meaningless, in world space). You can use -mPenetrationAxis.Normalized() as contact normal.
| float CollideShapeResult::mPenetrationDepth |
Penetration depth (move shape 2 by this distance to resolve the collision)
| Face CollideShapeResult::mShape1Face |
Colliding face on shape 1 (optional result, in world space or relative to base offset)
| Face CollideShapeResult::mShape2Face |
Colliding face on shape 2 (optional result, in world space or relative to base offset)
| SubShapeID CollideShapeResult::mSubShapeID1 |
Sub shape ID that identifies the face on shape 1.
| SubShapeID CollideShapeResult::mSubShapeID2 |
Sub shape ID that identifies the face on shape 2.