editor › Globals › TriangleMesh2D
Class: TriangleMesh2D
Holds a mesh consisting out of multiple triangles that are in the z=0 plane
Hierarchy
- TriangleMesh2D
Index
Constructors
Properties
Methods
- addTriangle
- concat
- divideSide
- getIterator
- getTriangleAddEventEmitter
- getTriangleRemoveEventEmitter
- getTriangles
- performSanityCheck
- removeTriangle
- replacePointInstance
- replaceTriangles
- tripleDivide
Constructors
constructor
+ new TriangleMesh2D(triangles: Triangle[]): TriangleMesh2D
Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:15
Parameters:
| Name | Type |
|---|---|
triangles |
Triangle[] |
Returns: TriangleMesh2D
Properties
Private Readonly triangleAddEventEmitter
• triangleAddEventEmitter: EventEmitter‹Triangle‹›› = new EventEmitter
Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:14
Private Readonly triangleRemoveEventEmitter
• triangleRemoveEventEmitter: EventEmitter‹Triangle‹›› = new EventEmitter
Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:15
Private Readonly triangles
Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:12
Methods
addTriangle
▸ addTriangle(triangle: Triangle): void
Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:31
Parameters:
| Name | Type |
|---|---|
triangle |
Triangle |
Returns: void
concat
▸ concat(otherMesh: TriangleMesh2D): TriangleMesh2D‹›
Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:76
Parameters:
| Name | Type |
|---|---|
otherMesh |
TriangleMesh2D |
Returns: TriangleMesh2D‹›
divideSide
▸ divideSide(triangle: Triangle, sideCode: SideCode, divisionPoint: Vector3, isSecondSplit: boolean): object
Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:150
Divides a triangle side by connecting the division point with the opposite point of the triangle, splitting up the triangle in two. If the split side has a neighboring triangle, this triangle wil be split as well to ensure consistency.
Parameters:
| Name | Type | Default |
|---|---|---|
triangle |
Triangle | - |
sideCode |
SideCode | - |
divisionPoint |
Vector3 | - |
isSecondSplit |
boolean | false |
Returns: object
-
array: [Triangle‹›, Triangle‹›] = [triangleLeft, triangleRight] as [Triangle, Triangle]
-
triangleLeft: Triangle‹›
-
triangleRight: Triangle‹›
getIterator
▸ getIterator(): TriangleMesh2DIterator‹›
Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:52
Returns: TriangleMesh2DIterator‹›
getTriangleAddEventEmitter
▸ getTriangleAddEventEmitter(): IPublicEventEmitterInterface‹Triangle‹››
Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:23
Returns: IPublicEventEmitterInterface‹Triangle‹››
getTriangleRemoveEventEmitter
▸ getTriangleRemoveEventEmitter(): IPublicEventEmitterInterface‹Triangle‹››
Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:27
Returns: IPublicEventEmitterInterface‹Triangle‹››
getTriangles
▸ getTriangles(): Set‹Triangle‹››
Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:48
performSanityCheck
▸ performSanityCheck(): object
Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:87
Checks that there are (a) no degenerated triangles and (b) no neighbor triangle references that are not part of this mesh
Returns: object
object with boolean flags
-
allChecksPass: boolean = false
-
anyDegeneratedTriangles: boolean = false
-
anyInvalidNeighbors: boolean = false
removeTriangle
▸ removeTriangle(triangle: Triangle): void
Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:39
Parameters:
| Name | Type |
|---|---|
triangle |
Triangle |
Returns: void
replacePointInstance
▸ replacePointInstance(oldPoint: Vector3, newPoint: Vector3): Triangle‹›[]
Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:60
Replaces oldPoint instance with newPoint
Parameters:
| Name | Type |
|---|---|
oldPoint |
Vector3 |
newPoint |
Vector3 |
Returns: Triangle‹›[]
Array of triangles that were modified by this operation
replaceTriangles
▸ replaceTriangles(oldTriangles: Triangle[], newTriangles: Triangle[]): void
Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:201
Parameters:
| Name | Type |
|---|---|
oldTriangles |
Triangle[] |
newTriangles |
Triangle[] |
Returns: void
tripleDivide
▸ tripleDivide(triangle: Triangle, divisionPoint: Vector3): object
Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:116
Divides a triangle into three smaller triangles separated by a point inside the triangle
Parameters:
| Name | Type | Description |
|---|---|---|
triangle |
Triangle | - |
divisionPoint |
Vector3 | - |
Returns: object
the created triangles