Simplygon C++ API  8.3.35800.0
SimplygonSDK::IPipeline Class Referenceabstract

#include <SimplygonSDK.h>

Inheritance diagram for SimplygonSDK::IPipeline:
SimplygonSDK::IObject SimplygonSDK::IAggregationPipeline SimplygonSDK::IReductionPipeline SimplygonSDK::IRemeshingPipeline

Public Member Functions

virtual void AddMaterialCaster (IMaterialCaster *MaterialCaster, unsigned int MaterialIndex)=0
 
virtual CountedPointer< IMaterialCasterAddMaterialCasterByType (const char *CasterType, unsigned int MaterialIndex)=0
 
virtual bool GetBoolParameter (const char *name)=0
 
virtual const char * GetClass ()
 
virtual double GetDoubleParameter (const char *name)=0
 
virtual int GetIntParameter (const char *name)=0
 
virtual CountedPointer< IObjectCollectionGetMaterialCasters ()=0
 
virtual unsigned int GetParameterType (const char *name)=0
 
virtual CountedPointer< IPipelineSettingsGetPipelineSettings ()=0
 
virtual rstring GetStringParameter (const char *name)=0
 
virtual unsigned int GetUIntParameter (const char *name)=0
 
virtual bool IsA (const char *type) const
 
virtual void RunScene (IScene *scene)=0
 
virtual void RunSceneFromFile (const char *input_scene, const char *output_scene)=0
 
virtual bool SetBoolParameter (const char *name, bool value)=0
 
virtual bool SetDoubleParameter (const char *name, double value)=0
 
virtual bool SetIntParameter (const char *name, int value)=0
 
virtual bool SetParameterFromString (const char *name, const char *value)=0
 
virtual bool SetStringParameter (const char *name, const char *value)=0
 
virtual bool SetUIntParameter (const char *name, unsigned int value)=0
 
- Public Member Functions inherited from SimplygonSDK::IObject
virtual rid AddObserver (robserver *Observer, rid EventId)=0
 
virtual void AddRef ()=0
 
virtual rstring GetName ()=0
 
virtual void * GetUserComponentArea (rid userid)=0
 
virtual void PrintInfo ()=0
 
virtual void Release ()=0
 
virtual void RemoveObserver (rid ObserverId)=0
 
virtual void SetName (const char *Name)=0
 

Static Public Member Functions

static bool IsClassA (const char *type)
 
static IPipelineSafeCast (IObject *ptr)
 
- Static Public Member Functions inherited from SimplygonSDK::IObject
static bool IsClassA (const char *type)
 
static IObjectSafeCast (IObject *ptr)
 

Detailed Description

IPipeline is the interface for a processing pipeline, which applies a number of processing opearations on an input scene to generate an output scene. The input and output scenes can be any file format supported by Simplygon.

Definition at line 21476 of file SimplygonSDK.h.

Member Function Documentation

◆ AddMaterialCaster()

virtual void SimplygonSDK::IPipeline::AddMaterialCaster ( IMaterialCaster MaterialCaster,
unsigned int  MaterialIndex 
)
pure virtual

