Navigation
Unreal Engine C++ API Reference > Runtime > Chaos > Chaos
Inheritance Hierarchy
- FImplicitObject
- FBoxFloat3
- FConvex
- FCylinder
- FHeightField
- FImplicitObjectUnion
- FImplicitObjectUnionClustered
- FLevelSet
- FTaperedCapsule
- FTaperedCylinder
- FTriangleMeshImplicitObject
- FWeightedLatticeBoneProxy
- FWeightedLatticeImplicitObject
- TWeightedLatticeImplicitObject
- TImplicitObjectIntersection
- TImplicitObjectTransformed
- TPlane
- TSphere
References
Module | Chaos |
Header | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/ImplicitObject.h |
Include | #include "Chaos/ImplicitObject.h" |
Syntax
class FImplicitObject
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
bool | bDoCollide | |
![]() |
bool | bHasBoundingBox | |
![]() |
bool | bIsConvex | |
![]() |
bool | bIsTracked | |
![]() |
EImplicitObjectType | CollisionType | |
![]() |
FReal | Margin | Note: if you change the size of FImplicitObject or add fields, you will likely need to update the calculation of PadBytes below. |
![]() |
EImplicitObjectType | Type |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
FImplicitObject
(
const FImplicitObject& |
||
![]() |
|||
![]() |
FImplicitObject
(
int32 Flags, |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
void | AccumulateAllImplicitObjects
(
TArray< Pair< const FImplicitObject*, FRigidTransform3 >>& Out, |
|
![]() ![]() ![]() |
void | AccumulateAllSerializableImplicitObjects
(
TArray< Pair< TSerializablePtr< FImplicitObject >, FRigidTransform3 >>& Out, |
|
![]() |
TargetType * | AsA () |
|
![]() ![]() |
const TargetType * | AsA () |
Dynamic cast to type T_DERIVED. Returns null if T_DERIVED is not a valid cast for this object. |
![]() |
TargetType * | AsAChecked () |
|
![]() ![]() |
const TargetType * | AsAChecked () |
|
![]() ![]() ![]() |
const FAABB3 | BoundingBox () |
|
![]() ![]() ![]() |
FAABB3 | CalculateTransformedBounds
(
const FRigidTransform3& Transform |
Calculate the tight-fitting world-space bounding box. |
![]() ![]() ![]() |
TUniquePtr< FImplicitObject > | Copy () |
|
![]() ![]() ![]() |
TUniquePtr< FImplicitObject > | CopyWithScale
(
const FVec3& Scale |
|
![]() ![]() ![]() |
TUniquePtr< FImplicitObject > | DeepCopy () |
|
![]() ![]() ![]() |
TUniquePtr< FImplicitObject > | DeepCopyWithScale
(
const FVec3& Scale |
|
![]() ![]() ![]() |
FImplicitObject * | Duplicate () |
Not all implicit objects can be duplicated, up to user code to use this in cases that make sense. |
![]() ![]() ![]() |
void | FindAllIntersectingObjects
(
TArray< Pair< const FImplicitObject*, FRigidTransform3 >>& Out, |
|
![]() ![]() ![]() |
int32 | FindClosestFaceAndVertices
(
const FVec3& Position, |
Finds the first intersecting face at given position |
![]() ![]() |
Pair< FVec3, bool > | FindClosestIntersection
(
const FVec3& StartPoint, |
|
![]() ![]() |
Pair< FVec3, bool > | FindDeepestIntersection
(
const FImplicitObject* Other, |
|
![]() ![]() |
Pair< FVec3, bool > | FindDeepestIntersection
(
const FImplicitObject* Other, |
|
![]() ![]() ![]() |
FVec3 | FindGeometryOpposingNormal
(
const FVec3& DenormDir, |
Given a normal and a face index, compute the most opposing normal associated with the underlying geometry features. |
![]() ![]() ![]() |
int32 | FindMostOpposingFace
(
const FVec3& Position, |
Returns the most opposing face. |
![]() ![]() ![]() |
int32 | FindMostOpposingFaceScaled
(
const FVec3& Position, |
|
![]() ![]() |
EImplicitObjectType | ||
![]() ![]() |
bool | GetDoCollide () |
|
![]() ![]() |
FVec3 | GetInnerUnscaledNormal
(
const FVec3& OuterNormal, |
Convert a normal in the outer scaled object space into a normal in the inner unscaled object space. |
![]() ![]() |
FReal | GetMargin () |
|
![]() ![]() ![]() |
uint16 | GetMaterialIndex
(
uint32 HintIndex |
|
![]() ![]() ![]() |
EImplicitObjectType | ||
![]() |
T_DERIVED * | GetObject () |
|
![]() ![]() |
const T_DERIVED * | GetObject () |
|
![]() ![]() |
const T_DERIVED & | ||
![]() |
T_DERIVED & | ||
![]() ![]() |
int32 | ||
![]() ![]() |
int32 | ||
![]() ![]() |
FVec3 | GetOuterScaledNormal
(
const FVec3& InnerNormal, |
Convert a normal in the inner unscaled object space into a normal in the outer scaled object space. |
![]() ![]() |
EImplicitObjectType | GetType () |
|
![]() ![]() |
uint32 | GetTypeHash () |
|
![]() ![]() |
const FName | GetTypeName
(
const EImplicitObjectType InType |
|
![]() ![]() ![]() |
FName | GetTypeName () |
|
![]() ![]() |
bool | ||
![]() ![]() |
bool | IsA () |
Can this object be cast to type T_DERIVED? |
![]() ![]() |
bool | IsConvex () |
|
![]() ![]() |
bool | IsOverlappingBounds
(
const FAABB3& LocalBounds |
Whether this implicit (possibly a hierarchy) overlaps the bounds. |
![]() ![]() ![]() |
bool | IsOverlappingBoundsImpl
(
const FAABB3& LocalBounds |
This should not be public, but it needs to be callable by derived classes on another instance. |
![]() ![]() ![]() |
bool | ||
![]() ![]() |
bool | This is strictly used for optimization purposes. | |
![]() ![]() ![]() |
bool | ||
![]() ![]() |
FVec3 | Explicitly non-virtual. Must cast to derived types to target their implementation. | |
![]() ![]() ![]() |
bool | This gives derived types a way to do an overlap check without calling PhiWithNormal todo: this api is confusing. | |
![]() ![]() |
FString | ||
![]() ![]() |
FReal | PhiWithNormal
(
const FVec3& x, |
Find the closest point on the surface, and return the separating distance and axis. |
![]() ![]() ![]() |
FReal | PhiWithNormalScaled
(
const FVec3& Pos, |
Find the closest point on the surface, and return the separating distance and axis. |
![]() ![]() ![]() |
bool | This gives derived types a way to avoid calling PhiWithNormal todo: this api is confusing. | |
![]() ![]() |
FVec3 | ScaleNormalizedHelper
(
const FVec3& Normal, |
Safely scale a normalized Vec3 - used with both scale and inverse scale. |
![]() ![]() |
FImplicitObject * | SerializationFactory
(
FChaosArchive& Ar, |
|
![]() ![]() |
void | Serialize
(
FChaosArchive& Ar |
|
![]() ![]() |
void | ||
![]() |
void | SerializeImp
(
FArchive& Ar |
|
![]() ![]() |
FArchive & | SerializeLegacyHelper
(
FArchive& Ar, |
|
![]() |
void | SetCollisionType
(
EImplicitObjectType InCollisionType |
|
![]() |
void | SetConvex
(
const bool Convex |
|
![]() |
void | SetDoCollide
(
const bool Collide |
|
![]() |
void | Not all derived types support a margin, and for some it represents some other property (the radius of a sphere for example), so the setter should only be exposed in a derived class if at all (and it may want to change the size of the core shape as well) | |
![]() ![]() |
FReal | SignedDistance
(
const FVec3& x |
Explicitly non-virtual. Must cast to derived types to target their implementation. |
![]() ![]() |
constexpr EImplicitObjectType | StaticType () |
|
![]() ![]() ![]() |
FString | ToString () |
|
![]() |
void | Track
(
TSerializablePtr< FImplicitObject > This, |
Turn on memory tracking. Must pass object itself as a serializable ptr so we can save it out. |
![]() ![]() |
void | VisitLeafObjects
(
const FImplicitHierarchyVisitor& Visitor |
Visit all the leaf objects in the hierarchy |
![]() ![]() ![]() |
void | VisitLeafObjectsImpl
(
const FRigidTransform3& ObjectTransform, |
This should not be public, but it needs to be callable by derived classes on another instance. |
![]() ![]() |
void | VisitObjects
(
const FImplicitHierarchyVisitorBool& Visitor |
Visit all the objects in the hierarchy, including inner nodes like Union and Transform |
![]() ![]() ![]() |
bool | VisitObjectsImpl
(
const FRigidTransform3& ObjectTransform, |
This should not be public, but it needs to be callable by derived classes on another instance. |
![]() ![]() |
void | VisitOverlappingLeafObjects
(
const FAABB3& LocalBounds, |
Visit all the leaf objects in the hierarchy that overlap the specified local-space bounds. |
![]() ![]() ![]() |
void | VisitOverlappingLeafObjectsImpl
(
const FAABB3& LocalBounds, |
This should not be public, but it needs to be callable by derived classes on another instance. |
Typedefs
Name | Description |
---|---|
TType |
Constants
Name | Description |
---|---|
D |