Murl::Logic::IEngineState Interface Referenceabstract

The IEngineState interface. More...

#include "murl_logic_i_engine_state.h"

Inherited by Murl::Logic::State.

Public Member Functions

virtual Bool Init ()=0
 Initialize the state object. More...
 
virtual Bool DeInit ()=0
 Deinitialize the state object. More...
 
virtual Bool Lock ()=0
 Lock the state object. More...
 
virtual Bool Unlock ()=0
 Unlock the state object. More...
 
virtual Bool Yield ()=0
 Yield the state object. More...
 
virtual Bool Reclaim ()=0
 Reclaim the state object. More...
 
virtual void SetGraphRoot (Graph::IRoot *graphRoot)=0
 Set the graph root object. More...
 
virtual void SetResourceCollection (const Resource::ICollection *resourceCollection)=0
 Set the resource collection object. More...
 
virtual void SetCurrentTickTime (Double time)=0
 Set the current tick time. More...
 
virtual void SetCurrentTickDuration (Double time)=0
 Set the current tick duration. More...
 
virtual void SetCurrentGraphNode (Graph::INode *node)=0
 Set the current graph node object. More...
 
virtual Bool InitProcessor (IProcessorPtr processor)=0
 Initialze a processor. More...
 
virtual Bool DeInitProcessor (IProcessorPtr processor)=0
 Deinitialze a processor. More...
 
virtual Bool AddProcessor (IProcessorPtr processor)=0
 Add a logic processor. More...
 
virtual Bool RemoveProcessor (IProcessorPtr processor)=0
 Remove a logic processor. More...
 
virtual UInt32 GetNumberOfProcessors () const =0
 Get the number of logic processors. More...
 
virtual IProcessorPtr GetProcessor (UInt32 index) const =0
 Get an logic processor by index. More...
 
virtual void ProcessTick (UInt32 index)=0
 Execute a logic tick. More...
 
virtual void ProcessFrame (UInt32 index)=0
 Execute a frame tick. More...
 
virtual void FinishTick (UInt32 index)=0
 Finish a logic tick. More...
 
virtual void FinishFrame (UInt32 index)=0
 Finish a frame tick. More...
 
virtual void PackageWillBeLoaded (UInt32 index, IPackage *package)=0
 Report the beginning of package loading. More...
 
virtual void PackageWasLoaded (UInt32 index, IPackage *package)=0
 Report the succesful loading of a package. More...
 
virtual void PackageFailedLoading (UInt32 index, IPackage *package)=0
 Report failed loading a package. More...
 
virtual void PackageWillBeUnloaded (UInt32 index, IPackage *package)=0
 Report the beginning of package unloading. More...
 
virtual void PackageWasUnloaded (UInt32 index, IPackage *package)=0
 Report the succesful unloading of a package. More...
 
virtual void PackageFailedUnloading (UInt32 index, IPackage *package)=0
 Report failed unloading a package. More...
 
virtual void RunStateChanged (UInt32 index, IEnums::AppRunState currentState, IEnums::AppRunState previousState)=0
 Report a change of the application run state. More...
 
virtual const IStateGetIState () const =0
 Get the constant IState object. More...
 

Detailed Description

The IEngineState interface.

The IEngineState object is created and used by the engine's core only. Application implementations are using the IState object which is passed via the IEngineProcessor methods.

Member Function Documentation

◆ Init()

virtual Bool Murl::Logic::IEngineState::Init ( )
pure virtual

Initialize the state object.

Returns
true if successful.

◆ DeInit()

virtual Bool Murl::Logic::IEngineState::DeInit ( )
pure virtual

Deinitialize the state object.

Returns
true if successful.

◆ Lock()

virtual Bool Murl::Logic::IEngineState::Lock ( )
pure virtual

Lock the state object.

Returns
true if successful.

◆ Unlock()

virtual Bool Murl::Logic::IEngineState::Unlock ( )
pure virtual

Unlock the state object.

Returns
true if successful.

◆ Yield()

virtual Bool Murl::Logic::IEngineState::Yield ( )
pure virtual

Yield the state object.

This temporarily unlocks the state object like Unlock(), but prevents it to be locked from a different thread other than the render thread. After Yield() has been called, re-locking must be done using Reclaim() instead of Lock().

Returns
true if successful.

◆ Reclaim()

virtual Bool Murl::Logic::IEngineState::Reclaim ( )
pure virtual

Reclaim the state object.

This must be called after Yield() when the state object needs to be locked again, instead of calling Lock().

Returns
true if successful.

◆ SetGraphRoot()

virtual void Murl::Logic::IEngineState::SetGraphRoot ( Graph::IRoot graphRoot)
pure virtual

Set the graph root object.

Parameters
graphRootThe graph root object.

◆ SetResourceCollection()

virtual void Murl::Logic::IEngineState::SetResourceCollection ( const Resource::ICollection resourceCollection)
pure virtual

Set the resource collection object.

Parameters
resourceCollectionThe resource collection object.

◆ SetCurrentTickTime()

virtual void Murl::Logic::IEngineState::SetCurrentTickTime ( Double  time)
pure virtual

Set the current tick time.

The current tick time is the absolute time from starting the engine.

Parameters
timeThe current tick time in seconds.

◆ SetCurrentTickDuration()

virtual void Murl::Logic::IEngineState::SetCurrentTickDuration ( Double  time)
pure virtual

Set the current tick duration.

Parameters
timeThe current tick duration in seconds.

◆ SetCurrentGraphNode()

virtual void Murl::Logic::IEngineState::SetCurrentGraphNode ( Graph::INode node)
pure virtual

