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.