![]() |
Jolt Physics
A multi core friendly Game Physics Engine
|
Collision detection helper that collides a sphere vs one or more triangles. More...
#include <CollideSphereVsTriangles.h>
Public Member Functions | |
| CollideSphereVsTriangles (const SphereShape *inShape1, Vec3Arg inScale1, Vec3Arg inScale2, Mat44Arg inCenterOfMassTransform1, Mat44Arg inCenterOfMassTransform2, const SubShapeID &inSubShapeID1, const CollideShapeSettings &inCollideShapeSettings, CollideShapeCollector &ioCollector) | |
| void | Collide (Vec3Arg inV0, Vec3Arg inV1, Vec3Arg inV2, uint8 inActiveEdges, const SubShapeID &inSubShapeID2) |
Protected Attributes | |
| const CollideShapeSettings & | mCollideShapeSettings |
| Settings for this collision operation. More... | |
| CollideShapeCollector & | mCollector |
| The collector that will receive the results. More... | |
| const SphereShape * | mShape1 |
| The shape that we're colliding with. More... | |
| Vec3 | mScale2 |
| The scale of the shape (in shape local space) of the shape we're colliding against. More... | |
| Mat44 | mTransform2 |
| Transform of the shape we're colliding against. More... | |
| Vec3 | mSphereCenterIn2 |
| The center of the sphere in the space of 2. More... | |
| SubShapeID | mSubShapeID1 |
| Sub shape ID of colliding shape. More... | |
| float | mScaleSign2 |
| Sign of the scale of object 2, -1 if object is inside out, 1 if not. More... | |
| float | mRadius |
| Radius of the sphere. More... | |
| float | mRadiusPlusMaxSeparationSq |
| (Radius + Max SeparationDistance)^2 More... | |
Collision detection helper that collides a sphere vs one or more triangles.
| CollideSphereVsTriangles::CollideSphereVsTriangles | ( | const SphereShape * | inShape1, |
| Vec3Arg | inScale1, | ||
| Vec3Arg | inScale2, | ||
| Mat44Arg | inCenterOfMassTransform1, | ||
| Mat44Arg | inCenterOfMassTransform2, | ||
| const SubShapeID & | inSubShapeID1, | ||
| const CollideShapeSettings & | inCollideShapeSettings, | ||
| CollideShapeCollector & | ioCollector | ||
| ) |
Constructor
| inShape1 | The sphere to collide against triangles |
| inScale1 | Local space scale for the sphere |
| inScale2 | Local space scale for the triangles |
| inCenterOfMassTransform1 | Transform that takes the center of mass of 1 into world space |
| inCenterOfMassTransform2 | Transform that takes the center of mass of 2 into world space |
| inSubShapeID1 | Sub shape ID of the convex object |
| inCollideShapeSettings | Settings for the collide shape query |
| ioCollector | The collector that will receive the results |
| void CollideSphereVsTriangles::Collide | ( | Vec3Arg | inV0, |
| Vec3Arg | inV1, | ||
| Vec3Arg | inV2, | ||
| uint8 | inActiveEdges, | ||
| const SubShapeID & | inSubShapeID2 | ||
| ) |
Collide sphere with a single triangle
| inV0,inV1,inV2 | CCW triangle vertices |
| inActiveEdges | bit 0 = edge v0..v1 is active, bit 1 = edge v1..v2 is active, bit 2 = edge v2..v0 is active An active edge is an edge that is not connected to another triangle in such a way that it is impossible to collide with the edge |
| inSubShapeID2 | The sub shape ID for the triangle |
|
protected |
The collector that will receive the results.
|
protected |
Settings for this collision operation.
|
protected |
Radius of the sphere.
|
protected |
(Radius + Max SeparationDistance)^2
|
protected |
The scale of the shape (in shape local space) of the shape we're colliding against.
|
protected |
Sign of the scale of object 2, -1 if object is inside out, 1 if not.
|
protected |
The shape that we're colliding with.
|
protected |
The center of the sphere in the space of 2.
|
protected |
Sub shape ID of colliding shape.
|
protected |
Transform of the shape we're colliding against.