Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
CollideSphereVsTriangles Class Reference

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 CollideShapeSettingsmCollideShapeSettings
 Settings for this collision operation. More...
 
CollideShapeCollectormCollector
 The collector that will receive the results. More...
 
const SphereShapemShape1
 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...
 

Detailed Description

Collision detection helper that collides a sphere vs one or more triangles.

Constructor & Destructor Documentation

◆ CollideSphereVsTriangles()

CollideSphereVsTriangles::CollideSphereVsTriangles ( const SphereShape inShape1,
Vec3Arg  inScale1,
Vec3Arg  inScale2,
Mat44Arg  inCenterOfMassTransform1,
Mat44Arg  inCenterOfMassTransform2,
const SubShapeID inSubShapeID1,
const CollideShapeSettings inCollideShapeSettings,
CollideShapeCollector ioCollector 
)

Constructor

Parameters
inShape1The sphere to collide against triangles
inScale1Local space scale for the sphere (scales relative to its center of mass)
inScale2Local space scale for the triangles
inCenterOfMassTransform1Transform that takes the center of mass of 1 into world space
inCenterOfMassTransform2Transform that takes the center of mass of 2 into world space
inSubShapeID1Sub shape ID of the convex object
inCollideShapeSettingsSettings for the collide shape query
ioCollectorThe collector that will receive the results

Member Function Documentation

◆ Collide()

void CollideSphereVsTriangles::Collide ( Vec3Arg  inV0,
Vec3Arg  inV1,
Vec3Arg  inV2,
uint8  inActiveEdges,
const SubShapeID inSubShapeID2 
)

Collide sphere with a single triangle

Parameters
inV0,inV1,inV2CCW triangle vertices
inActiveEdgesbit 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
inSubShapeID2The sub shape ID for the triangle

Member Data Documentation

◆ mCollector

CollideShapeCollector& CollideSphereVsTriangles::mCollector
protected

The collector that will receive the results.

◆ mCollideShapeSettings

const CollideShapeSettings& CollideSphereVsTriangles::mCollideShapeSettings
protected

Settings for this collision operation.

◆ mRadius

float CollideSphereVsTriangles::mRadius
protected

Radius of the sphere.

◆ mRadiusPlusMaxSeparationSq

float CollideSphereVsTriangles::mRadiusPlusMaxSeparationSq
protected

(Radius + Max SeparationDistance)^2

◆ mScale2

Vec3 CollideSphereVsTriangles::mScale2
protected

The scale of the shape (in shape local space) of the shape we're colliding against.

◆ mScaleSign2

float CollideSphereVsTriangles::mScaleSign2
protected

Sign of the scale of object 2, -1 if object is inside out, 1 if not.

◆ mShape1

const SphereShape* CollideSphereVsTriangles::mShape1
protected

The shape that we're colliding with.

◆ mSphereCenterIn2

Vec3 CollideSphereVsTriangles::mSphereCenterIn2
protected

The center of the sphere in the space of 2.

◆ mSubShapeID1

SubShapeID CollideSphereVsTriangles::mSubShapeID1
protected

Sub shape ID of colliding shape.

◆ mTransform2

Mat44 CollideSphereVsTriangles::mTransform2
protected

Transform of the shape we're colliding against.


The documentation for this class was generated from the following files: