Navigation
API > API/Runtime > API/Runtime/Chaos > API/Runtime/Chaos/GeometryCollection
References
| Module | Chaos |
| Header | /Engine/Source/Runtime/Experimental/Chaos/Public/GeometryCollection/GeometryCollectionConvexUtility.h |
| Include | #include "GeometryCollection/GeometryCollectionConvexUtility.h" |
Syntax
class FGeometryCollectionConvexUtility
Functions
| Type | Name | Description | |
|---|---|---|---|
| UE::GeometryCollectionConvexUtility::FConvexHulls | ComputeLeafHulls
(
FGeometryCollection* GeometryCollection, |
Compute just the hulls of the leaf / rigid nodes that hold geometry directly, with no cluster hulls and no overlap removal by cutting This is an initial step of several algorithms: The CreateNonOverlappingConvexHullData function as well as convex-based proximity detection (TODO: and the auto-embed algorithm?) (TODO: Make auto-embed use this instead of the full hulls?) | |
| void | ConvertImplicitToConvexArray
(
const Chaos::FImplicitObject& InImplicit, |
Generate a list of convex out of a hierarchy of implciit shapes suported shapes are scaled / transformed implicits as well as Boxes, convexes, spheres and capsules levelset, tapered capsule, cylinder, heightfields and trimesh are not supported array will not be erased and convex will be added if any already exists | |
| void | CopyChildConvexes
(
const FGeometryCollection* FromCollection, |
Copy convex hulls from below FromTransformIdx over to all live at ToTransformIdx. | |
| FGeometryCollectionConvexData | CreateNonOverlappingConvexHullData
(
FGeometryCollection* GeometryCollection, |
Create non-overlapping convex hull data for all transforms in the geometry collection (except transforms where it would be better to just use the hulls of the children) | |
| TUniquePtr< Chaos::FConvex > | FindConvexHull
(
const FGeometryCollection* GeometryCollection, |
Returns the convex hull of the vertices contained in the specified geometry. | |
| void | GenerateClusterConvexHullsFromChildrenHulls
(
FGeometryCollection& Collection, |
||
| void | GenerateClusterConvexHullsFromChildrenHulls
(
FGeometryCollection& Collection, |
||
| void | GenerateClusterConvexHullsFromLeafHulls
(
FGeometryCollection& Collection, |
||
| void | GenerateClusterConvexHullsFromLeafHulls
(
FGeometryCollection& Collection, |
||
| void | GenerateLeafConvexHulls
(
FGeometryCollection& Collection, |
||
| TOptional< FGeometryCollectionConvexData > | GetConvexHullDataIfPresent
(
FManagedArrayCollection* GeometryCollection |
Get convex hull data for the Geometry Collection if it is present | |
| TManagedArray< int32 > * | GetCustomConvexFlags
(
FGeometryCollection* GeometryCollection, |
Get the HasCustomConvex flags. | |
| FGeometryCollectionConvexData | GetValidConvexHullData
(
FGeometryCollection* GeometryCollection |
Ensure that convex hull data exists for the Geometry Collection and construct it if not (or if some data is missing. | |
| bool | HasConvexHullData
(
const FManagedArrayCollection* GeometryCollection |
||
| void | MergeHullsOnTransforms
(
FManagedArrayCollection& Collection, |
Merge convex hulls that are currently on each (selected) transform. If convex hulls are not present, does nothing. | |
| void | RemoveConvexHulls
(
FGeometryCollection* GeometryCollection, |
Delete the convex hulls pointed at by the transform indices provided. | |
| void | RemoveEmptyConvexHulls
(
FManagedArrayCollection& GeometryCollection |
Delete the convex hulls that are null | |
| void | SetDefaults
(
FGeometryCollection* GeometryCollection, |
Set default values for convex hull related managed arrays. | |
| void | SetVolumeAttributes
(
FManagedArrayCollection* Collection |
Set Volume and Size attributes on the Collection (will be called by CreateNonOverlappingConvexHullData Volumes must be up to date for convex calc) | |
| bool | ValidateConvexData
(
const FManagedArrayCollection* GeometryCollection |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FClusterConvexHullSettings | |||
| FConvexDecompositionSettings | Settings to control convex decompositions. Note the default values are set to not perform any decomposition. | ||
| FGeometryCollectionConvexData | |||
| FIntersectionFilters | Additional settings for filtering when the EGenerateConvexMethod::IntersectExternalWithComputed is applied. | ||
| FLeafConvexHullSettings | Settings to control how convex hulls are generated for rigid/leaf nodes, from the geometry and/or imported collision shapes. | ||
| FMergeConvexHullSettings | |||
| FTransformedConvex |