Murl::Logic::IStageProcessor Interface Referenceabstract

The IStageProcessor interface. More...

#include "murl_logic_i_stage_processor.h"

Inherited by Murl::Logic::StageProcessor.

Public Member Functions

virtual IProcessorPtr GetProcessor ()=0
 Get the processor interface from a stage-processor object. More...
 
virtual Bool AddStage (IStagePtr stage)=0
 Add a stage object. More...
 
virtual Bool RemoveStage (IStagePtr stage)=0
 Remove a stage object. More...
 
virtual Bool InitAddStage (const IState *state, IStagePtr stage)=0
 Initialize and add a stage object. More...
 
virtual Bool RemoveDeInitStage (const IState *state, IStagePtr stage)=0
 Remove and deinitialize a stage object. More...
 
virtual Bool SetSwitchNodeId (const String &switchNodeId)=0
 Set the graph switch node identifier. More...
 
virtual const StringGetSwitchNodeId () const =0
 Get the graph switch node identifier. More...
 
virtual IStagePtr GetStage (const String &stageId) const =0
 Get a stage object by name. More...
 
virtual Bool SetStageRunState (const String &stageId, IStage::RunState runState)=0
 Set the current run state of a stage. More...
 
virtual Bool IsAnyTimelineRunning () const =0
 Check if any stage's IStageTimeline is running. More...
 
virtual Bool StartIntro (const String &stageId)=0
 Start a stage intro. More...
 
virtual Bool StartOutro (const String &stageId)=0
 Start a stage outro. More...
 
virtual Bool StartIntro (const String &stageId, Real startTime)=0
 Start a stage intro and set the IStageTimeline intro start time. More...
 
virtual Bool StartOutro (const String &stageId, Real endTime)=0
 Start a stage outro and set the IStageTimeline outro end time. More...
 
virtual Bool StartIntro (const String &stageId, Real startTime, Real endTime)=0
 Start a stage intro and set the IStageTimeline intro (start / end) time. More...
 
virtual Bool StartOutro (const String &stageId, Real startTime, Real endTime)=0
 Start a stage outro and set the IStageTimeline outro (start / end) time. More...
 

Detailed Description

The IStageProcessor interface.

The IStageProcessor is handling a set of IStage objects. The IStage::RunState is controlled by the IStageProcessor.
Optional a graph <Switch> identifier can be specified to automatically select a sub graph attached to a switch child. The graph switch identifier must be set by SetSwitchNodeId() and each IStage registered to the IStageHandler can specify a switch identifier for selecting the active child of the switch at IStage::RUN_STATE_BEGIN_INTRO.
Additional IProcessor objects can be added to the IStageProcessor object by using myStageProc->GetProcessor(myStageProc)->AddChild(). The IProcessor (OnInit, OnProcessTick, OnProcessFrame) is always executed before the stage execution.

Member Function Documentation

◆ GetProcessor()

virtual IProcessorPtr Murl::Logic::IStageProcessor::GetProcessor ( )
pure virtual

Get the processor interface from a stage-processor object.

The IStageProcessor conforms to the IProcessor interface.

Returns
The processor interface shared pointer.

◆ AddStage()

virtual Bool Murl::Logic::IStageProcessor::AddStage ( IStagePtr  stage)
pure virtual

Add a stage object.

Parameters
stageThe stage object to add.
Returns
true if successful.

◆ RemoveStage()

virtual Bool Murl::Logic::IStageProcessor::RemoveStage ( IStagePtr  stage)
pure virtual

Remove a stage object.

Parameters
stageThe stage object to remove.
Returns
true if successful.

◆ InitAddStage()

virtual Bool Murl::Logic::IStageProcessor::InitAddStage ( const IState state,
IStagePtr  stage 
)
pure virtual

Initialize and add a stage object.

Parameters
stateThe IState object.
stageThe stage object to initialize and add.
Returns
true if successful.

◆ RemoveDeInitStage()

virtual Bool Murl::Logic::IStageProcessor::RemoveDeInitStage ( const IState state,
IStagePtr  stage 
)
pure virtual

Remove and deinitialize a stage object.

Parameters
stateThe IState object.
stageThe stage object to deinitialize and remove.
Returns
true if successful.

