# class RepairSettings

Settings for handling unconnected parts and unwanted gaps in the geometry. It consists of two parts, Welding and T-junction removal. Welding merges vertices that are closer than a set distance from each other. T-junction removal finds open edges that lies within a set distance from other open edges, but without matching vertices. It then splits those triangles into smaller, matching triangles and fuses them together.

# Properties

Property Description
ProgressivePasses The number of progressive passes. Minimum is 1, but higher numbers give a better quality, at the expense of longer running time.
TJuncDist The T-Junction distance, below which, the T-Junctions will be welded.
UseTJunctionRemover If set, t-junctions will be removed. If enabled, it also requires UseWelding to be on.
UseWelding If set, vertices within each others welding distance will be welded together.
WeldDist The welding distance below which the vertices will be welded.
WeldOnlyBetweenSceneNodes If set, only vertices that belong to different scene nodes are considered for the welding. Affects both welder and t-junction remover.
WeldOnlyBorderVertices If set, only vertices that are on the border (as reported by the VertexBorder boolean field) are considered for the welding.
WeldOnlyWithinMaterial If set, only vertices that are within the same material are welded. Vertices on material borders are locked.
WeldOnlyWithinSceneNode If set, only vertices that are within the same scene node are welded.

# Methods

Method Description
GetBoolParameter Get a named parameter boolean value.
GetClass Get the name of the RepairSettings class.
GetDoubleParameter Get a named parameter floating point value.
GetErrorString Returns a string describing the error that was found the last time ValidateSettings was performed.
GetIntParameter Get a named parameter integer value.
GetStringParameter Get a named parameter string value.
GetUIntParameter Get a named parameter unsigned integer value.
IsA Returns true if RepairSettings is a or is a descendant of the class named as the type parameter.
IsNull Returns true if the RepairSettings object is invalid.
SetBoolParameter Set a named parameter boolean value.
SetDoubleParameter Set a named parameter floating point value.
SetIntParameter Set a named parameter integer value.
SetStringParameter Set a named parameter string value.
SetUIntParameter Set a named parameter unsigned integer value.
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.
ToJSON Get settings as JSON for debugging purposes.
ValidateSettings Validates the current settings values.

# 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 spRepairSettings, and if this is the case, returns the object cast into spRepairSettings.

# Properties details

# ProgressivePasses

The number of progressive passes. Minimum is 1, but higher numbers give a better quality, at the expense of longer running time.

# Syntax

// Setter
void SetProgressivePasses( unsigned int value );

// Getter
unsigned int GetProgressivePasses();

# SetProgressivePasses parameters

Type Name Min Max Description
unsigned int value 1 10 The integer to which ProgressivePasses will be set.

# GetProgressivePasses return value

Type: unsigned int

Default: 3

# TJuncDist

The T-Junction distance, below which, the T-Junctions will be welded.

# Syntax

// Setter
void SetTJuncDist( real value );

// Getter
real GetTJuncDist();

# SetTJuncDist parameters

Type Name Min Max Description
real value 0 REAL_MAX The value to which TJuncDist will be set.

# GetTJuncDist return value

Type: real

Default: 0.0

# UseTJunctionRemover

If set, t-junctions will be removed. If enabled, it also requires UseWelding to be on.

# Syntax

// Setter
void SetUseTJunctionRemover( bool value );

// Getter
bool GetUseTJunctionRemover();

# SetUseTJunctionRemover parameters

Type Name Min Max Description
bool value The bool to which UseTJunctionRemover will be set.

# GetUseTJunctionRemover return value

Type: bool

Default: true

# UseWelding

If set, vertices within each others welding distance will be welded together.

# Syntax

// Setter
void SetUseWelding( bool value );

// Getter
bool GetUseWelding();

# SetUseWelding parameters

Type Name Min Max Description
bool value The bool to which UseWelding will be set.

# GetUseWelding return value

Type: bool

Default: true

# WeldDist

