# class PipelineSettings

PipelineSettings is the interface used to manage settings for a pipeline

# Properties

Property Description
CascadedRunMode Set run mode to use for cascaded child pipelines.
EmbedReferences Set flag to control if output file formats that support embedding referenced resources (like textures) should do so.
IntermediateStep Set flag to control if this pipeline step is an intermediate step where the processed scene is only used as input to the next cascaded pipeline and not for export or further access. This will discard any processed data once all cascaded pipelines are done, and the scene will be ignored during export. Useful if you want to group two pipelines together for one output, for example an aggregation and a reduction pipeline where you only want the output from the combined aggregation + reduction.
Name The name of the PipelineSettings object. (Inherited from Object)
OutputMaterialName The name of the output material. If the output material count is greater than one, an index separated with an underscore will be appended to the material names, such that MyMaterial becomes MyMaterial_0, MyMaterial_1 and so on.
OutputUniqueMaterialNames Generate unique material names if set to true, by replacing the default scheme of appending a sequential material index to the name with appending a GUID. This will make the material names unique each time the pipeline is run, even on the same input scene.
SimplygonBatchPath The path for the batch tool used when executing pipelines in a new/distributed process. This should be the path to the directory where the SimplygonBatch executable is located. If the tool is in the system path this setting should be an empty string.
TextureOutputPath The path where the pipeline will save any created textures from material casters. A relative path will be treated as relative to the scene file output path if the pipeline is executed with scene file paths (RunSceneFromFile), or from the current working directory if the pipeline is executed with a scene object (RunScene). The directory must exist, it will not be created.

# Methods

Method Description
AddObserver Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)
GetBoolParameter Get a named parameter boolean value. (Inherited from SettingsObject)
GetClass Get the name of the PipelineSettings class. (Inherited from Object)
GetDoubleParameter Get a named parameter floating point value. (Inherited from SettingsObject)
GetErrorString Returns a string describing the error that was found the last time ValidateSettings was performed. (Inherited from SettingsObject)
GetIntParameter Get a named parameter integer value. (Inherited from SettingsObject)
GetStringParameter Get a named parameter string value. (Inherited from SettingsObject)
GetUIntParameter Get a named parameter unsigned integer value. (Inherited from SettingsObject)
IsA Returns true if PipelineSettings is a or is a descendant of the class named as the type parameter. (Inherited from Object)
IsNull Returns true if the PipelineSettings object is invalid. (Inherited from Object)
IsSameObjectAs Returns true if the PipelineSettings object is valid. (Inherited from Object)
NonNull Returns true if the PipelineSettings object is valid. (Inherited from Object)
PrintInfo Prints the content/info of the PipelineSettings object to the log. (Inherited from Object)
RemoveObserver Removes a previously added observer object. (Inherited from Object)
SetBoolParameter Set a named parameter boolean value. (Inherited from SettingsObject)
SetDoubleParameter Set a named parameter floating point value. (Inherited from SettingsObject)
SetIntParameter Set a named parameter integer value. (Inherited from SettingsObject)
SetStringParameter Set a named parameter string value. (Inherited from SettingsObject)
SetUIntParameter Set a named parameter unsigned integer value. (Inherited from SettingsObject)
SetValidateParameterNames Set if parameter names should be validated or not. Parameters that previously do not exist will generate and error if validation is enabled and be allowed if validation is disabled. (Inherited from SettingsObject)
ToJSON Get settings as JSON for debugging purposes. (Inherited from SettingsObject)
ValidateSettings Validates the current settings values. (Inherited from SettingsObject)

# Static methods

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

# Properties details

# CascadedRunMode

Set run mode to use for cascaded child pipelines.

# Syntax

// Setter
void SetCascadedRunMode( Simplygon::EPipelineRunMode value ) const;

// Getter
Simplygon::EPipelineRunMode GetCascadedRunMode() const;

# SetCascadedRunMode parameters

Type Name Min Max Description
EPipelineRunMode value Run mode for cascaded child pipelines.

# GetCascadedRunMode return value

Type: EPipelineRunMode

Default: RunInThisProcess

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

# EmbedReferences

