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)