# class VisibilitySettings

Visibility settings contains the parameters for how to compute the visibility of a scene and how to use it, both in the ReductionProcessor and the RemeshingProcessor. The visibility information is computed for each part of the mesh determined by the visibility from the selected SceneCamera objects. Cameras are selected using the CameraSelectionSetID. The visibility can be used to guide the reducer and/or texture coordinates generator (parameterizer) with the flags UseVisibilityWeightsInReducer respective UseVisibilityWeightsInTexcoordGenerator. There is also an option to completely throw away triangles that are deemed not visible, using the CullOccludedGeometry flag.

# Properties

Property Description
CameraSelectionSetID The ID of the selection set containing all the scene cameras and scene meshes used when computing visibility. If scene meshes are added, all their vertices will be used as omni-directional cameras. If set to -1, all cameras in the scene will be used. If both selection set name and ID are set, the name will be used.
CameraSelectionSetName The name of the selection set containing all the scene cameras and scene meshes used when computing visibility. If scene meshes are added, all their vertices will be used as omni-directional cameras. 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.
ComputeVisibilityMode Specifies the renderer type when computing visibility.
ConservativeMode If enabled, will compute the visibility conservatively - meaning that triangles that are visible will be tagged as visible but some non-visible triangles might also be tagged as visible. If this is turned off, then it is no longer guaranteed that all visible triangles are found - but more non-visible triangles will be identified as non-visible.
CullOccludedGeometry If set to true, geometry that is not visible will be removed.
FillNonVisibleAreaThreshold If a group of non-visible triangles (connected to visible triangles) has an area below the FillNonVisibleAreaThreshold - it will receive the same visibility as the neighboring visible triangles. Set to zero to skip filling nonvisible regions.
ForceVisibilityCalculation Set the ForceVisibilityCalculation if true, visibility weights will definitely be computed for the geometry, even if the visibility isn't specifically being used for reduction/materialLOD/culling according to the VisibilitySettings.
Name The name of the VisibilitySettings object. (Inherited from Object)
OccluderSelectionSetID The ID of the selection set containing all the scene meshes that should occlude the scene when calculating visibility. If set to -1, no occluders will be used. If both selection set name and ID are set, the name will be used.
OccluderSelectionSetName The name of the selection set containing all the scene meshes used when computing visibility. If set to null, no occluders in the scene will be used. If both selection set name and ID are set, the name will be used.
RemoveTrianglesNotOccludingOtherTriangles If enabled, will remove all the visible triangles that are not occluding any other triangle. It will also remove all non-visible triangles.
UseBackfaceCulling Set whether triangles should be regarded visible when viewed from the back.
UseVisibilityWeightsInReducer If set to true, visibility weights will be used in the reducer.
UseVisibilityWeightsInTexcoordGenerator If set to true, visibility weights will be used when generating new texture coordinates.
VisibilityWeightsPower Set how aggressively reducer should handle low visibility weights.

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

# Properties details

# CameraSelectionSetID

The ID of the selection set containing all the scene cameras and scene meshes used when computing visibility. If scene meshes are added, all their vertices will be used as omni-directional cameras. If set to -1, all cameras in the scene will be used. If both selection set name and ID are set, the name will be used.

    # CameraSelectionSetName

    The name of the selection set containing all the scene cameras and scene meshes used when computing visibility. If scene meshes are added, all their vertices will be used as omni-directional cameras. 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.

      # ComputeVisibilityMode

      Specifies the renderer type when computing visibility.

        # ConservativeMode

        If enabled, will compute the visibility conservatively - meaning that triangles that are visible will be tagged as visible but some non-visible triangles might also be tagged as visible. If this is turned off, then it is no longer guaranteed that all visible triangles are found - but more non-visible triangles will be identified as non-visible.

          # CullOccludedGeometry

          If set to true, geometry that is not visible will be removed.

            # FillNonVisibleAreaThreshold

            If a group of non-visible triangles (connected to visible triangles) has an area below the FillNonVisibleAreaThreshold - it will receive the same visibility as the neighboring visible triangles. Set to zero to skip filling nonvisible regions.

              # ForceVisibilityCalculation

              Set the ForceVisibilityCalculation if true, visibility weights will definitely be computed for the geometry, even if the visibility isn't specifically being used for reduction/materialLOD/culling according to the VisibilitySettings.

                # Name

                The name of the VisibilitySettings object. (Inherited from Object)

                  # OccluderSelectionSetID

                  The ID of the selection set containing all the scene meshes that should occlude the scene when calculating visibility. If set to -1, no occluders will be used. If both selection set name and ID are set, the name will be used.

                    # OccluderSelectionSetName

                    The name of the selection set containing all the scene meshes used when computing visibility. If set to null, no occluders in the scene will be used. If both selection set name and ID are set, the name will be used.

                      # RemoveTrianglesNotOccludingOtherTriangles

                      If enabled, will remove all the visible triangles that are not occluding any other triangle. It will also remove all non-visible triangles.

                        # UseBackfaceCulling

                        Set whether triangles should be regarded visible when viewed from the back.

                          # UseVisibilityWeightsInReducer

                          If set to true, visibility weights will be used in the reducer.

                            # UseVisibilityWeightsInTexcoordGenerator

                            If set to true, visibility weights will be used when generating new texture coordinates.

                              # VisibilityWeightsPower

                              Set how aggressively reducer should handle low visibility weights.

                                # 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 VisibilitySettings 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 VisibilitySettings is a or is a descendant of the class named as the type parameter. (Inherited from Object)

                                                  # IsNull

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

                                                    # IsSameObjectAs

                                                    Returns true if the VisibilitySettings object is valid. (Inherited from Object)

                                                      # NonNull

                                                      Returns true if the VisibilitySettings object is valid. (Inherited from Object)

                                                        # PrintInfo

                                                        Prints the content/info of the VisibilitySettings 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.

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