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 String & | GetSwitchNodeId () 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()
|
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()
Add a stage object.
- Parameters
-
stage The stage object to add.
- Returns
- true if successful.
◆ RemoveStage()
Remove a stage object.
- Parameters
-
stage The stage object to remove.
- Returns
- true if successful.
◆ InitAddStage()
|
pure virtual |
Initialize and add a stage object.
- Parameters
-
state The IState object. stage The stage object to initialize and add.
- Returns
- true if successful.
◆ RemoveDeInitStage()
|
pure virtual |
Remove and deinitialize a stage object.
- Parameters
-
state The IState object. stage The stage object to deinitialize and remove.
- Returns
- true if successful.
◆ SetSwitchNodeId()
|
pure virtual |
Set the graph switch node identifier.
Must be set before the stage processor is initialized.
- Parameters
-
switchNodeId The full path to the graph <Switch> instance.
- Returns
- true if successful.
◆ GetSwitchNodeId()
|
pure virtual |
Get the graph switch node identifier.
- Returns
- The switch node identifier string including the full path.
◆ GetStage()
|
pure virtual |
Get a stage object by name.
- Parameters
-
stageId The identifier of the stage to get.
- Returns
- The stage object or null if the identifier is not found.
◆ SetStageRunState()
|
pure virtual |
Set the current run state of a stage.
- Parameters
-
stageId The identifier of the stage to modify. runState The run state to set.
- Returns
- true if successful.
◆ IsAnyTimelineRunning()
|
pure virtual |
Check if any stage's IStageTimeline is running.
- Returns
- true if any stage timeline is running.
◆ StartIntro() [1/3]
Start a stage intro.
Execute the IStage::StartStageIntro() method.
- Parameters
-
stageId The identifier of the stage to start.
- Returns
- true if successful, false if the identifier is not found or IStage::StartStageIntro() failed.
◆ StartOutro() [1/3]
Start a stage outro.
Execute the IStage::StartStageOutro() method.
- Parameters
-
stageId The identifier of the stage to start.
- Returns
- true if successful, false if the identifier is not found or IStage::StartStageOutro() failed.
◆ StartIntro() [2/3]
|
pure virtual |
Start a stage intro and set the IStageTimeline intro start time.
Execute the IStage::StartStageIntro() method.
- Parameters
-
stageId The identifier of the stage to start. startTime The IStageTimeline intro start time.
- Returns
- true if successful, false if the identifier is not found or IStage::StartStageIntro() failed.
◆ StartOutro() [2/3]
|
pure virtual |
Start a stage outro and set the IStageTimeline outro end time.
Execute the IStage::StartStageOutro() method.
- Parameters
-
stageId The identifier of the stage to start. endTime The IStageTimeline outro end time.
- Returns
- true if successful, false if the identifier is not found or IStage::StartStageOutro() failed.
◆ StartIntro() [3/3]
|
pure virtual |
Start a stage intro and set the IStageTimeline intro (start / end) time.
Execute the IStage::StartStageIntro() method.
- Parameters
-
stageId The identifier of the stage to start. startTime The IStageTimeline intro start time. endTime The IStageTimeline intro end time.
- Returns
- true if successful, false if the identifier is not found or IStage::StartStageIntro() failed.
◆ StartOutro() [3/3]
|
pure virtual |
Start a stage outro and set the IStageTimeline outro (start / end) time.
Execute the IStage::StartStageOutro() method.
- Parameters
-
stageId The identifier of the stage to start. startTime The IStageTimeline outro start time. endTime The 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