# class NormalCalculationSettings

Settings for the normal recalculation

# Properties

Property Description
HardEdgeAngle Set HardEdgeAngle in degrees. If the angle between two triangles are above this value, the normals will not be smooth over the edge between those two triangles.
Name The name of the NormalCalculationSettings object. (Inherited from Object)
ReorthogonalizeTangentSpace If set, the tangentspaces already existing in the scene will be readjusted so that the tangent and binormal are both orthogonal to the normal. Will be needed since most of the time the normals are changed in the reduction process.
RepairInvalidNormals If set, normals that are invalid will be replaced. All others are left intact. Bad normals are those that are either zero length, or simply points away from the surface.
ReplaceNormals If set, it will generate new normals for the Geometry, and if not set, it will keep the normals from the original normal set (or not add normals at all if none were present). Please note that if the original geometry contains normals, the normal repairer will replace invalid normals even if ReplaceNormals is set to false.
ReplaceTangents If set, it will generate new tangents and bitangents for the Geometry, and if not set, it will keep the new tangents and bitangents from the original normal set (or not add tangents and bitangents at all if none were present).
ScaleByAngle If set, the influence of a triangle normal upon the vertex normals is scaled by the angle of the corner at the vertex.
ScaleByArea If set, the influence of a triangle normal upon the vertex normals is scaled by the area of the triangle.
SnapNormalsToFlatSurfaces If set, perfectly flat shaded surfaces will be created, where possible. Normals adjacent to perfectly geometrically flat surfaces will be recalculated to have the same direction as for those of the adjacent flat surface.

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

# Properties details

# HardEdgeAngle

Set HardEdgeAngle in degrees. If the angle between two triangles are above this value, the normals will not be smooth over the edge between those two triangles.

    # Name

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

      # ReorthogonalizeTangentSpace

      If set, the tangentspaces already existing in the scene will be readjusted so that the tangent and binormal are both orthogonal to the normal. Will be needed since most of the time the normals are changed in the reduction process.

        # RepairInvalidNormals

        If set, normals that are invalid will be replaced. All others are left intact. Bad normals are those that are either zero length, or simply points away from the surface.

          # ReplaceNormals

          If set, it will generate new normals for the Geometry, and if not set, it will keep the normals from the original normal set (or not add normals at all if none were present). Please note that if the original geometry contains normals, the normal repairer will replace invalid normals even if ReplaceNormals is set to false.

            # ReplaceTangents

            If set, it will generate new tangents and bitangents for the Geometry, and if not set, it will keep the new tangents and bitangents from the original normal set (or not add tangents and bitangents at all if none were present).

              # ScaleByAngle

              If set, the influence of a triangle normal upon the vertex normals is scaled by the angle of the corner at the vertex.

                # ScaleByArea

                If set, the influence of a triangle normal upon the vertex normals is scaled by the area of the triangle.

                  # SnapNormalsToFlatSurfaces

                  If set, perfectly flat shaded surfaces will be created, where possible. Normals adjacent to perfectly geometrically flat surfaces will be recalculated to have the same direction as for those of the adjacent flat surface.

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

                                      # IsNull

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

                                        # IsSameObjectAs

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

                                          # NonNull

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

                                            # PrintInfo

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