Navigation
API > API/Runtime > API/Runtime/Chaos
| Name | FImplicitObjectUnion |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/ImplicitObjectUnion.h |
| Include Path | #include "Chaos/ImplicitObjectUnion.h" |
Syntax
class FImplicitObjectUnion : public Chaos::FImplicitObject
Inheritance Hierarchy
- FChaosRefCountedObject → FImplicitObject → FImplicitObjectUnion
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Needed for serialization. | Chaos/ImplicitObjectUnion.h | ||
FImplicitObjectUnion
(
TArray< TUniquePtr< FImplicitObject > >&& Objects |
Chaos/ImplicitObjectUnion.h | ||
FImplicitObjectUnion
(
TArray< Chaos::FImplicitObjectPtr >&& Objects |
Chaos/ImplicitObjectUnion.h | ||
FImplicitObjectUnion
(
const FImplicitObjectUnion& Other |
Chaos/ImplicitObjectUnion.h | ||
FImplicitObjectUnion
(
FImplicitObjectUnion&& Other |
Chaos/ImplicitObjectUnion.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FImplicitObjectUnion() |
Chaos/ImplicitObjectUnion.h |
Classes
| Name | Remarks |
|---|---|
| FFLags |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void CacheAllImplicitObjects() |
Chaos/ImplicitObjectUnion.h | ||
| Chaos/ImplicitObjectUnion.h | |||
void Combine
(
TArray< TUniquePtr< FImplicitObject > >& Objects |
Chaos/ImplicitObjectUnion.h | ||
void ForEachObject
(
TFunctionRef< bool(const FImplicitObject&, const FRigidTransform3&)> Lambda |
The lambda returns TRUE if an object was found and iteration should stop. | Chaos/ImplicitObjectUnion.h | |
const Private::FImplicitBVH * GetBVH() |
Chaos/ImplicitObjectUnion.h | ||
int32 GetNumLeafObjects() |
The total number of leaf objects in the hierarchy. | Chaos/ImplicitObjectUnion.h | |
int32 GetNumRootObjects() |
The total number of root objects in the hierarchy (same as GetObjects().Num()) | Chaos/ImplicitObjectUnion.h | |
TArray< Chaos::FImplicitObjectPtr > & GetObjects () |
Return the const list of objects that will be part of the union. | Chaos/ImplicitObjectUnion.h | |
const TArray< Chaos::FImplicitObjectPtr > & GetObjects () |
Return the list of objects that will be part of the union. | Chaos/ImplicitObjectUnion.h | |
bool IsLocked() |
Chaos/ImplicitObjectUnion.h | ||
void RemoveAt
(
int32 RemoveIndex |
Chaos/ImplicitObjectUnion.h | ||
void RemoveAtSortedIndices
(
const TArrayView< const int32 >& InIndices |
Chaos/ImplicitObjectUnion.h | ||
void SetAllowBVH
(
const bool bInAllowBVH |
Enable BVH suport for this Union. This should only be done for the root Union in a hierarchy. | Chaos/ImplicitObjectUnion.h | |
void SetLocked
(
const bool bInLocked |
Recurively locked the union. Once locked, it is an error to make a change to the Union or any children. | Chaos/ImplicitObjectUnion.h | |
void SetLockedRecursive
(
const bool bInLocked |
Chaos/ImplicitObjectUnion.h |
Overridden from FImplicitObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AccumulateAllImplicitObjects
(
TArray< Pair< const FImplicitObject*, FRigidTransform3 > >& Out, |
Chaos/ImplicitObjectUnion.h | ||
virtual const FAABB3 BoundingBox() |
Chaos/ImplicitObjectUnion.h | ||
virtual Chaos::FImplicitObjectPtr CopyGeometry() |
Chaos/ImplicitObjectUnion.h | ||
virtual Chaos::FImplicitObjectPtr CopyGeometryWithScale
(
const FVec3& Scale |
Chaos/ImplicitObjectUnion.h | ||
virtual Chaos::FImplicitObjectPtr DeepCopyGeometry() |
Chaos/ImplicitObjectUnion.h | ||
virtual Chaos::FImplicitObjectPtr DeepCopyGeometryWithScale
(
const FVec3& Scale |
Chaos/ImplicitObjectUnion.h | ||
virtual void FindAllIntersectingObjects
(
TArray< Pair< const FImplicitObject*, FRigidTransform3 > >& Out, |
Chaos/ImplicitObjectUnion.h | ||
virtual uint32 GetTypeHash() |
Chaos/ImplicitObjectUnion.h | ||
virtual FName GetTypeName () |
Chaos/ImplicitObjectUnion.h | ||
virtual bool IsValidGeometry() |
Chaos/ImplicitObjectUnion.h | ||
virtual bool Overlap
(
const FVec3& Point, |
This gives derived types a way to do an overlap check without calling PhiWithNormal todo: this api is confusing. | Chaos/ImplicitObjectUnion.h | |
virtual FReal PhiWithNormal
(
const FVec3& x, |
Find the closest point on the surface, and return the separating distance and axis. | Chaos/ImplicitObjectUnion.h | |
virtual bool Raycast
(
const FVec3& StartPoint, |
This gives derived types a way to avoid calling PhiWithNormal todo: this api is confusing. | Chaos/ImplicitObjectUnion.h | |
virtual void Serialize
(
FChaosArchive& Ar |
Chaos/ImplicitObjectUnion.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void CheckNotLocked() |
Log an error we try to modify a union after it has been shared. | Chaos/ImplicitObjectUnion.h | |
void CreateBVH() |
Chaos/ImplicitObjectUnion.h | ||
void DestroyBVH() |
Chaos/ImplicitObjectUnion.h | ||
bool HasValidBVH() |
Check if the BVH could be used and valid. | Chaos/ImplicitObjectUnion.h | |
void LegacySerializeBVH
(
FChaosArchive& Ar |
Chaos/ImplicitObjectUnion.h | ||
void RebuildBVH() |
Chaos/ImplicitObjectUnion.h | ||
void SetNumLeafObjects
(
const int32 InNumLeafObjects |
Chaos/ImplicitObjectUnion.h |
Overridden from FImplicitObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual int32 CountLeafObjectsInHierarchyImpl() |
Chaos/ImplicitObjectUnion.h | ||
virtual int32 CountObjectsInHierarchyImpl() |
This should not be public, but it needs to be callable by derived classes on another instance. | Chaos/ImplicitObjectUnion.h | |
virtual Pair< FVec3, bool > FindClosestIntersectionImp
(
const FVec3& StartPoint, |
Chaos/ImplicitObjectUnion.h | ||
virtual bool IsOverlappingBoundsImpl
(
const FAABB3& LocalBounds |
This should not be public, but it needs to be callable by derived classes on another instance. | Chaos/ImplicitObjectUnion.h | |
virtual void VisitLeafObjectsImpl
(
const FRigidTransform3& ObjectTransform, |
This should not be public, but it needs to be callable by derived classes on another instance. | Chaos/ImplicitObjectUnion.h | |
virtual bool VisitObjectsImpl
(
const FRigidTransform3& ObjectTransform, |
This should not be public, but it needs to be callable by derived classes on another instance. | Chaos/ImplicitObjectUnion.h | |
virtual void VisitOverlappingLeafObjectsImpl
(
const FAABB3& LocalBounds, |
This should not be public, but it needs to be callable by derived classes on another instance. | Chaos/ImplicitObjectUnion.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static const FName GetTypeName
(
const EImplicitObjectType InType |
Chaos/ImplicitObjectUnion.h | ||
static EImplicitObjectType StaticType() |
Chaos/ImplicitObjectUnion.h |