Skip to content
On this page

class QuadReductionSettings

Settings for the QuadReductionProcessor class. This contains the fundamental reduction settings like stop conditions and reduction targets.

Properties

PropertyDescription
KeepUnprocessedSceneMeshesIf 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.
MergeGeometriesThe processor will merge all the geometries in the scene into a single geometry if MergeGeometries is enabled.
NameThe name of the QuadReductionSettings object. (Inherited from Object)
ProcessSelectionSetIDWhich 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.
ProcessSelectionSetNameWhich 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.
ReductionTargetMaxDeviationThe MaxDeviation value, the maximum surface-deviation between the reduced geometry and the original.
ReductionTargetMaxDeviationEnabledEnable max deviation as a reduction target. The reducer will stop when the set max deviation has been reached.
ReductionTargetOnScreenSizeThe OnScreenSize value, used to calculate the maximum surface-deviation allowed, by assuming errors less than 1 pixel onscreen will not be noticeable.
ReductionTargetOnScreenSizeEnabledEnable on screen size as a reduction target. The reducer will stop when the set on screen size has been reached.
ReductionTargetPolygonCountThe 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. Also note that using this target will disable reduction for continuous areas of triangles within the quad mesh.
ReductionTargetPolygonCountEnabledEnable 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. Also note that using this target will disable reduction for continuous areas of triangles within the quad mesh.
ReductionTargetPolygonRatioThe 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. Also note that using this target will disable reduction for continuous areas of triangles within the quad mesh.
ReductionTargetPolygonRatioEnabledEnable 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. Also note that using this target will disable reduction for continuous areas of triangles within the quad mesh.
ReductionTargetStopConditionThe 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.
UseWeldingIf set, vertices occupying the same position in 3D space will be welded together, creating better connectivity for quad reduction.

Methods

MethodDescription
AddObserverAdds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)
GetBoolParameterGet a named parameter boolean value. (Inherited from SettingsObject)
GetClassGet the name of the QuadReductionSettings class. (Inherited from Object)
GetDoubleParameterGet a named parameter floating point value. (Inherited from SettingsObject)
GetErrorStringReturns a string describing the error that was found the last time ValidateSettings was performed. (Inherited from SettingsObject)
GetIntParameterGet a named parameter integer value. (Inherited from SettingsObject)
GetStringParameterGet a named parameter string value. (Inherited from SettingsObject)
GetUIntParameterGet a named parameter unsigned integer value. (Inherited from SettingsObject)
IsAReturns true if QuadReductionSettings is a or is a descendant of the class named as the type parameter. (Inherited from Object)
IsNullReturns true if the QuadReductionSettings object is invalid. (Inherited from Object)
IsSameObjectAsReturns true if the QuadReductionSettings object is valid. (Inherited from Object)
NonNullReturns true if the QuadReductionSettings object is valid. (Inherited from Object)
PrintInfoPrints the content/info of the QuadReductionSettings object to the log. (Inherited from Object)
RemoveObserverRemoves a previously added observer object. (Inherited from Object)
SetBoolParameterSet a named parameter boolean value. (Inherited from SettingsObject)
SetDoubleParameterSet a named parameter floating point value. (Inherited from SettingsObject)
SetIntParameterSet a named parameter integer value. (Inherited from SettingsObject)
SetReductionTargetsSet reduction targets and stop condition used in the reduction. Using PolygonCount or PolygonRatio will disable handling of continuous triangle areas in the quad reduction. The PolygonCount and PolygonRatio targets should also be considered the **max** polygon counts of the output mesh, meaning the mesh will often be reduced further if more collapses can be performed without degrading the quality of the mesh.
SetStringParameterSet a named parameter string value. (Inherited from SettingsObject)
SetUIntParameterSet a named parameter unsigned integer value. (Inherited from SettingsObject)
SetValidateParameterNamesSet 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)
ToJSONGet settings as JSON for debugging purposes. (Inherited from SettingsObject)
ValidateSettingsValidates the current settings values. (Inherited from SettingsObject)

Static methods

MethodDescription
IsClassAReturns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)
SafeCastSafeCast 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.

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. Also note that using this target will disable reduction for continuous areas of triangles within the quad mesh.

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. Also note that using this target will disable reduction for continuous areas of triangles within the quad mesh.

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. Also note that using this target will disable reduction for continuous areas of triangles within the quad mesh.

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. Also note that using this target will disable reduction for continuous areas of triangles within the quad mesh.

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 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. Using PolygonCount or PolygonRatio will disable handling of continuous triangle areas in the quad reduction. The PolygonCount and PolygonRatio targets should also be considered the **max** polygon counts of the output mesh, meaning the mesh will often be reduced further if more collapses can be performed without degrading the quality of the mesh.

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)