Interface IPipelineWorker
An interface to define an element of a pipeline with its lifecycle methods and Inputs.
Namespace: Holoride.ElasticSDK
Assembly: Holoride.ElasticSDK.Library.Runtime.dll
Syntax
[PublicAPI]
public interface IPipelineWorker
Properties
CurrentGenerationContext
Gets or sets the current generation context.
Declaration
GenerationContext CurrentGenerationContext { get; set; }
Property Value
Type | Description |
---|---|
GenerationContext |
GenerationSettings
Gets the immutable data that cannot be changed during the whole generation loop.
Declaration
GenerationSettings GenerationSettings { get; }
Property Value
Type | Description |
---|---|
GenerationSettings |
GenerationState
Gets the current state of the generation process and will be updated over time.
Declaration
GenerationState GenerationState { get; }
Property Value
Type | Description |
---|---|
GenerationState |
HasMissingMandatoryInputInHierarchy
Gets a value indicating whether this worker has any missing mandatory input in hierarchy.
Declaration
bool HasMissingMandatoryInputInHierarchy { get; }
Property Value
Type | Description |
---|---|
bool |
Inputs
Gets the input IPipelineWorkers to be processed before this worker.
Declaration
IEnumerable<IPipelineWorker> Inputs { get; }
Property Value
Type | Description |
---|---|
IEnumerable<IPipelineWorker> |
IsGatheringResources
Gets or sets a value indicating whether this node is gathering resources.
Declaration
bool IsGatheringResources { get; set; }
Property Value
Type | Description |
---|---|
bool |
IsProcessing
Gets or sets a value indicating whether this node is processing.
Declaration
bool IsProcessing { get; set; }
Property Value
Type | Description |
---|---|
bool |
MissingMandatoryInputs
Gets all missing mandatory inputs.
Declaration
IReadOnlyCollection<string> MissingMandatoryInputs { get; }
Property Value
Type | Description |
---|---|
IReadOnlyCollection<string> |
Pipeline
Gets or sets the pipeline this worker currently belongs to. A worker can always only belong to a single pipeline.
Declaration
Pipeline Pipeline { get; set; }
Property Value
Type | Description |
---|---|
Pipeline |
Methods
AddInput(string, IPipelineWorker)
Adds an input PipelineWorker.
Declaration
void AddInput(string id, IPipelineWorker pipelineWorker)
Parameters
Type | Name | Description |
---|---|---|
string | id | The id of the input. |
IPipelineWorker | pipelineWorker | The PipelineWorker to set as an input. |
AddMissingMandatoryInput(string)
Adds a missing input.
Declaration
void AddMissingMandatoryInput(string id)
Parameters
Type | Name | Description |
---|---|---|
string | id | The id of the missing input. |
CallCleanUp()
Cleans up this node.
Declaration
[Obsolete("Use Dispose() instead.")]
void CallCleanUp()
CallGatherResourcesAsync(GenerationContext, IProgress<float>, CancellationToken)
Gathers the resources required for this node in order to be processed.
Declaration
UniTask<LoadResourceResult> CallGatherResourcesAsync(GenerationContext context, IProgress<float> onProgressUpdate = null, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
GenerationContext | context | Contains the immutable meta-information of a single update iteration. |
IProgress<float> | onProgressUpdate | The feedback function passing the (down)loading progress [0, 1]. |
CancellationToken | cancellationToken | The token to monitor for cancellation requests. |
Returns
Type | Description |
---|---|
Cysharp.Threading.Tasks.UniTask<T><LoadResourceResult> |
CallInit()
Initializes this node.
Declaration
void CallInit()
CallInitResources()
Initializes the resources required for this node in order to be processed.
Declaration
void CallInitResources()
CallProcessAsync(GenerationContext, IProgress<float>, CancellationToken)
The default process function that is called for every CompositingNode.
Declaration
UniTask CallProcessAsync(GenerationContext context, IProgress<float> onProgressUpdate = null, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
GenerationContext | context | Contains the immutable meta-information of a single update iteration. |
IProgress<float> | onProgressUpdate | Called with relative progress in [0, 1]. May be called from another thread. |
CancellationToken | cancellationToken | The token to monitor for cancellation requests. |
Returns
Type | Description |
---|---|
Cysharp.Threading.Tasks.UniTask |
GetInput(string)
Gets an input PipelineWorker.
Declaration
IPipelineWorker GetInput(string id)
Parameters
Type | Name | Description |
---|---|---|
string | id | The id of the input. |
Returns
Type | Description |
---|---|
IPipelineWorker | The corresponding input PipelineWorker. |