# class FoliageSettings

Settings for the BillboardMode: Foliage

# Properties

Property Description
Name The name of the FoliageSettings object. (Inherited from Object)
SeparateFoliageAreaThreshold Is used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the surface area is below (SeparateFoliageAreaThreshold * AreaOfTheLargestGroupInTheScene) it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the maximum surface area means everything will be foliage.
SeparateFoliageSizeThreshold Is used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the diameter of the group is below (SeparateFoliageSizeThreshold * SceneDiameter) it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the scene's diameter means everything will be foliage.
SeparateFoliageTriangleRatio Is used to separate the trunk from the foliage in a vegetation scene by comparing each group of connected triangles in the scene with the scene's largest group. If a group's triangle count is below SeparateFoliageTriangleRatio * largestGrouptriangleCount it is treated as foliage and processed into billboards. The trunk is optimized using triangle reduction. The range is 0.0->1.0. 0.0 means nothing will be foliage, 1.0 means everything will be foliage.
SeparateFoliageTriangleThreshold Is used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the triangle count is below SeparateFoliageTriangleThreshold it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the maximum triangle count means everything will be foliage.
SeparateTrunkAndFoliage Determines whether to enable separation between foliage and trunk in a vegetation scene. Use the SeparateFoliage[...] settings to determine how parts are separated.
TrunkReductionRatio Determines the triangle reduction ratio for the trunk part that has been separated from the foliage part based on the "separate foliage" settings.

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

# Properties details

# Name

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

    # SeparateFoliageAreaThreshold

    Is used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the surface area is below (SeparateFoliageAreaThreshold * AreaOfTheLargestGroupInTheScene) it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the maximum surface area means everything will be foliage.

      # SeparateFoliageSizeThreshold

      Is used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the diameter of the group is below (SeparateFoliageSizeThreshold * SceneDiameter) it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the scene's diameter means everything will be foliage.

        # SeparateFoliageTriangleRatio

        Is used to separate the trunk from the foliage in a vegetation scene by comparing each group of connected triangles in the scene with the scene's largest group. If a group's triangle count is below SeparateFoliageTriangleRatio * largestGrouptriangleCount it is treated as foliage and processed into billboards. The trunk is optimized using triangle reduction. The range is 0.0->1.0. 0.0 means nothing will be foliage, 1.0 means everything will be foliage.

          # SeparateFoliageTriangleThreshold

          Is used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the triangle count is below SeparateFoliageTriangleThreshold it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the maximum triangle count means everything will be foliage.

            # SeparateTrunkAndFoliage

            Determines whether to enable separation between foliage and trunk in a vegetation scene. Use the SeparateFoliage[...] settings to determine how parts are separated.

              # TrunkReductionRatio

              Determines the triangle reduction ratio for the trunk part that has been separated from the foliage part based on the "separate foliage" settings.

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

                                  # IsNull

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

                                    # IsSameObjectAs

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

                                      # NonNull

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

                                        # PrintInfo

                                        Prints the content/info of the FoliageSettings 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 spFoliageSettings, and if this is the case, returns the object cast into spFoliageSettings. (Inherited from Object)