editor › Globals › DelaunayPolygonTriangulator
Class: DelaunayPolygonTriangulator
Hierarchy
↳ DelaunayPolygonTriangulator
Index
Properties
Methods
- _addCollinearPoints
- _deduplicatePoints
- _generateSteinerPoints
- _getCandidatePoints
- _mergePointsWithOutlines
- _reconstructTriangles
- triangulate
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
Private _addCollinearPoints
▸ _addCollinearPoints(points: ArrayPoint2[], maxDesiredPointDistance: number): void
Defined in src/util/polygon/triangulatingClipper/Triangulator/DelaunayPolygonTriangulator.ts:274
Adds collinear points to long lines to improve triangulation result. modifies the points array
Parameters:
| Name | Type | Description |
|---|---|---|
points |
ArrayPoint2[] | - |
maxDesiredPointDistance |
number | - |
Returns: void
Private _deduplicatePoints
▸ _deduplicatePoints(outline: ArrayPoint2[]): object
Defined in src/util/polygon/triangulatingClipper/Triangulator/DelaunayPolygonTriangulator.ts:118
Parameters:
| Name | Type |
|---|---|
outline |
ArrayPoint2[] |
Returns: object
point and edges (filled with pairs of point indices) based on a possibly duplicate outline.
-
edges: Array‹[ArrayPoint2, ArrayPoint2]›
-
points: ArrayPoint2[]
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 _getCandidatePoints
▸ _getCandidatePoints(candidates: Array‹Polygon | MultiPolygon›, minSteinerPointsDistance: any, ε: any): ArrayPoint2[]
Defined in src/util/polygon/triangulatingClipper/Triangulator/DelaunayPolygonTriangulator.ts:241
Based on the candidate triangles, returns a list of points that will be used for candidate triangulation and thus should be used as steiner points for this polygon
Parameters:
| Name | Type | Description |
|---|---|---|
candidates |
Array‹Polygon | MultiPolygon› | - |
minSteinerPointsDistance |
any | - |
ε |
any | - |
Returns: ArrayPoint2[]
Private _mergePointsWithOutlines
▸ _mergePointsWithOutlines(points: ArrayPoint2[], outlines: any, ε: number): ArrayPoint2[]
Defined in src/util/polygon/triangulatingClipper/Triangulator/DelaunayPolygonTriangulator.ts:172
Given an array of points and and array of outlines, tries to put the points on the outlines. Removes all points that have been placed on the altered outlines
Parameters:
| Name | Type | Description |
|---|---|---|
points |
ArrayPoint2[] | - |
outlines |
any | - |
ε |
number | - |
Returns: ArrayPoint2[]
filtered points array, points that were merged onto the outlines are removed
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 | MultiPolygon, candidates: Array‹Polygon | MultiPolygon›, addSteinerPoints: boolean): Triangle[]
Overrides PolygonTriangulator.triangulate
Defined in src/util/polygon/triangulatingClipper/Triangulator/DelaunayPolygonTriangulator.ts:20
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
polygon |
Polygon | MultiPolygon | - | - |
candidates |
Array‹Polygon | MultiPolygon› | [] | - |
addSteinerPoints |
boolean | true | - |
Returns: Triangle[]