Navigation
API > API/Runtime > API/Runtime/Chaos
| Name | FGeometryCollectionConvexUtility |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/GeometryCollection/GeometryCollectionConvexUtility.h |
| Include Path | #include "GeometryCollection/GeometryCollectionConvexUtility.h" |
Syntax
class FGeometryCollectionConvexUtility
Structs
| Name | Remarks |
|---|---|
| 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 | |
| FSphereCoveringInfo | Computed sphere covering, and optional associated transform/bone. |
| FTransformedConvex |
Functions
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static 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?) | GeometryCollection/GeometryCollectionConvexUtility.h | |
static 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 | GeometryCollection/GeometryCollectionConvexUtility.h | |
static void ConvertInstancedImplicitToConvexArray
(
const Chaos::FImplicitObject& Implicit, |
GeometryCollection/GeometryCollectionConvexUtility.h | ||
static void ConvertScaledImplicitToConvexArray
(
const Chaos::FImplicitObject& Implicit, |
GeometryCollection/GeometryCollectionConvexUtility.h | ||
static void CopyChildConvexes
(
const FGeometryCollection* FromCollection, |
Copy convex hulls from below FromTransformIdx over to all live at ToTransformIdx. | GeometryCollection/GeometryCollectionConvexUtility.h | |
static bool CopyConvexHulls
(
FManagedArrayCollection& Collection, |
Copy convex hulls on the specified transforms from a source collection to the collection | GeometryCollection/GeometryCollectionConvexUtility.h | |
static void CreateConvexHullAttributesIfNeeded
(
FManagedArrayCollection& GeometryCollection |
GeometryCollection/GeometryCollectionConvexUtility.h | ||
static 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) | GeometryCollection/GeometryCollectionConvexUtility.h | |
static TUniquePtr< Chaos::FConvex > FindConvexHull
(
const FGeometryCollection* GeometryCollection, |
GeometryCollection/GeometryCollectionConvexUtility.h | ||
static void GenerateClusterConvexHullsFromChildrenHulls
(
FGeometryCollection& Collection, |
GeometryCollection/GeometryCollectionConvexUtility.h | ||
static void GenerateClusterConvexHullsFromChildrenHulls
(
FGeometryCollection& Collection, |
GeometryCollection/GeometryCollectionConvexUtility.h | ||
static void GenerateClusterConvexHullsFromLeafHulls
(
FGeometryCollection& Collection, |
GeometryCollection/GeometryCollectionConvexUtility.h | ||
static void GenerateClusterConvexHullsFromLeafHulls
(
FGeometryCollection& Collection, |
GeometryCollection/GeometryCollectionConvexUtility.h | ||
static void GenerateClusterConvexHullsFromLeafOrChildrenHullsInternal
(
FGeometryCollection& Collection, |
Implementation for GenerateClusterConvexHullsFromLeafHulls, supporting the full-collection and subset cases. | GeometryCollection/GeometryCollectionConvexUtility.h | |
static void GenerateLeafConvexHulls
(
FGeometryCollection& Collection, |
GeometryCollection/GeometryCollectionConvexUtility.h | ||
static Chaos::FConvexPtr GetConvexHull
(
const FGeometryCollection* GeometryCollection, |
Returns the convex hull of the vertices contained in the specified geometry. | GeometryCollection/GeometryCollectionConvexUtility.h | |
static TOptional< FGeometryCollectionConvexData > GetConvexHullDataIfPresent
(
FManagedArrayCollection* GeometryCollection |
Get convex hull data for the Geometry Collection if it is present | GeometryCollection/GeometryCollectionConvexUtility.h | |
static TManagedArray< int32 > * GetCustomConvexFlags
(
FGeometryCollection* GeometryCollection, |
Get the HasCustomConvex flags. | GeometryCollection/GeometryCollectionConvexUtility.h | |
static 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. | GeometryCollection/GeometryCollectionConvexUtility.h | |
static bool HasConvexHullData
(
const FManagedArrayCollection* GeometryCollection |
GeometryCollection/GeometryCollectionConvexUtility.h | ||
static void MergeHullsOnTransforms
(
FManagedArrayCollection& Collection, |
Merge convex hulls that are currently on each (selected) transform. | GeometryCollection/GeometryCollectionConvexUtility.h | |
static void RemoveConvexHulls
(
FManagedArrayCollection* GeometryCollection, |
Delete the convex hulls pointed at by the transform indices provided. | GeometryCollection/GeometryCollectionConvexUtility.h | |
static void RemoveEmptyConvexHulls
(
FManagedArrayCollection& GeometryCollection |
Delete the convex hulls that are null | GeometryCollection/GeometryCollectionConvexUtility.h | |
static void SetDefaults
(
FGeometryCollection* GeometryCollection, |
Set default values for convex hull related managed arrays. | GeometryCollection/GeometryCollectionConvexUtility.h | |
static 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) | GeometryCollection/GeometryCollectionConvexUtility.h | |
static bool ValidateConvexData
(
const FManagedArrayCollection* GeometryCollection |
GeometryCollection/GeometryCollectionConvexUtility.h |