# class BillboardCloudPipeline

BillboardCloudPipeline provides a pipeline for a billboard cloud impostor processor to be applied on the input scene.

# Properties

Property Description
Name The name of the BillboardCloudPipeline object. (Inherited from Object)

# Methods

Method Description
AddCascadedPipeline Add a cascaded child pipeline. The child pipeline will execute on the scene output from this pipeline. (Inherited from Pipeline)
AddMaterialCaster Add a material caster. Material casting requires the mapping image generation to be enabled (SetGenerateMappingImage in MappingImageSettings returned by GetMappingImageSettings). If called with a material index set to non-zero, the mapping image for the corresponding output material will be used. See GetOutputMaterialCount/SetOutputMaterialCount in MappingImageSettings. (Inherited from Pipeline)
AddMaterialCasterByType Add a material caster by type name. Type name should undecorated base name of caster, for example "Color", "AmbientOcclusion", "Normal" etc. Material casting requires the mapping image generation to be enabled (SetGenerateMappingImage in MappingImageSettings returned by GetMappingImageSettings). If called with a material index set to non-zero, the mapping image for the corresponding output material will be used. See GetOutputMaterialCount/SetOutputMaterialCount in MappingImageSettings. (Inherited from Pipeline)
AddObserver Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)
GetActiveSelectionSets Get the names of all currently active selection sets used by this pipeline, based on the current settings (Inherited from Pipeline)
GetBillboardCloudSettings The billboard cloud settings object containing the billboard cloud settings for this pipeline.
GetBoolParameter Get a named parameter boolean value including parameter path. (Inherited from Pipeline)
GetCascadedPipelineByIndex The cascaded child pipeline object for the given index. (Inherited from Pipeline)
GetCascadedPipelineCount Get number of cascaded child pipelines. (Inherited from Pipeline)
GetClass Get the name of the BillboardCloudPipeline class. (Inherited from Object)
GetDoubleParameter Get a named parameter floating point value including parameter path. (Inherited from Pipeline)
GetEnumParameter Get a named parameter enum value as int including parameter path. (Inherited from Pipeline)
GetIntParameter Get a named parameter integer value including parameter path. (Inherited from Pipeline)
GetMappingImage The mapping image from the performed remeshing. Should only be called after the pipeline has been run. The return value will be null if the pipeline does not use material casting and mapping images. (Inherited from Pipeline)
GetMappingImageSettings The mapping image settings object containing the mapping image settings for this pipeline. The return value will be null if the pipeline does not use material casting and mapping images. (Inherited from Pipeline)
GetMaterialCasterByIndex Get the material caster in the pipeline for the given index, which must be less than the material caster count. (Inherited from Pipeline)
GetMaterialCasterCount Get the number of material casters for the pipeline. (Inherited from Pipeline)
GetMaterialCasters The material casters for the pipeline. (Inherited from Pipeline)
GetParameterType Get a named parameter data type including parameter path. (Inherited from Pipeline)
GetPercentDone Returns the current progress of the pipeline as a value between 0 and 100. (Inherited from Pipeline)
GetPipelineSettings The settings for the pipeline. (Inherited from Pipeline)
GetProcessedScene The resulting scene from the last execution of this pipeline. (Inherited from Pipeline)
GetStringParameter Get a named parameter string value including parameter path. (Inherited from Pipeline)
GetUIntParameter Get a named parameter unsigned integer value including parameter path. (Inherited from Pipeline)
IsA Returns true if BillboardCloudPipeline is a or is a descendant of the class named as the type parameter. (Inherited from Object)
IsNull Returns true if the BillboardCloudPipeline object is invalid. (Inherited from Object)
IsSameObjectAs Returns true if the BillboardCloudPipeline object is valid. (Inherited from Object)
NewCopy Create a new clone of the pipeline, copying all settings and material casters as well as creating new copies of all cascaded pipelines. (Inherited from Pipeline)
NonNull Returns true if the BillboardCloudPipeline object is valid. (Inherited from Object)
PrintInfo Prints the content/info of the BillboardCloudPipeline object to the log. (Inherited from Object)
RemoveCascadedPipeline Remove a cascaded child pipeline. (Inherited from Pipeline)
RemoveObserver Removes a previously added observer object. (Inherited from Object)
RunScene Run the pipeline on the given scene, which will be modified and contain the result of the pipeline when the function returns. Please note that internal references might be modified by the pipeline. The caller should refresh any reference that is cached outside the scene after running the pipeline. (Inherited from Pipeline)
RunSceneFromFile Run the pipeline on the scene loaded from the given input scene file, and optionally write the resulting scene to the given output scene file. If the scene is not written to file it can be accessed with the GetProcessedScene method. When using cascaded pipelines with RunSceneFromFile and the output file format does not support cascaded scenes (OBJ, FBX, glTF), only the scene from the first top level pipeline is exported to the output file. (Inherited from Pipeline)
SetBoolParameter Set a named parameter boolean value including parameter path. (Inherited from Pipeline)
SetDoubleParameter Set a named parameter floating point value including parameter path. (Inherited from Pipeline)
SetEnumParameter Set a named parameter enum value including parameter path. (Inherited from Pipeline)
SetIntParameter Set a named parameter integer value including parameter path. (Inherited from Pipeline)
SetParameterFromString Set a named parameter value including parameter path. The string will be parsed with best effort according to the parameter data type. (Inherited from Pipeline)
SetStringParameter Set a named parameter string value including parameter path. (Inherited from Pipeline)
SetUIntParameter Set a named parameter unsigned integer value including parameter path. (Inherited from Pipeline)

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

