# 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.
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
GetBoolParameter Get a named parameter boolean value.
GetClass Get the name of the NormalCalculationSettings 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 NormalCalculationSettings is a or is a descendant of the class named as the type parameter.
IsNull Returns true if the NormalCalculationSettings 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.
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 spNormalCalculationSettings, and if this is the case, returns the object cast into spNormalCalculationSettings.

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

    # 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

                  # GetBoolParameter

                  Get a named parameter boolean value.

                    # GetClass

                    Get the name of the NormalCalculationSettings 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 NormalCalculationSettings is a or is a descendant of the class named as the type parameter.

                                  # IsNull

                                  Returns true if the NormalCalculationSettings 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.

                                              # 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 spNormalCalculationSettings, and if this is the case, returns the object cast into spNormalCalculationSettings.