Set flag to control if output file formats that support embedding referenced resources (like textures) should do so.

# Syntax

// Setter
void SetEmbedReferences( bool value ) const;

// Getter
bool GetEmbedReferences() const;

# SetEmbedReferences parameters

Type Name Min Max Description
bool value Embed flag.

# GetEmbedReferences return value

Type: bool

Default: false

# IntermediateStep

Set flag to control if this pipeline step is an intermediate step where the processed scene is only used as input to the next cascaded pipeline and not for export or further access. This will discard any processed data once all cascaded pipelines are done, and the scene will be ignored during export. Useful if you want to group two pipelines together for one output, for example an aggregation and a reduction pipeline where you only want the output from the combined aggregation + reduction.

# Syntax

// Setter
void SetIntermediateStep( bool value ) const;

// Getter
bool GetIntermediateStep() const;

# SetIntermediateStep parameters

Type Name Min Max Description
bool value Intermediate step flag.

# GetIntermediateStep return value

Type: bool

Default: false

# Name

The name of the PipelineSettings object. (Inherited from Object)

# Syntax

// Setter
void SetName( const char * name ) const;

// Getter
spString GetName() const;

# SetName parameters

Type Name Min Max Description
const char * name New name of the object.

# GetName return value

Type: spString

# OutputMaterialName

The name of the output material. If the output material count is greater than one, an index separated with an underscore will be appended to the material names, such that MyMaterial becomes MyMaterial_0, MyMaterial_1 and so on.

# Syntax

// Setter
void SetOutputMaterialName( const char * value ) const;

// Getter
spString GetOutputMaterialName() const;

# SetOutputMaterialName parameters

Type Name Min Max Description
const char * value Output material name.

# GetOutputMaterialName return value

Type: spString

Default: SimplygonCastMaterial

# OutputUniqueMaterialNames

Generate unique material names if set to true, by replacing the default scheme of appending a sequential material index to the name with appending a GUID. This will make the material names unique each time the pipeline is run, even on the same input scene.

# Syntax

// Setter
void SetOutputUniqueMaterialNames( bool value ) const;

// Getter
bool GetOutputUniqueMaterialNames() const;

# SetOutputUniqueMaterialNames parameters

Type Name Min Max Description
bool value Flag controlling if material names are unique or sequential.

# GetOutputUniqueMaterialNames return value

Type: bool

Default: false

# SimplygonBatchPath

The path for the batch tool used when executing pipelines in a new/distributed process. This should be the path to the directory where the SimplygonBatch executable is located. If the tool is in the system path this setting should be an empty string.

# Syntax

// Setter
void SetSimplygonBatchPath( const char * value ) const;

// Getter
spString GetSimplygonBatchPath() const;

# SetSimplygonBatchPath parameters

Type Name Min Max Description
const char * value Path where SimplygonBatch executable is located.

# GetSimplygonBatchPath return value

Type: spString

# TextureOutputPath

The path where the pipeline will save any created textures from material casters. A relative path will be treated as relative to the scene file output path if the pipeline is executed with scene file paths (RunSceneFromFile), or from the current working directory if the pipeline is executed with a scene object (RunScene). The directory must exist, it will not be created.

# Syntax

// Setter
void SetTextureOutputPath( const char * value ) const;

// Getter
spString GetTextureOutputPath() const;

# SetTextureOutputPath parameters

Type Name Min Max Description
const char * value Path where created textures will be saved.

# GetTextureOutputPath return value

Type: spString

Default: nullptr

# Methods details

# AddObserver

Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)

# Syntax

rid AddObserver( const spObserver & observer ) const;

# Parameters

Type Name Min Max Description
Observer observer Observer is the object that will receive events.

# Return value

Type: rid

# GetBoolParameter

Get a named parameter boolean value.

# Syntax