The welding distance below which the vertices will be welded.

# Syntax

// Setter
void SetWeldDist( real value );

// Getter
real GetWeldDist();

# SetWeldDist parameters

Type Name Min Max Description
real value 0 REAL_MAX The value to which WeldDist will be set.

# GetWeldDist return value

Type: real

Default: 0.0

# WeldOnlyBetweenSceneNodes

If set, only vertices that belong to different scene nodes are considered for the welding. Affects both welder and t-junction remover.

# Syntax

// Setter
void SetWeldOnlyBetweenSceneNodes( bool value );

// Getter
bool GetWeldOnlyBetweenSceneNodes();

# SetWeldOnlyBetweenSceneNodes parameters

Type Name Min Max Description
bool value The bool to which WeldOnlyBetweenSceneNode will be set.

# GetWeldOnlyBetweenSceneNodes return value

Type: bool

Default: false

# WeldOnlyBorderVertices

If set, only vertices that are on the border (as reported by the VertexBorder boolean field) are considered for the welding.

# Syntax

// Setter
void SetWeldOnlyBorderVertices( bool value );

// Getter
bool GetWeldOnlyBorderVertices();

# SetWeldOnlyBorderVertices parameters

Type Name Min Max Description
bool value The bool to which WeldOnlyBorderVertices will be set.

# GetWeldOnlyBorderVertices return value

Type: bool

Default: false

# WeldOnlyWithinMaterial

If set, only vertices that are within the same material are welded. Vertices on material borders are locked.

# Syntax

// Setter
void SetWeldOnlyWithinMaterial( bool value );

// Getter
bool GetWeldOnlyWithinMaterial();

# SetWeldOnlyWithinMaterial parameters

Type Name Min Max Description
bool value The bool to which WeldOnlyWithinMaterial will be set.

# GetWeldOnlyWithinMaterial return value

Type: bool

Default: false

# WeldOnlyWithinSceneNode

If set, only vertices that are within the same scene node are welded.

# Syntax

// Setter
void SetWeldOnlyWithinSceneNode( bool value );

// Getter
bool GetWeldOnlyWithinSceneNode();

# SetWeldOnlyWithinSceneNode parameters

Type Name Min Max Description
bool value The bool to which WeldOnlyWithinSceneNode will be set.

# GetWeldOnlyWithinSceneNode return value

Type: bool

Default: false

# Methods details

# GetBoolParameter

Get a named parameter boolean value.

# Syntax

bool GetBoolParameter( const char * name );

# Parameters

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

# Return value

Type: bool

# GetClass

Get the name of the RepairSettings class.

# Syntax

spString GetClass();

# Parameters

GetClass takes no parameters.

# Return value

Type: spString

# GetDoubleParameter

Get a named parameter floating point value.

# Syntax

double GetDoubleParameter( const char * name );

# 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();

# Parameters

GetErrorString takes no parameters.

# Return value

Type: spString

# GetIntParameter

Get a named parameter integer value.

# Syntax

int GetIntParameter( const char * name );

# 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 );

# 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 );

# Parameters

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

# Return value

Type: unsigned int

# IsA

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

# Return value

Type: bool

# IsNull

Returns true if the RepairSettings object is invalid.

# Syntax

bool IsNull();

# Parameters

IsNull takes no parameters.

# Return value

Type: bool

# SetBoolParameter

Set a named parameter boolean value.

# Syntax

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

# 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 );

# 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 );

# 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 );

# 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 );

# 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 );

# 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();

# Parameters

ToJSON takes no parameters.

# Return value

Type: spString

# ValidateSettings

Validates the current settings values.

# Syntax

bool ValidateSettings();

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

# 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 spRepairSettings, and if this is the case, returns the object cast into spRepairSettings.

# Syntax

static spRepairSettings SafeCast( spObject object );

# Parameters

Type Name Min Max Description
Object object Object to cast.

# Return value

Type: RepairSettings