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

Collision detection helper that collides soft body vertices vs triangles. More...

#include <CollideSoftBodyVerticesVsTriangles.h>

Public Member Functions

 CollideSoftBodyVerticesVsTriangles (Mat44Arg inCenterOfMassTransform, Vec3Arg inScale)
 
JPH_INLINE void StartVertex (const CollideSoftBodyVertexIterator &inVertex)
 
JPH_INLINE void ProcessTriangle (Vec3Arg inV0, Vec3Arg inV1, Vec3Arg inV2)
 
JPH_INLINE void FinishVertex (const CollideSoftBodyVertexIterator &ioVertex, int inCollidingShapeIndex) const
 

Public Attributes

Mat44 mTransform
 
Mat44 mInvTransform
 
Vec3 mScale
 
Vec3 mLocalPosition
 
Vec3 mV0
 
Vec3 mV1
 
Vec3 mV2
 
Vec3 mClosestPoint
 
float mNormalSign
 
float mClosestDistanceSq
 
uint32 mSet
 

Static Public Attributes

static float sTriangleThickness = 0.1f
 

Detailed Description

Collision detection helper that collides soft body vertices vs triangles.

Constructor & Destructor Documentation

◆ CollideSoftBodyVerticesVsTriangles()

CollideSoftBodyVerticesVsTriangles::CollideSoftBodyVerticesVsTriangles ( Mat44Arg inCenterOfMassTransform,
Vec3Arg inScale )
inline

Member Function Documentation

◆ FinishVertex()

JPH_INLINE void CollideSoftBodyVerticesVsTriangles::FinishVertex ( const CollideSoftBodyVertexIterator & ioVertex,
int inCollidingShapeIndex ) const
inline

◆ ProcessTriangle()

JPH_INLINE void CollideSoftBodyVerticesVsTriangles::ProcessTriangle ( Vec3Arg inV0,
Vec3Arg inV1,
Vec3Arg inV2 )
inline

◆ StartVertex()

JPH_INLINE void CollideSoftBodyVerticesVsTriangles::StartVertex ( const CollideSoftBodyVertexIterator & inVertex)
inline

Member Data Documentation

◆ mClosestDistanceSq

float CollideSoftBodyVerticesVsTriangles::mClosestDistanceSq

◆ mClosestPoint

Vec3 CollideSoftBodyVerticesVsTriangles::mClosestPoint

◆ mInvTransform

Mat44 CollideSoftBodyVerticesVsTriangles::mInvTransform

◆ mLocalPosition

Vec3 CollideSoftBodyVerticesVsTriangles::mLocalPosition

◆ mNormalSign

float CollideSoftBodyVerticesVsTriangles::mNormalSign

◆ mScale

Vec3 CollideSoftBodyVerticesVsTriangles::mScale

◆ mSet

uint32 CollideSoftBodyVerticesVsTriangles::mSet

◆ mTransform

Mat44 CollideSoftBodyVerticesVsTriangles::mTransform

◆ mV0

Vec3 CollideSoftBodyVerticesVsTriangles::mV0

◆ mV1

Vec3 CollideSoftBodyVerticesVsTriangles::mV1

◆ mV2

Vec3 CollideSoftBodyVerticesVsTriangles::mV2

◆ sTriangleThickness

float CollideSoftBodyVerticesVsTriangles::sTriangleThickness = 0.1f
inlinestatic

Triangles are considered to have some thickness. This thickness extends backwards along the negative triangle normal. Make this value smaller than the smallest 'wall thickness' so that the back side of the triangle doesn't protrude through the other side. Make this value too small and tunneling is more likely to occur.


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