bool GetBoolParameter( const char * name ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter name.

# Return value

Type: bool

# GetClass

Get the name of the PipelineSettings class. (Inherited from Object)

# Syntax

spString GetClass() const;

# Parameters

GetClass takes no parameters.

# Return value

Type: spString

# GetDoubleParameter

Get a named parameter floating point value.

# Syntax

double GetDoubleParameter( const char * name ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter name.

# Return value

Type: double

# GetErrorString

Returns a string describing the error that was found the last time ValidateSettings was performed.

# Syntax

spString GetErrorString() const;

# Parameters

GetErrorString takes no parameters.

# Return value

Type: spString

# GetIntParameter

Get a named parameter integer value.

# Syntax

int GetIntParameter( const char * name ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter name.

# Return value

Type: int

# GetStringParameter

Get a named parameter string value.

# Syntax

spString GetStringParameter( const char * name ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter name.

# Return value

Type: spString

# GetUIntParameter

Get a named parameter unsigned integer value.

# Syntax

unsigned int GetUIntParameter( const char * name ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter name.

# Return value

Type: unsigned int

# IsA

Returns true if PipelineSettings is a or is a descendant of the class named as the type parameter. (Inherited from Object)

# Syntax

bool IsA( const char * type ) const;

# Parameters

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

# Return value

Type: bool

# IsNull

Returns true if the PipelineSettings object is invalid. (Inherited from Object)

# Syntax

bool IsNull() const;

# Parameters

IsNull takes no parameters.

# Return value

Type: bool

# IsSameObjectAs

Returns true if the PipelineSettings object is valid. (Inherited from Object)

# Syntax

bool IsSameObjectAs( const spObject & object ) const;

# Parameters

Type Name Min Max Description
Object object Object to compare with.

# Return value

Type: bool

# NonNull

Returns true if the PipelineSettings object is valid. (Inherited from Object)

# Syntax

bool NonNull() const;

# Parameters

NonNull takes no parameters.

# Return value

Type: bool

# PrintInfo

Prints the content/info of the PipelineSettings object to the log. (Inherited from Object)

# Syntax

void PrintInfo() const;

# Parameters

PrintInfo takes no parameters.

# RemoveObserver

Removes a previously added observer object. (Inherited from Object)

# Syntax

void RemoveObserver( rid observerId ) const;

# Parameters

Type Name Min Max Description
rid observerId ObserverId is the id returned by AddObserver when the observer was added.

# SetBoolParameter

Set a named parameter boolean value.

# Syntax

bool SetBoolParameter( const char * name , bool value ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter name.
bool value New value for parameter.

# Return value

Type: bool

# SetDoubleParameter

Set a named parameter floating point value.

# Syntax

bool SetDoubleParameter( const char * name , double value ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter name.
double value New value for parameter.

# Return value

Type: bool

# SetIntParameter

Set a named parameter integer value.

# Syntax

bool SetIntParameter( const char * name , int value ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter name.
int value New value for parameter.

# Return value

Type: bool

# SetStringParameter

Set a named parameter string value.

# Syntax

bool SetStringParameter( const char * name , const char * value ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter name.
const char * value New value for parameter.

# Return value

Type: bool

# SetUIntParameter

Set a named parameter unsigned integer value.

# Syntax

bool SetUIntParameter( const char * name , unsigned int value ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter name.
unsigned int value New value for parameter.

# Return value

Type: bool

# SetValidateParameterNames

Set if parameter names should be validated or not. Parameters that previously do not exist will generate and error if validation is enabled and be allowed if validation is disabled.

# Syntax

void SetValidateParameterNames( bool validate ) const;

# Parameters

Type Name Min Max Description
bool validate Flag indicating if validation is performed or not.

# ToJSON

Get settings as JSON for debugging purposes.

# Syntax

spString ToJSON() const;

# Parameters

ToJSON takes no parameters.

# Return value

Type: spString

# ValidateSettings

Validates the current settings values.

# Syntax

bool ValidateSettings() const;

# Parameters

ValidateSettings takes no parameters.

# Return value

Type: bool

# Static methods details

# IsClassA

Returns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)

# Syntax

static bool IsClassA( const char * type ) const;

# 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 spPipelineSettings, and if this is the case, returns the object cast into spPipelineSettings. (Inherited from Object)

# Syntax

static spPipelineSettings SafeCast( const spObject & object ) const;

# Parameters

Type Name Min Max Description
Object object Object to cast.

# Return value

Type: PipelineSettings