Set the current graph node object.

Parameters
nodeThe graph node object. The current graph node is set for IAppGraph calls only.

◆ InitProcessor()

virtual Bool Murl::Logic::IEngineState::InitProcessor ( IProcessorPtr  processor)
pure virtual

Initialze a processor.

Parameters
processorThe logic processor to initialize.
Returns
true if successful.

◆ DeInitProcessor()

virtual Bool Murl::Logic::IEngineState::DeInitProcessor ( IProcessorPtr  processor)
pure virtual

Deinitialze a processor.

Parameters
processorThe logic processor to deinitialize.
Returns
true if successful.

◆ AddProcessor()

virtual Bool Murl::Logic::IEngineState::AddProcessor ( IProcessorPtr  processor)
pure virtual

Add a logic processor.

Parameters
processorThe logic processor to add.
Returns
true if successful.

◆ RemoveProcessor()

virtual Bool Murl::Logic::IEngineState::RemoveProcessor ( IProcessorPtr  processor)
pure virtual

Remove a logic processor.

Parameters
processorThe logic processor to remove.
Returns
true if successful.

◆ GetNumberOfProcessors()

virtual UInt32 Murl::Logic::IEngineState::GetNumberOfProcessors ( ) const
pure virtual

Get the number of logic processors.

Returns
The number of logic processor.

◆ GetProcessor()

virtual IProcessorPtr Murl::Logic::IEngineState::GetProcessor ( UInt32  index) const
pure virtual

Get an logic processor by index.

A valid index is [0 .. GetNumberOfEngineProcessors() - 1].

Parameters
indexThe zero-based index of the logic processor.
Returns
The logic processor object or null if the index is out of range.

◆ ProcessTick()

virtual void Murl::Logic::IEngineState::ProcessTick ( UInt32  index)
pure virtual

Execute a logic tick.

A valid index is [0 .. GetNumberOfEngineProcessors() - 1].

Parameters
indexThe zero-based index of the logic processor.

◆ ProcessFrame()

virtual void Murl::Logic::IEngineState::ProcessFrame ( UInt32  index)
pure virtual

Execute a frame tick.

A valid index is [0 .. GetNumberOfEngineProcessors() - 1].

Parameters
indexThe zero-based index of the logic processor.

◆ FinishTick()

virtual void Murl::Logic::IEngineState::FinishTick ( UInt32  index)
pure virtual

Finish a logic tick.

A valid index is [0 .. GetNumberOfEngineProcessors() - 1].

Parameters
indexThe zero-based index of the logic processor.

◆ FinishFrame()

virtual void Murl::Logic::IEngineState::FinishFrame ( UInt32  index)
pure virtual

Finish a frame tick.

A valid index is [0 .. GetNumberOfEngineProcessors() - 1].

Parameters
indexThe zero-based index of the logic processor.

◆ PackageWillBeLoaded()

virtual void Murl::Logic::IEngineState::PackageWillBeLoaded ( UInt32  index,
IPackage package 
)
pure virtual

Report the beginning of package loading.

A valid index is [0 .. GetNumberOfEngineProcessors() - 1].

Parameters
indexThe zero-based index of the logic processor.
packageThe package to load.

◆ PackageWasLoaded()

virtual void Murl::Logic::IEngineState::PackageWasLoaded ( UInt32  index,
IPackage package 
)
pure virtual

Report the succesful loading of a package.

A valid index is [0 .. GetNumberOfEngineProcessors() - 1].

Parameters
indexThe zero-based index of the logic processor.
packageThe package loaded.

◆ PackageFailedLoading()

virtual void Murl::Logic::IEngineState::PackageFailedLoading ( UInt32  index,
IPackage package 
)
pure virtual

Report failed loading a package.

A valid index is [0 .. GetNumberOfEngineProcessors() - 1].

Parameters
indexThe zero-based index of the logic processor.
packageThe package which failed loading.

◆ PackageWillBeUnloaded()

virtual void Murl::Logic::IEngineState::PackageWillBeUnloaded ( UInt32  index,
IPackage package 
)
pure virtual

Report the beginning of package unloading.

A valid index is [0 .. GetNumberOfEngineProcessors() - 1].

Parameters
indexThe zero-based index of the logic processor.
packageThe package to unload.

◆ PackageWasUnloaded()

virtual void Murl::Logic::IEngineState::PackageWasUnloaded ( UInt32  index,
IPackage package 
)
pure virtual

Report the succesful unloading of a package.

A valid index is [0 .. GetNumberOfEngineProcessors() - 1].

Parameters
indexThe zero-based index of the logic processor.
packageThe package unloaded.

◆ PackageFailedUnloading()

virtual void Murl::Logic::IEngineState::PackageFailedUnloading ( UInt32  index,
IPackage package 
)
pure virtual

Report failed unloading a package.

A valid index is [0 .. GetNumberOfEngineProcessors() - 1].

Parameters
indexThe zero-based index of the logic processor.
packageThe package which failed unloading.

◆ RunStateChanged()

virtual void Murl::Logic::IEngineState::RunStateChanged ( UInt32  index,
IEnums::AppRunState  currentState,
IEnums::AppRunState  previousState 
)
pure virtual

Report a change of the application run state.

A valid index is [0 .. GetNumberOfEngineProcessors() - 1].

Parameters
indexThe zero-based index of the logic processor.
currentStateThe current run state.
previousStateThe previous run state.

◆ GetIState()

virtual const IState* Murl::Logic::IEngineState::GetIState ( ) const
pure virtual

Get the constant IState object.

Returns
The constant IState object.

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


Copyright © 2011-2024 Spraylight GmbH.