![]() |
Lumiera 0.pre.04~rc.1
»edit your freedom«
|
#include "steam/engine/engine-service.hpp"
A service to schedule series of calculations, delivering the rendered data into an external output sink in a timely fashion.
Actually the CalculationStream instances provided through this (facade) interface are backed by jobs executed through the scheduler in the vault layer. The implementation of this service is responsible for creating the right job entries in the correct order and to enqueue these into the scheduler.
Definition at line 93 of file engine-service.hpp.
Classes | |
| class | Quality |
| Quality-of-Service definition for an Render Engine usage. More... | |
Public Types | |
| using | _Clonable_QoS_Strategy = lib::polyvalue::CloneValueSupport< Quality > |
| using | QoS_Definition = lib::PolymorphicValue< Quality, QoS_IMPL_SIZE, _Clonable_QoS_Strategy > |
Static Public Attributes | |
| static QoS_Definition | QoS_DEFAULT = QoS_Definition::build<DefaultQoS> (PLAYBACK) |
| static QoS_Definition | QoS_BACKGROUND = QoS_Definition::build<DefaultQoS> (BACKGROUND) |
| static QoS_Definition | QoS_SYNC_PRIORITY = QoS_Definition::build<PriorityQoS>() |
| static QoS_Definition | QoS_PERFECT_RESULT = QoS_Definition::build<DefaultQoS> (RENDER) |
| static QoS_Definition | QoS_COMPROMISE = QoS_Definition::build<Compromise> (PLAYBACK) |
| static lib::Depend< EngineService > | instance |
| access point to the Engine Interface. | |
Public Member Functions | |
| virtual | ~EngineService () |
| EngineService () | |
| CalcStreams | calculate (ModelPort mPort, Timings nominalTimings, OutputConnection &output, Quality serviceQuality=QoS_DEFAULT) |
| core operation: activate the Lumiera Render Engine. | |
| CalcStreams | calculateBackground (ModelPort mPort, Timings nominalTimings, Quality serviceQuality=QoS_BACKGROUND) |
Friends | |
| class | EngineDiagnostics |
Protected Member Functions | |
| virtual RenderEnvironment & | configureCalculation (ModelPort, Timings, Quality) |
| void | activateTracing () |
| Switch the complete engine into diagnostics mode. | |
| void | disableTracing () |
| EX_FREE. | |
Private Types | |
| enum | { QoS_IMPL_SIZE = sizeof(size_t) } |
Static Private Member Functions | |
| static CalcStream | activateCalculation (play::DataSink, RenderEnvironment &) |
Additional Inherited Members | |
Private Member Functions inherited from NonCopyable | |
| ~NonCopyable ()=default | |
| NonCopyable ()=default | |
| NonCopyable (NonCopyable const &)=delete | |
| NonCopyable & | operator= (NonCopyable const &)=delete |
|
inlinevirtual |
Definition at line 137 of file engine-service.hpp.
| EngineService | ( | ) |
Definition at line 56 of file engine-service.cpp.
Definition at line 120 of file engine-service.hpp.
Definition at line 121 of file engine-service.hpp.
|
private |
| Enumerator | |
|---|---|
| QoS_IMPL_SIZE | |
Definition at line 102 of file engine-service.hpp.
| CalcStreams calculate | ( | ModelPort | mPort, |
| Timings | nominalTimings, | ||
| OutputConnection & | output, | ||
| Quality | serviceQuality = QoS_DEFAULT |
||
| ) |
core operation: activate the Lumiera Render Engine.
Invoking this service effectively hooks up each channel of the given model exit point to deliver into the corresponding output sink on the given OutputConnection (which is assumed to be already allocated for active use by this connection). The generated calculation streams represent actively ongoing calculations within the engine, started right away, according to the given timing constraints and service quality.
Definition at line 71 of file engine-service.cpp.
References EngineService::activateCalculation(), EngineService::configureCalculation(), and OutputSlot::Allocation::getOpenedSinks().
Here is the call graph for this function:| CalcStreams calculateBackground | ( | ModelPort | mPort, |
| Timings | nominalTimings, | ||
| Quality | serviceQuality = QoS_BACKGROUND |
||
| ) |
Definition at line 95 of file engine-service.cpp.
|
protectedvirtual |
extension point Create the environment for rendering a connected and related set of output streams. Configure and prepare all the internal components, pre-allocate resources and add entries to the registration tables necessary to get the related render activities into "running" state. The created setup will typically be used to generate all the individual channel streams linked together for playback or rendering; they all share the same media type and quality settings.
Definition at line 139 of file engine-service.cpp.
Referenced by EngineService::calculate().
Here is the caller graph for this function:
|
protected |
Switch the complete engine into diagnostics mode.
This activates additional logging and reporting facilities, allowing to verify some specific operations within the engine did indeed happen. Activating this mode incurs a performance hit.
Definition at line 160 of file engine-service.cpp.
Referenced by EngineDiagnostics::EngineDiagnostics().
Here is the caller graph for this function:
|
protected |
EX_FREE.
Definition at line 166 of file engine-service.cpp.
Referenced by EngineDiagnostics::~EngineDiagnostics().
Here is the caller graph for this function:
|
staticprivate |
build a representation of a single, ongoing calculation effort. This "CalcStream" is tied to the actual engine implementation, but only through an opaque link, representing this concrete engine as an engine::RenderEnvironment closure. This enables the created CalcStream to be re-configured and adjusted while running.
Definition at line 110 of file engine-service.cpp.
References CalcStream::sendToOutput().
Referenced by EngineService::calculate().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 123 of file engine-service.hpp.
|
static |
Definition at line 124 of file engine-service.hpp.
|
static |
Definition at line 125 of file engine-service.hpp.
|
static |
Definition at line 126 of file engine-service.hpp.
|
static |
Definition at line 127 of file engine-service.hpp.
|
static |
access point to the Engine Interface.
storage for the EngineService interface object
this is an facade interface for internal use by the player. Client code should use the Player.
Definition at line 134 of file engine-service.hpp.
Referenced by EngineInterface_test::run().
|
friend |
Definition at line 159 of file engine-service.hpp.
Inheritance diagram for EngineService:
Collaboration diagram for EngineService: