FImplicitObject

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Chaos

Header

/Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/ImplicitObject.h

Include

#include "Chaos/ImplicitObject.h"

Syntax

class FImplicitObject

Variables

Name Description

Protected variable

bool

 

bDoCollide

Protected variable

bool

 

bHasBoundingBox

Protected variable

bool

 

bIsConvex

Protected variable

bool

 

bIsTracked

Protected variable

EImplicitObject ...

 

CollisionType

Protected variable

EImplicitObject ...

 

Type

Constructors

Name Description

Public function

FImplicitObject

(
    const FImplicitObject &
)

Public function

FImplicitObject

(
    FImplicitObject &&
)

Public function

FImplicitObject

(
    int32 Flags,
    EImplicitObjectType InType
)

Destructors

Name Description

Public function Virtual

~FImplicitObject()

Functions

Name Description

Public function Virtual Const

void

 

AccumulateAllImplicitObjects

(
    TArray < Pair < const FImplicitObject ...,
    const FRigidTransform3 & ParentTM
)

Public function Virtual Const

void

 

AccumulateAllSerializableImplicitObjects

(
    TArray < Pair < TSerializablePtr < FIm ...,
    const FRigidTransform3 & ParentTM,
    TSerializablePtr < FImplicitObject >...
)

Public function Virtual Const

const TAABB <...

 

BoundingBox()

Public function Virtual Const

TUniquePtr < ...

 

Copy()

Public function Virtual Const

TUniquePtr < ...

 

DeepCopy()

Public function Virtual Const

void

 

FindAllIntersectingObjects

(
    TArray < Pair < const FImplicitObject ...,
    const TAABB < FReal , 3 >& LocalBoun...
)

Public function Virtual Const

int32

 

FindClosestFaceAndVertices

(
    const FVec3 & Position,
    TArray < FVec3 >& FaceVertices,
    FReal SearchDist
)

Finds the first intersecting face at given position

Public function Const

Pair < FVec3 ,...

 

FindClosestIntersection

(
    const FVec3 & StartPoint,
    const FVec3 & EndPoint,
    const FReal Thickness
)

Public function Const

Pair < FVec3 ,...

 

FindDeepestIntersection

(
    const FImplicitObject * Other,
    const TParticles < FReal , 3 >* ...,
    const FMatrix33 & OtherToLocalTrans...,
    const FReal Thickness
)

Public function Const

Pair < FVec3 ,...

 

FindDeepestIntersection

(
    const FImplicitObject * Other,
    const TBVHParticles < FReal , 3 >...,
    const FMatrix33 & OtherToLocalTrans...,
    const FReal Thickness
)

Public function Virtual Const

FVec3

 

FindGeometryOpposingNormal

(
    const FVec3 & DenormDir,
    int32 FaceIndex,
    const FVec3 & OriginalNormal
)

Given a normal and a face index, compute the most opposing normal associated with the underlying geometry features.

Public function Virtual Const

int32

 

FindMostOpposingFace

(
    const FVec3 & Position,
    const FVec3 & UnitDir,
    int32 HintFaceIndex,
    FReal SearchDist
)

Returns the most opposing face.

Public function Const

EImplicitObj ...

 

GetCollisionType()

Public function Const

bool

 

GetDoCollide()

Public function Virtual Const

uint16

 

GetMaterialIndex

(
    uint32 HintIndex
)

Public function

T_DERIVED &#...

 

GetObject()

Public function Const

const T_DERI...

 

GetObject()

Public function

T_DERIVED &

 

GetObjectChecked()

Public function Const

const T_DERI...

 

GetObjectChecked()

Public function Const

EImplicitObj ...

 

GetType()

Public function Const

uint32

 

GetTypeHash()

Public function Static

const FName

 

GetTypeName

(
    const EImplicitObjectType InType
)

Public function Virtual Const

FName

 

GetTypeName()

Public function Const

bool

 

HasBoundingBox()

Public function Const

bool

 

IsConvex()

Public function Virtual Const

bool

 

IsPerformanceWarning()

Public function Const

bool

 

IsUnderlyingUnion()

This is strictly used for optimization purposes.

Public function Virtual Const

bool

 

IsValidGeometry()

Public function Const

FVec3

 

Normal

(
    const FVec3 & x
)

Explicitly non-virtual. Must cast to derived types to target their implementation.

Public function Virtual Const

bool

 

Overlap

(
    const FVec3 & Point,
    const FReal Thickness
)

This gives derived types a way to do an overlap check without calling PhiWithNormal todo: this api is confusing.

Public function Virtual

FString

 

PerformanceWarningAndSimplifaction()

Public function Const

FReal

 

PhiWithNormal

(
    const FVec3 & x,
    FVec3 & Normal
)

Public function Virtual Const

bool

 

Raycast

(
    const FVec3 & StartPoint,
    const FVec3 & Dir,
    const FReal Length,
    const FReal Thickness,
    FReal & OutTime,
    FVec3 & OutPosition,
    FVec3 & OutNormal,
    int32 & OutFaceIndex
)

This gives derived types a way to avoid calling PhiWithNormal todo: this api is confusing.

Public function Static

FImplicitObj ...

 

SerializationFactory

(
    FChaosArchive & Ar,
    FImplicitObject * Obj
)

Public function Virtual

void

 

Serialize

(
    FArchive & Ar
)

Public function Virtual

void

 

Serialize

(
    FChaosArchive & Ar
)

Public function

void

 

SerializeImp

(
    FArchive & Ar
)

Public function Static

FArchive &

 

SerializeLegacyHelper

(
    FArchive & Ar,
    TUniquePtr < FImplicitObject >& Val...
)

Public function

void

 

SetCollsionType

(
    EImplicitObjectType InCollsiionType
)

Public function

void

 

SetConvex

(
    const bool Convex
)

Public function

void

 

SetDoCollide

(
    const bool Collide
)

Public function Const

FReal

 

SignedDistance

(
    const FVec3 & x
)

Explicitly non-virtual. Must cast to derived types to target their implementation.

Public function Static

constexpr EI ...

 

StaticType()

Public function Virtual Const

FString

 

ToString()

Public function

void

 

Track

(
    TSerializablePtr < FImplicitObject >...,
    const FString & DebugInfo
)

Turn on memory tracking. Must pass object itself as a serializable ptr so we can save it out.

Typedefs

Name

Description

TType

Constants

Name

Description

D

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback