# siNormalComputationMethod Enum

## Enumerations
enum | siNormalComputationMethod { siInterpolatedVertexGeometricNormals = 0, siInterpolatedAngleBasedVertexGeometricNormals = 1, siInterpolatedNodeShadingNormals = 2, siInterpolatedAngleBasedNodeShadingNormals = 3 }

## Detailed Description

Indicates the method to use for computing normals on a geometry. These only apply to PolygonMesh objects (for NurbsSurfaceMesh the normal is always the exact surface normal).

See also:
  Geometry::EvaluateNormals, Geometry::EvaluateNormals

## Enumeration Type Documentation

enum siNormalComputationMethod

Enumerator:

  siInterpolatedVertexGeometricNormals | [0] Interpolated vertex normals, each vertex normal being the normalized sum of normalized cross products of edge vector pairs bounding adjacent polygons.
  siInterpolatedAngleBasedVertexGeometricNormals | [1] Similar to method siInterpolatedVertexGeometricNormals, but weights the adjacent polygons' cross products proportionally to the angles formed by neighbor polygons. Slower than siInterpolatedVertexGeometricNormals but gives higher quality, particularly with polygon meshes having many triangles.
  siInterpolatedNodeShadingNormals | [2] Interpolated node shading normals. A node shading normal is computed as the sum of the adjacent polygons' normals. In addition, it takes into account polygon mesh's hard edges and auto-discontinuity angle.
  siInterpolatedAngleBasedNodeShadingNormals | [3] Similar to siInterpolatedShadingNormals, but weights the adjacent polygons' normals proportionally to the angles formed by neighbor polygons. Slower than method siInterpolatedNodeShadingNormals but gives higher quality, particularly with polygon meshes having many triangles.