◆ SetSwitchNodeId()

virtual Bool Murl::Logic::IStageProcessor::SetSwitchNodeId ( const String switchNodeId)
pure virtual

Set the graph switch node identifier.

Must be set before the stage processor is initialized.

Parameters
switchNodeIdThe full path to the graph <Switch> instance.
Returns
true if successful.

◆ GetSwitchNodeId()

virtual const String& Murl::Logic::IStageProcessor::GetSwitchNodeId ( ) const
pure virtual

Get the graph switch node identifier.

Returns
The switch node identifier string including the full path.

◆ GetStage()

virtual IStagePtr Murl::Logic::IStageProcessor::GetStage ( const String stageId) const
pure virtual

Get a stage object by name.

Parameters
stageIdThe identifier of the stage to get.
Returns
The stage object or null if the identifier is not found.

◆ SetStageRunState()

virtual Bool Murl::Logic::IStageProcessor::SetStageRunState ( const String stageId,
IStage::RunState  runState 
)
pure virtual

Set the current run state of a stage.

Parameters
stageIdThe identifier of the stage to modify.
runStateThe run state to set.
Returns
true if successful.

◆ IsAnyTimelineRunning()

virtual Bool Murl::Logic::IStageProcessor::IsAnyTimelineRunning ( ) const
pure virtual

Check if any stage's IStageTimeline is running.

Returns
true if any stage timeline is running.

◆ StartIntro() [1/3]

virtual Bool Murl::Logic::IStageProcessor::StartIntro ( const String stageId)
pure virtual

Start a stage intro.

Execute the IStage::StartStageIntro() method.

Parameters
stageIdThe identifier of the stage to start.
Returns
true if successful, false if the identifier is not found or IStage::StartStageIntro() failed.

◆ StartOutro() [1/3]

virtual Bool Murl::Logic::IStageProcessor::StartOutro ( const String stageId)
pure virtual

Start a stage outro.

Execute the IStage::StartStageOutro() method.

Parameters
stageIdThe identifier of the stage to start.
Returns
true if successful, false if the identifier is not found or IStage::StartStageOutro() failed.

◆ StartIntro() [2/3]

virtual Bool Murl::Logic::IStageProcessor::StartIntro ( const String stageId,
Real  startTime 
)
pure virtual

Start a stage intro and set the IStageTimeline intro start time.

Execute the IStage::StartStageIntro() method.

Parameters
stageIdThe identifier of the stage to start.
startTimeThe IStageTimeline intro start time.
Returns
true if successful, false if the identifier is not found or IStage::StartStageIntro() failed.

◆ StartOutro() [2/3]

virtual Bool Murl::Logic::IStageProcessor::StartOutro ( const String stageId,
Real  endTime 
)
pure virtual

Start a stage outro and set the IStageTimeline outro end time.

Execute the IStage::StartStageOutro() method.

Parameters
stageIdThe identifier of the stage to start.
endTimeThe IStageTimeline outro end time.
Returns
true if successful, false if the identifier is not found or IStage::StartStageOutro() failed.

◆ StartIntro() [3/3]

virtual Bool Murl::Logic::IStageProcessor::StartIntro ( const String stageId,
Real  startTime,
Real  endTime 
)
pure virtual

Start a stage intro and set the IStageTimeline intro (start / end) time.

Execute the IStage::StartStageIntro() method.

Parameters
stageIdThe identifier of the stage to start.
startTimeThe IStageTimeline intro start time.
endTimeThe IStageTimeline intro end time.
Returns
true if successful, false if the identifier is not found or IStage::StartStageIntro() failed.

◆ StartOutro() [3/3]

virtual Bool Murl::Logic::IStageProcessor::StartOutro ( const String stageId,
Real  startTime,
Real  endTime 
)
pure virtual

Start a stage outro and set the IStageTimeline outro (start / end) time.

Execute the IStage::StartStageOutro() method.

Parameters
stageIdThe identifier of the stage to start.
startTimeThe IStageTimeline outro start time.
endTimeThe IStageTimeline outro end time.
Returns
true if successful, false if the identifier is not found or IStage::StartStageOutro() failed.

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


Copyright © 2011-2024 Spraylight GmbH.