# Properties details

# Name

The name of the BillboardCloudPipeline 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

# Methods details

# AddCascadedPipeline

Add a cascaded child pipeline. The child pipeline will execute on the scene output from this pipeline.

# Syntax

void AddCascadedPipeline( const spPipeline & pipeline ) const;

# Parameters

Type Name Min Max Description
Pipeline pipeline The pipeline to add as a cascaded child pipeline.

# AddMaterialCaster

Add a material caster. Material casting requires the mapping image generation to be enabled (SetGenerateMappingImage in MappingImageSettings returned by GetMappingImageSettings). If called with a material index set to non-zero, the mapping image for the corresponding output material will be used. See GetOutputMaterialCount/SetOutputMaterialCount in MappingImageSettings.

# Syntax

void AddMaterialCaster( const spMaterialCaster & MaterialCaster , unsigned int MaterialIndex ) const;

# Parameters

Type Name Min Max Description
MaterialCaster MaterialCaster The material caster to add.
unsigned int MaterialIndex The material index the caster will be associated with, 0 for first material.

# AddMaterialCasterByType

Add a material caster by type name. Type name should undecorated base name of caster, for example "Color", "AmbientOcclusion", "Normal" etc. Material casting requires the mapping image generation to be enabled (SetGenerateMappingImage in MappingImageSettings returned by GetMappingImageSettings). If called with a material index set to non-zero, the mapping image for the corresponding output material will be used. See GetOutputMaterialCount/SetOutputMaterialCount in MappingImageSettings.

# Syntax

spMaterialCaster AddMaterialCasterByType( const char * CasterType , unsigned int MaterialIndex ) const;

# Parameters

Type Name Min Max Description
const char * CasterType Caster type name, like "Color", "AmbientOcclusion", "Normal" or similar.
unsigned int MaterialIndex The material index the caster will be associated with, 0 for first material.

# Return value

Type: MaterialCaster

# 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

# GetActiveSelectionSets

Get the names of all currently active selection sets used by this pipeline, based on the current settings

# Syntax

void GetActiveSelectionSets( const spStringArray & sets ) const;

# Parameters

Type Name Min Max Description
StringArray sets The array recieving unique names of all selection sets being used by this pipeline.

# GetBillboardCloudSettings

The billboard cloud settings object containing the billboard cloud settings for this pipeline.

# Syntax

spBillboardCloudSettings GetBillboardCloudSettings() const;

# Parameters

GetBillboardCloudSettings takes no parameters.

# Return value

Type: BillboardCloudSettings

# GetBoolParameter

Get a named parameter boolean value including parameter path.

# Syntax

