Murl::Core::IClock Interface Referenceabstract

The clock interface. More...

#include "murl_core_i_clock.h"

Inherited by Murl::Core::Clock.

Public Member Functions

virtual void SetDeltaLimit (System::Time limit)=0
 Set the maximum frame duration. More...
 
virtual System::Time GetDeltaLimit () const =0
 Get the maximum frame duration. More...
 
virtual void SetTimeBase (Double timeBase)=0
 Set the time base factor. More...
 
virtual Double GetTimeBase () const =0
 Get the time base factor. More...
 
virtual void SetAveragingFactor (Double factor)=0
 Set the averaging factor. More...
 
virtual Double GetAveragingFactor () const =0
 Get the averaging factor. More...
 
virtual void Start ()=0
 Start the clock measurement.
 
virtual void Stop ()=0
 Stop the clock measurement.
 
virtual void PauseLogicTicks ()=0
 Pause the logic tick measurement.
 
virtual void ContinueLogicTicks ()=0
 Continue the logic tick measurement.
 
virtual void ResetAveraging (System::Time frameDuration, UInt32 numFrames)=0
 Reset the internally filtered delta value. More...
 
virtual void Update ()=0
 Update the clock measurement. More...
 
virtual void ResetTotalRunningTime ()=0
 Reset the total running time.
 
virtual System::Time GetTotalRunningTime () const =0
 Get the total running time. More...
 
virtual System::Time GetCurrentTime () const =0
 Get the current time. More...
 
virtual UInt32 GetNumberOfLogicTicksPerFrame () const =0
 Get the number of logic ticks per frame. More...
 
virtual UInt32 GetFrameNumber () const =0
 Get the frame number. More...
 
virtual UInt32 GetLogicTickNumber () const =0
 Get the logick tick number. More...
 
virtual Double GetFrameTime () const =0
 Get the frame time. More...
 
virtual Double GetLogicTickTime () const =0
 Get the logick tick time. More...
 
virtual Double GetFrameDuration () const =0
 Get the frame duration. More...
 
virtual Double GetLogicTickDuration () const =0
 Get the logick tick duration. More...
 

Detailed Description

The clock interface.

The clock is used by the engine core to determine frame duration and logik ticks. The engine clock is configured by the IEngineConfiguration interface.

Member Function Documentation

◆ SetDeltaLimit()

virtual void Murl::Core::IClock::SetDeltaLimit ( System::Time  limit)
pure virtual

Set the maximum frame duration.

The default value is 1000 milliseconds.

Parameters
limitThe maximum frame duration.

◆ GetDeltaLimit()

virtual System::Time Murl::Core::IClock::GetDeltaLimit ( ) const
pure virtual

Get the maximum frame duration.

Returns
The maximum frame duration.

◆ SetTimeBase()

virtual void Murl::Core::IClock::SetTimeBase ( Double  timeBase)
pure virtual

Set the time base factor.

The delta time is multiplied by the time base factor. The default time base factor is 1.0.

Parameters
timeBaseThe time base factor.

◆ GetTimeBase()

virtual Double Murl::Core::IClock::GetTimeBase ( ) const
pure virtual

Get the time base factor.

Returns
The time base factor.

◆ SetAveragingFactor()

virtual void Murl::Core::IClock::SetAveragingFactor ( Double  factor)
pure virtual

Set the averaging factor.

The delta time is multiplied by the averaging factor plus the last delta time multiplied by 1 - the averaging factor. The default averaging factor is 0.1.

Parameters
factorThe averaging factor.

◆ GetAveragingFactor()

virtual Double Murl::Core::IClock::GetAveragingFactor ( ) const
pure virtual

Get the averaging factor.

Returns
The averaging factor.

◆ ResetAveraging()

virtual void Murl::Core::IClock::ResetAveraging ( System::Time  frameDuration,
UInt32  numFrames 
)
pure virtual

Reset the internally filtered delta value.

Parameters
frameDurationThe desired frame duration, or 0.0 if variable.
numFramesThe number of subsequent frames where averaging is disabled.

◆ Update()

virtual void Murl::Core::IClock::Update ( )
pure virtual

Update the clock measurement.

The clock is updated every time a frame is drawn. At this point the clock measures the frame duration and calculates the logic ticks.

◆ GetTotalRunningTime()

virtual System::Time Murl::Core::IClock::GetTotalRunningTime ( ) const
pure virtual

Get the total running time.

Returns
The total running time.

◆ GetCurrentTime()

virtual System::Time Murl::Core::IClock::GetCurrentTime ( ) const
pure virtual

Get the current time.

Returns
The current time.

◆ GetNumberOfLogicTicksPerFrame()

virtual UInt32 Murl::Core::IClock::GetNumberOfLogicTicksPerFrame ( ) const
pure virtual

Get the number of logic ticks per frame.

Returns
The number of logic ticks per frame.

◆ GetFrameNumber()

virtual UInt32 Murl::Core::IClock::GetFrameNumber ( ) const
pure virtual

Get the frame number.

Returns
The frame number.

◆ GetLogicTickNumber()

virtual UInt32 Murl::Core::IClock::GetLogicTickNumber ( ) const
pure virtual

Get the logick tick number.

Returns
The logick tick number.

◆ GetFrameTime()

virtual Double Murl::Core::IClock::GetFrameTime ( ) const
pure virtual

Get the frame time.

Returns
The frame time.

◆ GetLogicTickTime()

virtual Double Murl::Core::IClock::GetLogicTickTime ( ) const
pure virtual

Get the logick tick time.

Returns
The logick tick time.

◆ GetFrameDuration()

virtual Double Murl::Core::IClock::GetFrameDuration ( ) const
pure virtual

Get the frame duration.

Returns
The frame duration.

◆ GetLogicTickDuration()

virtual Double Murl::Core::IClock::GetLogicTickDuration ( ) const
pure virtual

Get the logick tick duration.

Returns
The logick tick duration.

The documentation for this interface was generated from the following file:
  • murl_core_i_clock.h


Copyright © 2011-2018 Spraylight GmbH.