Navigation
API > API/Runtime > API/Runtime/Chaos
The convex optimizer goal is to have a central place where implicits hierarchy could be modified in order to accelerate collision detection.
| Name | FConvexOptimizer |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/ConvexOptimizer.h |
| Include Path | #include "Chaos/ConvexOptimizer.h" |
Syntax
class FConvexOptimizer
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FConvexOptimizer() |
Chaos/ConvexOptimizer.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FConvexOptimizer() |
Default destructor. | Chaos/ConvexOptimizer.h |
Structs
| Name | Remarks |
|---|---|
| FTriboxNode |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FTriboxNodes | TMap< FImplicitObject *, FTriboxNode > | Chaos/ConvexOptimizer.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| BVH | TUniquePtr< Private::FImplicitBVH > | BVH used to accelerate the collisions queries. | Chaos/ConvexOptimizer.h | |
| CollisionObjects | TUniquePtr< Private::FCollisionObjects > | List of all the collision objects to avoid traversing all the hierarchy during midphase. | Chaos/ConvexOptimizer.h | |
| MainTribox | FTriboxNode | Main tribox built from all the convexes. | Chaos/ConvexOptimizer.h | |
| NextConvexId | int32 | Leaf offset to have a unique id for the midphase. | Chaos/ConvexOptimizer.h | |
| RootTriboxes | FTriboxNodes | Intermediate root triboxes to reuse the intermediate computation. | Chaos/ConvexOptimizer.h | |
| ShapesArray | FShapeInstanceArray | Additional shapes array that could be used during collision midphase. | Chaos/ConvexOptimizer.h | |
| SimplifiedConvexes | TArray< FImplicitObjectPtr > | List of simplified convexes. | Chaos/ConvexOptimizer.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const FShapeInstanceArray & GetShapeInstances() |
Get the shapes array. | Chaos/ConvexOptimizer.h | |
bool IsValid() |
Check if the manager is valid or not. | Chaos/ConvexOptimizer.h | |
int32 NumCollisionObjects() |
Get the number of collision objects. | Chaos/ConvexOptimizer.h | |
void SimplifyRootConvexes
(
const Chaos::FImplicitObjectUnionPtr& UnionGeometry, |
Simplify all the convexes in the hierarchy. | Chaos/ConvexOptimizer.h | |
void VisitCollisionObjects
(
const FImplicitHierarchyVisitor& VisitorFunc |
Visit all the collision objects if they exist / otherwise forward it to the RootHierarchy. | Chaos/ConvexOptimizer.h | |
void VisitOverlappingObjects
(
const FAABB3& LocalBounds, |
Visit all the overlapping objects if they exist / otherwise forward it to the RootHierarchy. | Chaos/ConvexOptimizer.h |