Add a material caster. Material casting requires the mapping image generation to be enabled (SetGenerateMappingImage in IMappingImageSettings 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 IMappingImageSettings

Parameters
MaterialCasterThe material caster to add
MaterialIndexThe material index the caster will be associated with, 0 for first material

◆ AddMaterialCasterByType()

virtual CountedPointer<IMaterialCaster> SimplygonSDK::IPipeline::AddMaterialCasterByType ( const char *  CasterType,
unsigned int  MaterialIndex 
)
pure virtual

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 IMappingImageSettings 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 IMappingImageSettings

Parameters
CasterTypeCaster type name, like "Color", "AmbientOcclusion", "Normal" or similar
MaterialIndexThe material index the caster will be associated with, 0 for first material
Returns
The new material caster

◆ GetBoolParameter()

virtual bool SimplygonSDK::IPipeline::GetBoolParameter ( const char *  name)
pure virtual

Get a named parameter boolean value including parameter path.

Parameters
nameParameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries"
Returns
Parameter value, or false if invalid parameter path or mismatching type

◆ GetClass()

virtual const char* SimplygonSDK::IPipeline::GetClass ( )
virtual

GetClass returns the name of the class of the object.

Returns
the name of the actual class of the object, as a const char string

Reimplemented from SimplygonSDK::IObject.

Reimplemented in SimplygonSDK::IAggregationPipeline, SimplygonSDK::IRemeshingPipeline, and SimplygonSDK::IReductionPipeline.

◆ GetDoubleParameter()

virtual double SimplygonSDK::IPipeline::GetDoubleParameter ( const char *  name)
pure virtual

Get a named parameter floating point value including parameter path.

Parameters
nameParameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries"
Returns
Parameter value, or 0 if invalid parameter path or mismatching type

◆ GetIntParameter()

virtual int SimplygonSDK::IPipeline::GetIntParameter ( const char *  name)
pure virtual

Get a named parameter integer value including parameter path.

Parameters
nameParameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries"
Returns
Parameter value, or 0 if invalid parameter path or mismatching type

◆ GetMaterialCasters()

virtual CountedPointer<IObjectCollection> SimplygonSDK::IPipeline::GetMaterialCasters ( )
pure virtual

Get the material casters for the pipeline

Returns
All material casters

◆ GetParameterType()

virtual unsigned int SimplygonSDK::IPipeline::GetParameterType ( const char *  name)
pure virtual

Get a named parameter data type including parameter path.

Parameters
nameParameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries"
Returns
parameter data type (see SettingValueType enum), or SG_SETTINGVALUETYPE_INVALID if invalid parameter path

◆ GetPipelineSettings()

virtual CountedPointer<IPipelineSettings> SimplygonSDK::IPipeline::GetPipelineSettings ( )
pure virtual

Get the settings for the pipeline

Returns
Settings object for pipeline

◆ GetStringParameter()

virtual rstring SimplygonSDK::IPipeline::GetStringParameter ( const char *  name)
pure virtual

Get a named parameter string value including parameter path.

Parameters
nameParameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries"
Returns
Parameter value, or null pointer if invalid parameter path or mismatching type

◆ GetUIntParameter()

virtual unsigned int SimplygonSDK::IPipeline::GetUIntParameter ( const char *  name)
pure virtual

Get a named parameter unsigned integer value including parameter path.

Parameters
nameParameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries"
Returns
Parameter value, or 0 if invalid parameter path or mismatching type

◆ IsA()

virtual bool SimplygonSDK::IPipeline::IsA ( const char *  type) const
virtual

The IsA function returns true if the object is a or is a descendant of the class named as the type parameter

Parameters
typeis the name of the class to check if the object is, or is a descendant of
Returns
true if the object is of the specified class, false if not

Reimplemented from SimplygonSDK::IObject.

Reimplemented in SimplygonSDK::IAggregationPipeline, SimplygonSDK::IRemeshingPipeline, and SimplygonSDK::IReductionPipeline.

◆ IsClassA()

static bool SimplygonSDK::IPipeline::IsClassA ( const char *  type)
inlinestatic

The IsClassA function returns true if IPipeline is a or is a descendant of the class named as the type parameter

Parameters
typeis the name of the class to check if the class is, or is a descendant of
Returns
true if the class is of the specified class, false if not

Definition at line 21497 of file SimplygonSDK.h.

◆ RunScene()

virtual void SimplygonSDK::IPipeline::RunScene ( IScene scene)
pure virtual

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

Parameters
sceneThe scene to run the pipeline on.

◆ RunSceneFromFile()

virtual void SimplygonSDK::IPipeline::RunSceneFromFile ( const char *  input_scene,
const char *  output_scene 
)
pure virtual

Run the pipeline on the scene loaded from the given input scene file, and write the resulting scene to the given output scene file

Parameters
input_sceneThe file path of the input scene file
output_sceneThe file path of the output scene file

◆ SafeCast()

static IPipeline* SimplygonSDK::IPipeline::SafeCast ( IObject ptr)
inlinestatic

SafeCast makes sure the pointer is of a class that can be cast into a IPipeline pointer, and if this is possible, returns the cast pointer.

Parameters
ptris the pointer to be cast into a IPipeline pointer
Returns
a pointer to the IPipeline object, if the cast can be made, and a NULL pointer otherwise

Definition at line 21510 of file SimplygonSDK.h.

◆ SetBoolParameter()

virtual bool SimplygonSDK::IPipeline::SetBoolParameter ( const char *  name,
bool  value 
)
pure virtual

Set a named parameter boolean value including parameter path.

Parameters
nameParameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries"
valueNew value for parameter
Returns
true if successful, false if error (invalid parameter path or mismatching parameter type)

◆ SetDoubleParameter()

virtual bool SimplygonSDK::IPipeline::SetDoubleParameter ( const char *  name,
double  value 
)
pure virtual

Set a named parameter floating point value including parameter path.

Parameters
nameParameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries"
valueNew value for parameter
Returns
true if successful, false if error (invalid parameter path or mismatching parameter type)

◆ SetIntParameter()

virtual bool SimplygonSDK::IPipeline::SetIntParameter ( const char *  name,
int  value 
)
pure virtual

Set a named parameter integer value including parameter path.

Parameters
nameParameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries"
valueNew value for parameter
Returns
true if successful, false if error (invalid parameter path or mismatching parameter type)

◆ SetParameterFromString()

virtual bool SimplygonSDK::IPipeline::SetParameterFromString ( const char *  name,
const char *  value 
)
pure virtual

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

Parameters
nameParameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries"
valueNew value for parameter
Returns
true if successful, false if error (invalid parameter path or mismatching parameter type)

◆ SetStringParameter()

virtual bool SimplygonSDK::IPipeline::SetStringParameter ( const char *  name,
const char *  value 
)
pure virtual

Set a named parameter string value including parameter path.

Parameters
nameParameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries"
valueNew value for parameter
Returns
true if successful, false if error (invalid parameter path or mismatching parameter type)

◆ SetUIntParameter()

virtual bool SimplygonSDK::IPipeline::SetUIntParameter ( const char *  name,
unsigned int  value 
)
pure virtual

Set a named parameter unsigned integer value including parameter path.

Parameters
nameParameter path separated with forward slash, like "/RemeshingProcessor/Reduction/MergeGeometries"
valueNew value for parameter
Returns
true if successful, false if error (invalid parameter path or mismatching parameter type)

The documentation for this class was generated from the following file: