# class FoliageSettings

Settings for the BillboardMode: Foliage

# Properties

Property Description
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
GetBoolParameter Get a named parameter boolean value.
GetClass Get the name of the FoliageSettings class.
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.
IsNull Returns true if the FoliageSettings object is invalid.
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

Method Description
IsClassA Returns true if the class is a or is a descendant of the class named as the type parameter.
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.

# Properties details

# 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

              # GetBoolParameter

              Get a named parameter boolean value.

                # GetClass

                Get the name of the FoliageSettings class.

                  # 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.

                              # IsNull

                              Returns true if the FoliageSettings object is invalid.

                                # 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.

                                                  # 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.