Skip to content

editor › Globals › EarcutPolygonTriangulator

Class: EarcutPolygonTriangulator

Takes a polygon and triangulates it into the internal data structure

Hierarchy

↳ EarcutPolygonTriangulator

Index

Properties

Methods

Properties

Protected steinerPointDistanceLevels

• steinerPointDistanceLevels: number[] = [256, 128, 32, 16, 8, 4, 2]

Inherited from PolygonTriangulator.steinerPointDistanceLevels

Defined in src/util/polygon/triangulatingClipper/Triangulator/PolygonTriangulator.ts:22

Methods

Protected _generateSteinerPoints

▸ _generateSteinerPoints(polygon: Polygon | MultiPolygon, options: ISteinerPointOptions): Array‹object›

Inherited from PolygonTriangulator._generateSteinerPoints

Defined in src/util/polygon/triangulatingClipper/Triangulator/PolygonTriangulator.ts:46

Steiner points are additional triangulation points inside the polygon that are triangulated to optimize the quality of the triangulation solution. we add regularly spaced steiner points in order to prevent long (and degenerated) triangles.

Parameters:

Name Type Default
polygon Polygon | MultiPolygon -
options ISteinerPointOptions {}

Returns: Array‹object›


Private _getPointsAsVectorFromFlattened

▸ _getPointsAsVectorFromFlattened(pointsFlattened: number[]): Vector3[]

Defined in src/util/polygon/triangulatingClipper/Triangulator/EarcutPolygonTriangulator.ts:53

Parameters:

Name Type
pointsFlattened number[]

Returns: Vector3[]


Private _getTriangleIndicesFromTriangulation

▸ _getTriangleIndicesFromTriangulation(earcutTriangles: any): Array‹[number, number, number]›

Defined in src/util/polygon/triangulatingClipper/Triangulator/EarcutPolygonTriangulator.ts:61

Parameters:

Name Type
earcutTriangles any

Returns: Array‹[number, number, number]›


Private _reconstructTriangles

▸ _reconstructTriangles(pointsAsVectors: Vector3[], trianglesAsIndices: Array‹[number, number, number]›): Triangle[]

Inherited from PolygonTriangulator._reconstructTriangles

Defined in src/util/polygon/triangulatingClipper/Triangulator/PolygonTriangulator.ts:161

Parameters:

Name Type Description
pointsAsVectors Vector3[] -
trianglesAsIndices Array‹[number, number, number]› indices into the pointsAsVectors array

Returns: Triangle[]


triangulate

▸ triangulate(polygon: Polygon): Triangle‹›[]

Overrides PolygonTriangulator.triangulate

Defined in src/util/polygon/triangulatingClipper/Triangulator/EarcutPolygonTriangulator.ts:16

Parameters:

Name Type Description
polygon Polygon -

Returns: Triangle‹›[]