Navigation
API > API/Runtime > API/Runtime/Chaos
Holds the contacts produced when colliding a convex shape against a non-convex triangular mesh, and provides methods to reduce the total set of contact points down to a minimum manifold.
| Name | FContactTriangleCollector |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/Collision/ContactTriangles.h |
| Include Path | #include "Chaos/Collision/ContactTriangles.h" |
Syntax
class FContactTriangleCollector
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FContactTriangleCollector
(
const bool bInOneSided, |
Chaos/Collision/ContactTriangles.h | ||
FContactTriangleCollector
(
const bool bInOneSided, |
Chaos/Collision/ContactTriangles.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bOneSidedCollision | bool | Whether we want single-sided collision and therefore reject all normal opposing the triangle faces. | Chaos/Collision/ContactTriangles.h | |
| ContactEdges | TSet< FContactEdgeID > | A list of all the edges of contacts with faces. Used to prune edge contacts. | Chaos/Collision/ContactTriangles.h | |
| ContactTriangles | TArray< FContactTriangle > | All the triangles referenced by the TriangleContactPoints. | Chaos/Collision/ContactTriangles.h | |
| ContactVertices | TSet< FContactVertexID > | A list of all the vertices of contacts with faces and edges. Used to prune vertex contacts. | Chaos/Collision/ContactTriangles.h | |
| ConvexTransform | FRigidTransform3 | Local space for the triangles | Chaos/Collision/ContactTriangles.h | |
| DistanceTolerance | FReal | We remove contacts that are closer than this to any other contact (negative to disable this functionality) | Chaos/Collision/ContactTriangles.h | |
| NumDisabledTriangleContactPoints | int32 | How many disabled contacts are in the TriangleContactPoints and TriangleContactPointDatas arrays (until the next Pack operation) | Chaos/Collision/ContactTriangles.h | |
| PhiTolerance | FReal | We remove contacts that are shallower by this much compared to the deepest contact. | Chaos/Collision/ContactTriangles.h | |
| TriangleContactPointDatas | TArray< FTriangleContactPointData > | Chaos/Collision/ContactTriangles.h | ||
| TriangleContactPoints | TArray< FContactPoint > | The collected set of contacts with additional triangle information. | Chaos/Collision/ContactTriangles.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddTriangleContacts
(
const TArrayView< const FContactPoint >& InContactPoints, |
Add contacts between the convex and a single triangle for later processing. | Chaos/Collision/ContactTriangles.h | |
TArrayView< const FContactPoint > GetContactPoints() |
Chaos/Collision/ContactTriangles.h | ||
void ProcessContacts
(
const FRigidTransform3& MeshToConvexTransform |
To be called when all contacts have been added. Reduces the set of contacts to a minimum and transforms data into shape space. | Chaos/Collision/ContactTriangles.h |