bool GetBoolParameter( const char * name ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries".

# Return value

Type: bool

# GetCascadedPipelineByIndex

The cascaded child pipeline object for the given index.

# Syntax

spPipeline GetCascadedPipelineByIndex( unsigned int index ) const;

# Parameters

Type Name Min Max Description
unsigned int index The index of the cascaded child pipeline.

# Return value

Type: Pipeline

# GetCascadedPipelineCount

Get number of cascaded child pipelines.

# Syntax

unsigned int GetCascadedPipelineCount() const;

# Parameters

GetCascadedPipelineCount takes no parameters.

# Return value

Type: unsigned int

# GetClass

Get the name of the BillboardCloudPipeline 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 including parameter path.

# Syntax

double GetDoubleParameter( const char * name ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries".

# Return value

Type: double

# GetEnumParameter

Get a named parameter enum value as int including parameter path.

# Syntax

int GetEnumParameter( const char * name ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries".

# Return value

Type: int

# GetIntParameter

Get a named parameter integer value including parameter path.

# Syntax

int GetIntParameter( const char * name ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries".

# Return value

Type: int

# GetMappingImage

The mapping image from the performed remeshing. Should only be called after the pipeline has been run. The return value will be null if the pipeline does not use material casting and mapping images.

# Syntax

spMappingImage GetMappingImage( unsigned int materialIndex ) const;

# Parameters

Type Name Min Max Description
unsigned int materialIndex The index of the output material to get the mapping image for.

# Return value

Type: MappingImage

# GetMappingImageSettings

The mapping image settings object containing the mapping image settings for this pipeline. The return value will be null if the pipeline does not use material casting and mapping images.

# Syntax

spMappingImageSettings GetMappingImageSettings() const;

# Parameters

GetMappingImageSettings takes no parameters.

# Return value

Type: MappingImageSettings

# GetMaterialCasterByIndex

Get the material caster in the pipeline for the given index, which must be less than the material caster count.

# Syntax

spMaterialCaster GetMaterialCasterByIndex( unsigned int index ) const;

# Parameters

Type Name Min Max Description
unsigned int index 0 MaterialCasterCount Material caster index, must be less than the material caster count.

# Return value

Type: MaterialCaster

# GetMaterialCasterCount

Get the number of material casters for the pipeline.

# Syntax

unsigned int GetMaterialCasterCount() const;

# Parameters

GetMaterialCasterCount takes no parameters.

# Return value

Type: unsigned int

# GetMaterialCasters

The material casters for the pipeline.

# Syntax

spObjectCollection GetMaterialCasters() const;

# Parameters

GetMaterialCasters takes no parameters.

# Return value

Type: ObjectCollection

# GetParameterType

Get a named parameter data type including parameter path.

# Syntax

Simplygon::ESettingValueType GetParameterType( const char * name ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries".

# Return value

Type: ESettingValueType

Key Value Comment
Invalid 0 Invalid settings value type.
Bool 1 Bool settings type.
Int 2 Int settings type.
Uint 3 Unsigned int settings type.
Double 4 Double floating point settings type.
String 5 String settings type.
EPipelineRunMode 6 EPipelineRunMode settings type.
EChartAggregatorMode 8 EChartAggregatorMode settings type.
ETexcoordGeneratorType 9 ETexcoordGeneratorType settings type.
EOcclusionMode 10 EOcclusionMode settings type.
EStopCondition 11 EStopCondition settings type.
EDataCreationPreferences 12 EDataCreationPreferences settings type.
EReductionHeuristics 13 EReductionHeuristics settings type.
EWeightsFromColorMode 14 EWeightsFromColorMode settings type.
ESurfaceTransferMode 15 ESurfaceTransferMode settings type.
ERemeshingMode 16 ERemeshingMode settings type.
ETangentSpaceMethod 17 ETangentSpaceMethod settings type.
EGeometryDataFieldType 18 EGeometryDataFieldType settings type.
EAtlasFillMode 19 EAtlasFillMode settings type.
EDitherPatterns 20 EDitherPatterns settings type.
EComputeVisibilityMode 21 EComputeVisibilityMode settings type.
ESurfaceAreaScale 22 ESurfaceAreaScale settings type.
EImpostorType 23 EImpostorType settings type.
ESymmetryAxis 24 ESymmetryAxis settings type.
EPixelFormat 25 EPixelFormat settings type.
EColorComponent 26 EColorComponent settings type.
EHoleFilling 27 EHoleFilling settings type.
EImageInputFormat 28 EImageInputFormat settings type.
EImageOutputFormat 29 EImageOutputFormat settings type.
EDDSCompressionType 30 EDDSCompressionType settings type.
EBillboardMode 31 EBillboardMode settings type.
EOpacityType 32 EOpacityType settings type.
EInputSceneValidationActionType 33 EInputSceneValidationActionType settings type.

# GetPercentDone

Returns the current progress of the pipeline as a value between 0 and 100.

# Syntax

real GetPercentDone() const;

# Parameters

GetPercentDone takes no parameters.

# Return value

Type: real

# GetPipelineSettings

The settings for the pipeline.

# Syntax

spPipelineSettings GetPipelineSettings() const;

# Parameters

GetPipelineSettings takes no parameters.

# Return value

Type: PipelineSettings

# GetProcessedScene

The resulting scene from the last execution of this pipeline.

# Syntax

spScene GetProcessedScene() const;

# Parameters

GetProcessedScene takes no parameters.

# Return value

Type: Scene

# GetStringParameter

Get a named parameter string value including parameter path.

# Syntax

spString GetStringParameter( const char * name ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries".

# Return value

Type: spString

# GetUIntParameter

Get a named parameter unsigned integer value including parameter path.

# Syntax

unsigned int GetUIntParameter( const char * name ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries".

# Return value

Type: unsigned int

# IsA

Returns true if BillboardCloudPipeline 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 BillboardCloudPipeline is, or is a descendant of.

# Return value

Type: bool

# IsNull

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

# Syntax

bool IsNull() const;

# Parameters

IsNull takes no parameters.

# Return value

Type: bool

# IsSameObjectAs

Returns true if the BillboardCloudPipeline 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

# NewCopy

Create a new clone of the pipeline, copying all settings and material casters as well as creating new copies of all cascaded pipelines.

# Syntax

spPipeline NewCopy() const;

# Parameters

Type Name Min Max Description

# Return value

Type: Pipeline

# NonNull

Returns true if the BillboardCloudPipeline 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 BillboardCloudPipeline object to the log. (Inherited from Object)

# Syntax

void PrintInfo() const;

# Parameters

PrintInfo takes no parameters.

# RemoveCascadedPipeline

Remove a cascaded child pipeline.

# Syntax

void RemoveCascadedPipeline( const spPipeline & pipeline ) const;

# Parameters

Type Name Min Max Description
Pipeline pipeline The pipeline to remove from list of cascaded child pipelines.

# 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.

# RunScene

Run the pipeline on the given scene, which will be modified and contain the result of the pipeline when the function returns. Please note that internal references might be modified by the pipeline. The caller should refresh any reference that is cached outside the scene after running the pipeline.

# Syntax

Simplygon::EProcessStatus RunScene( const spScene & scene , Simplygon::EPipelineRunMode run_mode ) const;

# Parameters

Type Name Min Max Description
Scene scene The scene to run the pipeline on.
EPipelineRunMode run_mode Pipeline run mode controlling if pipeline run in this or separate/distributed process. Valid values are the SG_PIPELINE_RUN* constants (from PipelineRunMode enum).

# Return value

Type: EProcessStatus

Key Value Comment
Finished 0 The process finished with no error
Skipped 1 The process was skipped, in most cases because of a missing or invalid object, or that there was nothing to process. See the log for details.

# RunSceneFromFile

Run the pipeline on the scene loaded from the given input scene file, and optionally write the resulting scene to the given output scene file. If the scene is not written to file it can be accessed with the GetProcessedScene method. When using cascaded pipelines with RunSceneFromFile and the output file format does not support cascaded scenes (OBJ, FBX, glTF), only the scene from the first top level pipeline is exported to the output file.

# Syntax

Simplygon::EProcessStatus RunSceneFromFile( const char * input_scene , const char * output_scene , Simplygon::EPipelineRunMode run_mode ) const;

# Parameters

Type Name Min Max Description
const char * input_scene The file path of the input scene file.
const char * output_scene The file path of the output scene file (can be null)
EPipelineRunMode run_mode Pipeline run mode controlling if pipeline run in this or separate/distributed process. Valid values are the SG_PIPELINE_RUN* constants (from PipelineRunMode enum).

# Return value

Type: EProcessStatus

Key Value Comment
Finished 0 The process finished with no error
Skipped 1 The process was skipped, in most cases because of a missing or invalid object, or that there was nothing to process. See the log for details.

# SetBoolParameter

Set a named parameter boolean value including parameter path.

# Syntax

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

# Parameters

Type Name Min Max Description
const char * name Parameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries".
bool value New value for parameter.

# Return value

Type: bool

# SetDoubleParameter

Set a named parameter floating point value including parameter path.

# Syntax

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

# Parameters

Type Name Min Max Description
const char * name Parameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries".
double value New value for parameter.

# Return value

Type: bool

# SetEnumParameter

Set a named parameter enum value including parameter path.

# Syntax

bool SetEnumParameter( const char * name , int value , Simplygon::ESettingValueType valueEnumType ) const;

# Parameters

Type Name Min Max Description
const char * name Parameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries".
int value New value for parameter.
ESettingValueType valueEnumType Value type of enum for parameter value.

# Return value

Type: bool

# SetIntParameter

Set a named parameter integer value including parameter path.

# Syntax

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

# Parameters

Type Name Min Max Description
const char * name Parameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries".
int value New value for parameter.

# Return value

Type: bool

# SetParameterFromString

Set a named parameter value including parameter path. The string will be parsed with best effort according to the parameter data type.

# Syntax

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

# Parameters

Type Name Min Max Description
const char * name Parameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries".
const char * value New value for parameter.

# Return value

Type: bool

# SetStringParameter

Set a named parameter string value including parameter path.

# Syntax

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

# Parameters

Type Name Min Max Description
const char * name Parameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries".
const char * value New value for parameter.

# Return value

Type: bool

# SetUIntParameter

Set a named parameter unsigned integer value including parameter path.

# Syntax

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

# Parameters

Type Name Min Max Description
const char * name Parameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries".
unsigned int value New value for parameter.

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

# Syntax

static spBillboardCloudPipeline SafeCast( const spObject & object ) const;

# Parameters

Type Name Min Max Description
Object object Object to cast.

# Return value

Type: BillboardCloudPipeline