Skip to content
On this page

class NormalCalculationSettings ​

Settings for the normal recalculation

Properties ​

PropertyDescription
HardEdgeAngleSet 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.
NameThe name of the NormalCalculationSettings object. (Inherited from Object)
ReorthogonalizeTangentSpaceIf 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.
RepairInvalidNormalsIf 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.
ReplaceNormalsIf 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.
ReplaceTangentsIf 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).
ScaleByAngleIf set, the influence of a triangle normal upon the vertex normals is scaled by the angle of the corner at the vertex.
ScaleByAreaIf set, the influence of a triangle normal upon the vertex normals is scaled by the area of the triangle.
SnapNormalsToFlatSurfacesIf 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 ​

MethodDescription
AddObserverAdds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)
GetBoolParameterGet a named parameter boolean value. (Inherited from SettingsObject)
GetClassGet the name of the NormalCalculationSettings class. (Inherited from Object)
GetDoubleParameterGet a named parameter floating point value. (Inherited from SettingsObject)
GetErrorStringReturns a string describing the error that was found the last time ValidateSettings was performed. (Inherited from SettingsObject)
GetIntParameterGet a named parameter integer value. (Inherited from SettingsObject)
GetStringParameterGet a named parameter string value. (Inherited from SettingsObject)
GetUIntParameterGet a named parameter unsigned integer value. (Inherited from SettingsObject)
IsAReturns true if NormalCalculationSettings is a or is a descendant of the class named as the type parameter. (Inherited from Object)
IsNullReturns true if the NormalCalculationSettings object is invalid. (Inherited from Object)
IsSameObjectAsReturns true if the NormalCalculationSettings object is valid. (Inherited from Object)
NonNullReturns true if the NormalCalculationSettings object is valid. (Inherited from Object)
PrintInfoPrints the content/info of the NormalCalculationSettings object to the log. (Inherited from Object)
RemoveObserverRemoves a previously added observer object. (Inherited from Object)
SetBoolParameterSet a named parameter boolean value. (Inherited from SettingsObject)
SetDoubleParameterSet a named parameter floating point value. (Inherited from SettingsObject)
SetIntParameterSet a named parameter integer value. (Inherited from SettingsObject)
SetStringParameterSet a named parameter string value. (Inherited from SettingsObject)
SetUIntParameterSet a named parameter unsigned integer value. (Inherited from SettingsObject)
SetValidateParameterNamesSet 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)
ToJSONGet settings as JSON for debugging purposes. (Inherited from SettingsObject)
ValidateSettingsValidates the current settings values. (Inherited from SettingsObject)

Static methods ​

MethodDescription
IsClassAReturns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)
SafeCastSafeCast 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)