# class PipelineBatch

Control object to launch pipelines in batches, both locally and distributed

# Properties

Property Description
CascadedRunMode The run mode to use on cascaded pipelines when executing the pipeline batch.
StoragePath The path to the directory where data is serialized. All pipelines and scenes are serialized in this path as temporary storage. If the path is not explicitly set the pipeline batch will create a temporary directory which will be removed once the pipeline batch object is deallocated, discarding all processed scenes.

# Methods

Method Description
Clear Manually clear the queue.
GetBatchCount Get the number of pipelines queued in the pipeline batch.
GetClass Get the name of the PipelineBatch class.
GetOutputPath Get the path of the serialized output scene for the given batch index.
GetPipelinePath Get the path of the serialized pipeline for the given batch index.
GetScenePath Get the path of the serialized input scene for the given batch index.
IsA Returns true if PipelineBatch is a or is a descendant of the class named as the type parameter.
IsNull Returns true if the PipelineBatch object is invalid.
LoadProcessedScene Load the output scene for the given queue handle. For a cascaded pipeline, use GetCascadedSceneCount/GetCascadedSceneForIndex on the returned scene to get the corresponding cascaded scene output.
Queue Queue a pipeline to process the given scene. Use the returned handle to retrieve the processed scene once the run call completes. The pipeline and scene will be serialized in this function call and any updates to pipeline settings and/or scene data will NOT affect the execution in this pipeline batch.
QueueFile Queue execution of a pipeline on a scene, both given as external files. Use the returned handle to retrieve the processed scene once the run call completes.
Run Run processing on all queued pipelines using the given run mode, either local or distributed, and clear the queue.

# Static methods

Method Description
IsClassA Returns true if the class is a or is a descendant of the class named as the type parameter.
SafeCast SafeCast makes sure the input object is of a class that can be cast into spPipelineBatch, and if this is the case, returns the object cast into spPipelineBatch.

# Properties details

# CascadedRunMode

The run mode to use on cascaded pipelines when executing the pipeline batch.

# Syntax

// Setter
void SetCascadedRunMode( Simplygon::EPipelineRunMode mode );

// Getter
Simplygon::EPipelineRunMode GetCascadedRunMode();

# SetCascadedRunMode parameters

Type Name Min Max Description
EPipelineRunMode mode The run mode to use for cascaded pipelines.

# GetCascadedRunMode return value

Type: EPipelineRunMode

Key Value Comment
RunInThisProcess 0 Run the pipeline in this process
RunInNewProcess 1 Run the pipeline in a new process using the batch executor tool
RunDistributedUsingSimplygonGrid 2 Run the pipeline distributed using SimplygonGrid
RunDistributedUsingIncredibuild 3 Run the pipeline distributed using IncrediBuild
RunDistributedUsingFastbuild 4 Run the pipeline distributed using Fastbuild

# StoragePath

The path to the directory where data is serialized. All pipelines and scenes are serialized in this path as temporary storage. If the path is not explicitly set the pipeline batch will create a temporary directory which will be removed once the pipeline batch object is deallocated, discarding all processed scenes.

# Syntax

// Setter
void SetStoragePath( const char * path );

// Getter
spString GetStoragePath();

# SetStoragePath parameters

Type Name Min Max Description
const char * path The path to use to serialize temporary storage of pipelines and scenes.

# GetStoragePath return value

Type: spString

# Methods details

# Clear

Manually clear the queue.

# Syntax

void Clear();

# Parameters

Type Name Min Max Description

# GetBatchCount

Get the number of pipelines queued in the pipeline batch.

# Syntax

unsigned int GetBatchCount();

# Parameters

Type Name Min Max Description

# Return value

Type: unsigned int

# GetClass

Get the name of the PipelineBatch class.

# Syntax

spString GetClass();

# Parameters

GetClass takes no parameters.

# Return value

Type: spString

# GetOutputPath

Get the path of the serialized output scene for the given batch index.

# Syntax

spString GetOutputPath( unsigned int index );

# Parameters

Type Name Min Max Description
unsigned int index The batch index.

# Return value

Type: spString

# GetPipelinePath

Get the path of the serialized pipeline for the given batch index.

# Syntax

spString GetPipelinePath( unsigned int index );

# Parameters

Type Name Min Max Description
unsigned int index The batch index.

# Return value

Type: spString

# GetScenePath

Get the path of the serialized input scene for the given batch index.

# Syntax

spString GetScenePath( unsigned int index );

# Parameters

Type Name Min Max Description
unsigned int index The batch index.

# Return value

Type: spString

# IsA

Returns true if PipelineBatch is a or is a descendant of the class named as the type parameter.

# Syntax

bool IsA( const char * type );

# Parameters

Type Name Min Max Description
const char * type Name of the class to check if PipelineBatch is, or is a descendant of.

# Return value

Type: bool

# IsNull

Returns true if the PipelineBatch object is invalid.

# Syntax

bool IsNull();

# Parameters

IsNull takes no parameters.

# Return value

Type: bool

# LoadProcessedScene

Load the output scene for the given queue handle. For a cascaded pipeline, use GetCascadedSceneCount/GetCascadedSceneForIndex on the returned scene to get the corresponding cascaded scene output.

# Syntax

spScene LoadProcessedScene( unsigned int handle );

# Parameters

Type Name Min Max Description
unsigned int handle The handle for the scene as returned by a call to Queue/QueueFile.

# Return value

Type: Scene

# Queue

Queue a pipeline to process the given scene. Use the returned handle to retrieve the processed scene once the run call completes. The pipeline and scene will be serialized in this function call and any updates to pipeline settings and/or scene data will NOT affect the execution in this pipeline batch.

# Syntax

unsigned int Queue( spPipeline pipeline , spScene scene );

# Parameters

Type Name Min Max Description
Pipeline pipeline The pipeline to execute.
Scene scene The scene to process.

# Return value

Type: unsigned int

# QueueFile

Queue execution of a pipeline on a scene, both given as external files. Use the returned handle to retrieve the processed scene once the run call completes.

# Syntax

unsigned int QueueFile( const char * pipeline , const char * scene );

# Parameters

Type Name Min Max Description
const char * pipeline The pipeline file to execute.
const char * scene The scene file to process.

# Return value

Type: unsigned int

# Run

Run processing on all queued pipelines using the given run mode, either local or distributed, and clear the queue.

# Syntax

void Run( Simplygon::EPipelineRunMode runMode );

# Parameters

Type Name Min Max Description
EPipelineRunMode runMode The run mode for all pipelines.

# Static methods details

# IsClassA

Returns true if the class is a or is a descendant of the class named as the type parameter.

# Syntax

static bool IsClassA( const char * type );

# Parameters

Type Name Min Max Description
const char * type Name of the class to check if the class is, or is a descendant of.

# Return value

Type: bool

# SafeCast

SafeCast makes sure the input object is of a class that can be cast into spPipelineBatch, and if this is the case, returns the object cast into spPipelineBatch.

# Syntax

static spPipelineBatch SafeCast( spObject object );

# Parameters

Type Name Min Max Description
Object object Object to cast.

# Return value

Type: PipelineBatch