# class
QuadReductionSettings
Settings for the QuadReductionProcessor class. This contains the fundamental reduction settings like stop conditions and reduction targets.
# Properties
Property | Description |
---|---|
KeepUnprocessedSceneMeshes | If false, the processor will remove all geometry and scene meshes which were not selected for processing from the scene. If true, only the geometry in the ProcessSelectionSet will be replaced or updated, while the rest of the scene tree is kept intact. New geometry is always added as the last child of the scene root. If generating a mappingimage to cast materials, new materialIds will also be appended to the end of the old material table instead of replacing the old ones. |
MergeGeometries | The processor will merge all the geometries in the scene into a single geometry if MergeGeometries is enabled. |
Name | The name of the QuadReductionSettings object. (Inherited from Object) |
ProcessSelectionSetID | Which selection set should be processed. If set to -1, all geometries in the scene will be processed. If both selection set name and ID are set, the name will be used. |
ProcessSelectionSetName | Which selection set should be processed. If the name is not found, all geometries in the scene will be processed. If both selection set name and ID are set, the name will be used. |
ReductionTargetMaxDeviation | The MaxDeviation value, the maximum surface-deviation between the reduced geometry and the original. |
ReductionTargetMaxDeviationEnabled | Enable max deviation as a reduction target. The reducer will stop when the set max deviation has been reached. |
ReductionTargetOnScreenSize | The OnScreenSize value, used to calculate the maximum surface-deviation allowed, by assuming errors less than 1 pixel onscreen will not be noticeable. |
ReductionTargetOnScreenSizeEnabled | Enable on screen size as a reduction target. The reducer will stop when the set on screen size has been reached. |
ReductionTargetPolygonCount | The wanted Polygon count. The range is 0->inf. Note that a pair of two triangles linked by the QuadFlags field to designate a quad counts as *one* polygon, not two. |
ReductionTargetPolygonCountEnabled | Enable Polygon count as a reduction target. The reducer will stop when the set Polygon count has been reached. Note that a pair of two triangles linked by the QuadFlags field to designate a quad counts as *one* polygon, not two. |
ReductionTargetPolygonRatio | The wanted reduction ratio. The range is 0->1. Note that a pair of two triangles linked by the QuadFlags field to designate a quad counts as *one* polygon, not two. |
ReductionTargetPolygonRatioEnabled | Enable Polygon ratio as a reduction target. The reducer will stop when the set Polygon-ratio has been reached. Note that a pair of two triangles linked by the QuadFlags field to designate a quad counts as *one* polygon, not two. |
ReductionTargetStopCondition | The stop condition for the reducer. Any -> the reducer will stop when any single one of the set reduction targets have been reached. All -> the reducer will stop when all enabled reduction targets have been reached. |
UseWelding | If set, vertices occupying the same position in 3D space will be welded together, creating better connectivity for quad reduction. |
# 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 QuadReductionSettings 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 QuadReductionSettings is a or is a descendant of the class named as the type parameter. (Inherited from Object) |
IsNull | Returns true if the QuadReductionSettings object is invalid. (Inherited from Object) |
IsSameObjectAs | Returns true if the QuadReductionSettings object is valid. (Inherited from Object) |
NonNull | Returns true if the QuadReductionSettings object is valid. (Inherited from Object) |
PrintInfo | Prints the content/info of the QuadReductionSettings 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) |
SetReductionTargets | Set reduction targets and stop condition used in the reduction. |
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 spQuadReductionSettings, and if this is the case, returns the object cast into spQuadReductionSettings. (Inherited from Object) |
# Properties details
# KeepUnprocessedSceneMeshes
If false, the processor will remove all geometry and scene meshes which were not selected for processing from the scene. If true, only the geometry in the ProcessSelectionSet will be replaced or updated, while the rest of the scene tree is kept intact. New geometry is always added as the last child of the scene root. If generating a mappingimage to cast materials, new materialIds will also be appended to the end of the old material table instead of replacing the old ones.
# Syntax
// Setter
void SetKeepUnprocessedSceneMeshes( bool value ) const;
// Getter
bool GetKeepUnprocessedSceneMeshes() const;
# SetKeepUnprocessedSceneMeshes parameters
Type | Name | Min | Max | Description |
---|---|---|---|---|
bool | value | The desired KeepUnprocessedSceneMeshes flag. |
# GetKeepUnprocessedSceneMeshes return value
Type: bool
Default: false
# MergeGeometries
The processor will merge all the geometries in the scene into a single geometry if MergeGeometries is enabled.
# Name
The name of the QuadReductionSettings object. (Inherited from Object)
# ProcessSelectionSetID
Which selection set should be processed. If set to -1, all geometries in the scene will be processed. If both selection set name and ID are set, the name will be used.
# ProcessSelectionSetName
Which selection set should be processed. If the name is not found, all geometries in the scene will be processed. If both selection set name and ID are set, the name will be used.
# Syntax
// Setter
void SetProcessSelectionSetName( const char * value ) const;
// Getter
spString GetProcessSelectionSetName() const;
# SetProcessSelectionSetName parameters
Type | Name | Min | Max | Description |
---|---|---|---|---|
const char * | value | The desired SelectionSet name. |
# GetProcessSelectionSetName return value
Type: spString
Default: nullptr
# ReductionTargetMaxDeviation
The MaxDeviation value, the maximum surface-deviation between the reduced geometry and the original.
# Syntax
// Setter
void SetReductionTargetMaxDeviation( real value ) const;
// Getter
real GetReductionTargetMaxDeviation() const;
# SetReductionTargetMaxDeviation parameters
Type | Name | Min | Max | Description |
---|---|---|---|---|
real | value | 0 | REAL_MAX | The value to which MaxDeviation will be set. |
# GetReductionTargetMaxDeviation return value
Type: real
Default: 1
# ReductionTargetMaxDeviationEnabled
Enable max deviation as a reduction target. The reducer will stop when the set max deviation has been reached.
# Syntax
// Setter
void SetReductionTargetMaxDeviationEnabled( bool value ) const;
// Getter
bool GetReductionTargetMaxDeviationEnabled() const;
# SetReductionTargetMaxDeviationEnabled parameters
Type | Name | Min | Max | Description |
---|---|---|---|---|
bool | value | Value to set if max deviation should be used in the reduction. |
# GetReductionTargetMaxDeviationEnabled return value
Type: bool
Default: false
# ReductionTargetOnScreenSize
The OnScreenSize value, used to calculate the maximum surface-deviation allowed, by assuming errors less than 1 pixel onscreen will not be noticeable.
# Syntax
// Setter
void SetReductionTargetOnScreenSize( unsigned int value ) const;
// Getter
unsigned int GetReductionTargetOnScreenSize() const;
# SetReductionTargetOnScreenSize parameters
Type | Name | Min | Max | Description |
---|---|---|---|---|
unsigned int | value | 20 | 100000 | The value to which OnScreenSize will be set. |
# GetReductionTargetOnScreenSize return value
Type: unsigned int
Default: 300
# ReductionTargetOnScreenSizeEnabled
Enable on screen size as a reduction target. The reducer will stop when the set on screen size has been reached.
# Syntax
// Setter
void SetReductionTargetOnScreenSizeEnabled( bool value ) const;
// Getter
bool GetReductionTargetOnScreenSizeEnabled() const;
# SetReductionTargetOnScreenSizeEnabled parameters
Type | Name | Min | Max | Description |
---|---|---|---|---|
bool | value | Value to set if on screen size should be used in the reduction. |
# GetReductionTargetOnScreenSizeEnabled return value
Type: bool
Default: false
# ReductionTargetPolygonCount
The wanted Polygon count. The range is 0->inf. Note that a pair of two triangles linked by the QuadFlags field to designate a quad counts as *one* polygon, not two.
# Syntax
// Setter
void SetReductionTargetPolygonCount( unsigned int value ) const;
// Getter
unsigned int GetReductionTargetPolygonCount() const;
# SetReductionTargetPolygonCount parameters
Type | Name | Min | Max | Description |
---|---|---|---|---|
unsigned int | value | 0 | UINT_MAX | The value to which PolygonCount will be set. |
# GetReductionTargetPolygonCount return value
Type: unsigned int
Default: 10000
# ReductionTargetPolygonCountEnabled
Enable Polygon count as a reduction target. The reducer will stop when the set Polygon count has been reached. Note that a pair of two triangles linked by the QuadFlags field to designate a quad counts as *one* polygon, not two.
# Syntax
// Setter
void SetReductionTargetPolygonCountEnabled( bool value ) const;
// Getter
bool GetReductionTargetPolygonCountEnabled() const;
# SetReductionTargetPolygonCountEnabled parameters
Type | Name | Min | Max | Description |
---|---|---|---|---|
bool | value | Value to set if Polygon count should be used in the reduction. |
# GetReductionTargetPolygonCountEnabled return value
Type: bool
Default: false
# ReductionTargetPolygonRatio
The wanted reduction ratio. The range is 0->1. Note that a pair of two triangles linked by the QuadFlags field to designate a quad counts as *one* polygon, not two.
# Syntax
// Setter
void SetReductionTargetPolygonRatio( real value ) const;
// Getter
real GetReductionTargetPolygonRatio() const;
# SetReductionTargetPolygonRatio parameters
Type | Name | Min | Max | Description |
---|---|---|---|---|
real | value | 0 | 1 | The value to which ReductionRatio will be set. |
# GetReductionTargetPolygonRatio return value
Type: real
Default: 0.5
# ReductionTargetPolygonRatioEnabled
Enable Polygon ratio as a reduction target. The reducer will stop when the set Polygon-ratio has been reached. Note that a pair of two triangles linked by the QuadFlags field to designate a quad counts as *one* polygon, not two.
# Syntax
// Setter
void SetReductionTargetPolygonRatioEnabled( bool value ) const;
// Getter
bool GetReductionTargetPolygonRatioEnabled() const;
# SetReductionTargetPolygonRatioEnabled parameters
Type | Name | Min | Max | Description |
---|---|---|---|---|
bool | value | Value to set if Polygon ratio should be used in the reduction. |
# GetReductionTargetPolygonRatioEnabled return value
Type: bool
Default: true
# ReductionTargetStopCondition
The stop condition for the reducer. Any -> the reducer will stop when any single one of the set reduction targets have been reached. All -> the reducer will stop when all enabled reduction targets have been reached.
# Syntax
// Setter
void SetReductionTargetStopCondition( Simplygon::EStopCondition value ) const;
// Getter
Simplygon::EStopCondition GetReductionTargetStopCondition() const;
# SetReductionTargetStopCondition parameters
Type | Name | Min | Max | Description |
---|---|---|---|---|
EStopCondition | value | The flag to which StopCondition will be set. |
# GetReductionTargetStopCondition return value
Type: EStopCondition
Default: All
Key | Value | Comment |
---|---|---|
Any | 0 | Simplygon will stop as soon as one of the reduction targets has been fulfilled. |
All | 1 | Simplygon will continue processing until all of the reduction targets have been fulfilled. |
# UseWelding
If set, vertices occupying the same position in 3D space will be welded together, creating better connectivity for quad reduction.
# Methods details
# 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.
# GetClass
Get the name of the QuadReductionSettings class. (Inherited from Object)
# 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 QuadReductionSettings is a or is a descendant of the class named as the type parameter. (Inherited from Object)
# IsNull
Returns true if the QuadReductionSettings object is invalid. (Inherited from Object)
# IsSameObjectAs
Returns true if the QuadReductionSettings object is valid. (Inherited from Object)
# NonNull
Returns true if the QuadReductionSettings object is valid. (Inherited from Object)
# PrintInfo
Prints the content/info of the QuadReductionSettings object to the log. (Inherited from Object)
# RemoveObserver
Removes a previously added observer object. (Inherited from Object)
# SetBoolParameter
Set a named parameter boolean value.
# SetDoubleParameter
Set a named parameter floating point value.
# SetIntParameter
Set a named parameter integer value.
# SetReductionTargets
Set reduction targets and stop condition used in the reduction.
# Syntax
void SetReductionTargets( Simplygon::EStopCondition stopCondition , bool usePolygonRatio , bool usePolygonCount , bool useMaxDeviation , bool useOnScreenSize ) const;
# Parameters
Type | Name | Min | Max | Description |
---|---|---|---|---|
EStopCondition | stopCondition | The value to which ReductionTargetStopCondition will be set. | ||
bool | usePolygonRatio | The value to which ReductionTargetPolygonRatioEnabled will be set. | ||
bool | usePolygonCount | The value to which ReductionTargetPolygonCountEnabled will be set. | ||
bool | useMaxDeviation | The value to which ReductionTargetMaxDeviationEnabled will be set. | ||
bool | useOnScreenSize | The value to which ReductionTargetOnScreenSizeEnabled will be set. |
# 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 details
# 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 spQuadReductionSettings, and if this is the case, returns the object cast into spQuadReductionSettings. (Inherited from Object)