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)