Apparatus Version 1.8
ECS data-oriented workflow for Unreal Engine.
Public Member Functions | Protected Member Functions | List of all members
AMechanicalActor Class Reference

The mechanical actor entity. More...

#include <MechanicalActor.h>

Inheritance diagram for AMechanicalActor:
Inheritance graph
[legend]
Collaboration diagram for AMechanicalActor:
Collaboration graph
[legend]

Public Member Functions

 AMechanicalActor ()
 Construct a new mechanism. More...
 
 ~AMechanicalActor ()
 Destroy the mechanism. More...
 
virtual float GetSteadyDeltaTime () const override
 Get the time interval for steady ticking. More...
 
virtual float GetOwnTime () const override
 Get own Mechanical's local life time. More...
 
virtual void Tick (float DeltaTime) override
 
float GetProcessedSteadyTime () const
 Get the time of the last processed steady frame. More...
 
float CalcSteadyFrameRatio () const
 The current ratio within the steady frame. More...
 
int64 GetSteadyFrame () const
 The current steady frame. More...
 
float GetSteadyTime () const
 The total steady time elapsed. More...
 
float CalcSteadyFutureFactor () const
 The current steady future factor. More...
 
- Public Member Functions inherited from IMechanical
UMechanismGetMechanism () const
 Get the mechanism this mechanical is part of. More...
 
FSubjectHandle SpawnSubject ()
 Spawn a new subject, returning its handle. More...
 
template<typename ChainT = TChain<TChunkIt<FSubjectHandle>, TBeltIt<FSubjectHandle>>>
ChainT * Enchain (const FFilter &InFilter) const
 Enchain iterables using the supplied filter. More...
 
TChain< TChunkIt< FSolidSubjectHandle >, TBeltIt< FSolidSubjectHandle > > * EnchainSolid (const FFilter &InFilter) const
 Solid-enchain iterables using the supplied filter. More...
 
void ReceiveBoot ()
 Process newly created subjects. More...
 
void ReceiveInputTick ()
 Process a pre-steady input tick. More...
 
void ReceiveSteadyTick (float DeltaSeconds)
 Process a fixed-rate steady tick. More...
 
void ReceivePresentationTick (float DeltaSeconds, float FrameRatio, float FutureFactor)
 Process a past-steady presentation tick. More...
 
virtual void Boot ()
 Process newly created subjects. More...
 
virtual void InputTick ()
 Process a pre-steady input tick. More...
 
virtual void SteadyTick (float DeltaTime)
 Process a fixed-rate steady tick. More...
 
virtual void PresentationTick (float DeltaSeconds, float FrameRatio, float FutureFactor)
 Process a past-steady presentation tick. More...
 
 IMechanical ()
 
float GetProcessedSteadyTime () const
 Get the time of the last processed steady frame. More...
 
float CalcSteadyFrameRatio () const
 The current ratio within the steady frame. More...
 
void GetSteadyFrame (int64 &OutFrame) const
 Get the current steady frame. More...
 
float GetSteadyTime () const
 Get the total steady time elapsed. More...
 
float CalcSteadyFutureFactor () const
 The current steady future factor. More...
 

Protected Member Functions

virtual void BeginPlay () override
 Begin executing the mechanism. More...
 
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
 End executing the mechanism. More...
 
- Protected Member Functions inherited from IMechanical
virtual void DoTick (float NewTime, float DeltaTime, float SteadyDeltaTime)
 Perform a standard ticking routine. More...
 
void DoRegister ()
 
void DoUnregister ()
 
float DoGetProcessedSteadyTime (float SteadyDeltaTime) const
 
float DoCalcSteadyFrameRatio (const float Time, const float SteadyDeltaTime) const
 
float DoCalcSteadyFutureFactor (const float Time, const float SteadyDeltaTime) const
 
float GetProcessedSteadyTime_Implementation () const
 
float CalcSteadyFrameRatio_Implementation () const
 
void GetSteadyFrame_Implementation (int64 &OutFrame) const
 
float CalcSteadyFutureFactor_Implementation () const
 
float GetSteadyTime_Implementation () const
 

Additional Inherited Members

- Protected Attributes inherited from IMechanical
int64 SteadyFrame = 0
 The steady frame we are currently part of. More...
 
int64 ProcessedSteadyFrame = -1
 The last, actually processed steady frame. More...
 
float PrevTime = NAN
 The game time of the previous tick. More...
 
uint32 bInsideTick: 1
 Is this mechanism currently updating? More...
 
uint32 bInsideSteadyTick: 1
 Is this mechanism currently in the process of steady ticking? More...
 
uint32 bInsidePresentationTick: 1
 Is this mechanism currently in the process of presentation ticking? More...
 

Detailed Description

The mechanical actor entity.

Constructor & Destructor Documentation

◆ AMechanicalActor()

AMechanicalActor::AMechanicalActor ( )
inline

Construct a new mechanism.

◆ ~AMechanicalActor()

AMechanicalActor::~AMechanicalActor ( )
inline

Destroy the mechanism.

Member Function Documentation

◆ BeginPlay()

void AMechanicalActor::BeginPlay ( )
inlineoverrideprotectedvirtual

Begin executing the mechanism.

◆ CalcSteadyFrameRatio()

float AMechanicalActor::CalcSteadyFrameRatio ( ) const
inline

The current ratio within the steady frame.

This is in relation between the previous steady frame and the current next one. Should be used for interframe interpolation.

◆ CalcSteadyFutureFactor()

float AMechanicalActor::CalcSteadyFutureFactor ( ) const
inline

The current steady future factor.

This is in relation between the previous change time delta to the next steady frame change delta time.

◆ EndPlay()

void AMechanicalActor::EndPlay ( const EEndPlayReason::Type  EndPlayReason)
inlineoverrideprotectedvirtual

End executing the mechanism.

◆ GetOwnTime()

virtual float AMechanicalActor::GetOwnTime ( ) const
inlineoverridevirtual

Get own Mechanical's local life time.

Should be overriden in the descendants.

Reimplemented from IMechanical.

◆ GetProcessedSteadyTime()

float AMechanicalActor::GetProcessedSteadyTime ( ) const
inline

Get the time of the last processed steady frame.

◆ GetSteadyDeltaTime()

virtual float AMechanicalActor::GetSteadyDeltaTime ( ) const
inlineoverridevirtual

Get the time interval for steady ticking.

Should be overriden in the descendants to provide a propertie's value.

Reimplemented from IMechanical.

◆ GetSteadyFrame()

int64 AMechanicalActor::GetSteadyFrame ( ) const
inline

The current steady frame.

◆ GetSteadyTime()

float AMechanicalActor::GetSteadyTime ( ) const
inline

The total steady time elapsed.

◆ Tick()

void AMechanicalActor::Tick ( float  DeltaTime)
inlineoverridevirtual

The documentation for this class was generated from the following file: