# class OcclusionMeshSettings

Settings for occlusion meshes

# Properties

Property Description
CameraSelectionSetId The camera selection set id. This determines the selection set used for the cameras for when UseCameras is on. A value of -1 uses all cameras in the scene.
CameraSelectionSetName The camera selection set name. This determines the selection set used for the cameras for when UseCameras is on. If set to null, all cameras in the scene will be used. If both selection set name and ID are set, the name will be used.
InvertOutputMesh Flips the winding of the triangles of the output, making frontfaces backfaces and vice versa. Good for conservative z testing.
Name The name of the OcclusionMeshSettings object. (Inherited from Object)
OcclusionMode The occlusion mode. This decides if the processor generates an occluder (which is smaller than the original mesh), an occludee (which is larger), or an output that just tries to match the input.
OnScreenErrorTolerance The OnScreenErrorTolerance determines how large of an error that is tolerated, in pixels. Valid range is 1-50. Since this setting is based around the absolute worst-case scenario, you can usually get good results at relatively high tolerances.
OnScreenSize The onscreen size (px) of the output utility mesh. This will determine triangle count and quality.
TransferSkinning Sets whether to transfer the bone weights and bone ids to the new geometry.
UseCameras If set, cameras from the input scene will be used to define what angles the occlusion mesh can be visible from, and optimize the output mesh accordingly. Otherwise, the occlusion mesh will be assumed to be viewable from all directions.

# 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 OcclusionMeshSettings 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 OcclusionMeshSettings is a or is a descendant of the class named as the type parameter. (Inherited from Object)
IsNull Returns true if the OcclusionMeshSettings object is invalid. (Inherited from Object)
IsSameObjectAs Returns true if the OcclusionMeshSettings object is valid. (Inherited from Object)
NonNull Returns true if the OcclusionMeshSettings object is valid. (Inherited from Object)
PrintInfo Prints the content/info of the OcclusionMeshSettings 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 spOcclusionMeshSettings, and if this is the case, returns the object cast into spOcclusionMeshSettings. (Inherited from Object)

# Properties details

# CameraSelectionSetId

The camera selection set id. This determines the selection set used for the cameras for when UseCameras is on. A value of -1 uses all cameras in the scene.

# Syntax

// Setter
void SetCameraSelectionSetId( int value ) const;

// Getter
int GetCameraSelectionSetId() const;

# SetCameraSelectionSetId parameters

Type Name Min Max Description
int value The desired OcclusionMode.

# GetCameraSelectionSetId return value

Type: int

Default: -1

# CameraSelectionSetName

The camera selection set name. This determines the selection set used for the cameras for when UseCameras is on. If set to null, all cameras in the scene will be used. If both selection set name and ID are set, the name will be used.

# Syntax

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

// Getter
spString GetCameraSelectionSetName() const;

# SetCameraSelectionSetName parameters

Type Name Min Max Description
const char * value The desired SelectionSet name.

# GetCameraSelectionSetName return value

Type: spString

Default: nullptr

# InvertOutputMesh

Flips the winding of the triangles of the output, making frontfaces backfaces and vice versa. Good for conservative z testing.

# Syntax

// Setter
void SetInvertOutputMesh( bool value ) const;

// Getter
bool GetInvertOutputMesh() const;

# SetInvertOutputMesh parameters

Type Name Min Max Description
bool value The desired value of InvertOutputMesh.

# GetInvertOutputMesh return value

Type: bool

Default: false

# Name

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

# OcclusionMode

The occlusion mode. This decides if the processor generates an occluder (which is smaller than the original mesh), an occludee (which is larger), or an output that just tries to match the input.

# Syntax

// Setter
void SetOcclusionMode( Simplygon::EOcclusionMode value ) const;

// Getter
Simplygon::EOcclusionMode GetOcclusionMode() const;

# SetOcclusionMode parameters

Type Name Min Max Description
EOcclusionMode value The desired OcclusionMode.

# GetOcclusionMode return value

Type: EOcclusionMode

Default: Occluder

Key Value Comment
Occluder 0 The output mesh will be an occluder, ie. always smaller than the input mesh.
Occludee 1 The output mesh will be an occludee, ie. always larger than the input mesh.
Standard 2 The output mesh will be the same size as the input, ie. appropriate for things like off-screen shadows.

# OnScreenErrorTolerance

The OnScreenErrorTolerance determines how large of an error that is tolerated, in pixels. Valid range is 1-50. Since this setting is based around the absolute worst-case scenario, you can usually get good results at relatively high tolerances.

# Syntax

// Setter
void SetOnScreenErrorTolerance( unsigned int value ) const;

// Getter
unsigned int GetOnScreenErrorTolerance() const;

# SetOnScreenErrorTolerance parameters

Type Name Min Max Description
unsigned int value 1 50 The desired OnScreenErrorTolerance.

# GetOnScreenErrorTolerance return value

Type: unsigned int

Default: 10

# OnScreenSize

The onscreen size (px) of the output utility mesh. This will determine triangle count and quality.

# Syntax

// Setter
void SetOnScreenSize( unsigned int value ) const;

// Getter
unsigned int GetOnScreenSize() const;

# SetOnScreenSize parameters

Type Name Min Max Description
unsigned int value 20 10000 The desired onscreen size.

# GetOnScreenSize return value

Type: unsigned int

Default: 100

# TransferSkinning

Sets whether to transfer the bone weights and bone ids to the new geometry.

# Syntax

// Setter
void SetTransferSkinning( bool value ) const;

// Getter
bool GetTransferSkinning() const;

# SetTransferSkinning parameters

Type Name Min Max Description
bool value The desired value of InvertOutputMesh.

# GetTransferSkinning return value

Type: bool

Default: false

# UseCameras

If set, cameras from the input scene will be used to define what angles the occlusion mesh can be visible from, and optimize the output mesh accordingly. Otherwise, the occlusion mesh will be assumed to be viewable from all directions.

# Syntax

// Setter
void SetUseCameras( bool value ) const;

// Getter
bool GetUseCameras() const;

# SetUseCameras parameters

Type Name Min Max Description
bool value The desired value of UseCameras.

# GetUseCameras return value

Type: bool

Default: false

# 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 OcclusionMeshSettings 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 OcclusionMeshSettings 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 OcclusionMeshSettings is, or is a descendant of.

# Return value

Type: bool

# IsNull

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

# Syntax

bool IsNull() const;

# Parameters

IsNull takes no parameters.

# Return value

Type: bool

# IsSameObjectAs

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

# Syntax

static spOcclusionMeshSettings SafeCast( const spObject & object ) const;

# Parameters

Type Name Min Max Description
Object object Object to cast.

# Return value

Type: OcclusionMeshSettings