FScopedMovementUpdate

Inheritance Hierarchy

FNoncopyable

FScopedMovementUpdate

Syntax

class FScopedMovementUpdate : private FNoncopyable

Remarks

FScopedMovementUpdate creates a new movement scope, within which propagation of moves may be deferred until the end of the outermost scope that does not defer updates. Moves within this scope will avoid updates such as UpdateBounds(), OnUpdateTransform(), UpdatePhysicsVolume(), UpdateChildTransforms() etc until the move is committed (which happens when the last deferred scope goes out of context).

Note that non-deferred scopes are not allowed within outer scopes that defer updates, and any attempt to use one will change the inner scope to use deferred updates.

Constructors

Name Description

Public function

FScopedMovementUpdate

(
    USceneComponent * Component,
    EScopedUpdate::Type ScopeBehavior
)

Destructors

Name Description

Public function

~FScopedMovementUpdate()

Functions

Name Description

Public function

void

 

AppendBlockingHitAfterMove

(
    const FHitResult & Hit
)

Add blocking hit that will get processed once the move is committed.

Public function

void

 

AppendOverlapsAfterMove

(
    const TArray < FOverlapInfo >& NewP...,
    bool bSweep,
    bool bIncludesOverlapsAtEnd
)

--------------------------------------------------------------------------------------------------// These methods are intended only to be used by SceneComponent and derived classes.

Public function

void

 

ForceOverlapUpdate()

Force full overlap update once this scope finishes.

Public function

const FScope ...

 

GetOuterDeferredScope()

FScopedMovementUpdate inlines.

Public function

const TBlock ...

 

GetPendingBlockingHits()

Returns the list of pending blocking hits, which will be used for notifications once the move is committed.

Public function

const TArray ...

 

GetPendingOverlaps()

Returns the pending overlaps within this scope.

Public function

bool

 

HasMoved

(
    EHasMovedTransformOption CheckTrans...
)

Returns whether movement has occurred at all during this scope, optionally checking if the transform is different (since changing scale does not go through a move).

Public function

bool

 

HasPendingOverlaps()

Returns true if there are pending overlaps queued in this scope.

Public function

void

 

InvalidateCurrentOverlaps()

Clear overlap state at current location, we don't know what it is.

Public function

bool

 

IsDeferringUpdates()

Return true if deferring updates, false if updates are applied immediately.

Public function

bool

 

IsTransformDirty()

Returns true if the Component's transform differs from that at the start of the scoped update.

Public function

void

 

KeepCurrentOverlapsAfterRotation

(
    bool bSweep
)

Keep current pending overlaps after a move but make note that there was movement (just a symmetric rotation).

Public function

void

 

RevertMove()

Revert movement to the initial location of the Component at the start of the scoped update.

Enums

Typedefs

Name

Description

TBlockingHitArray

References

Module

Engine

Header

Runtime/Engine/Classes/Components/SceneComponent.h