Skip to content

editorGlobalsTriangleMesh2D

Class: TriangleMesh2D

Holds a mesh consisting out of multiple triangles that are in the z=0 plane

Hierarchy

  • TriangleMesh2D

Index

Constructors

Properties

Methods

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: EventEmitterTriangle‹›› = new EventEmitter()

Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:14


Private Readonly triangleRemoveEventEmitter

triangleRemoveEventEmitter: EventEmitterTriangle‹›› = new EventEmitter()

Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:15


Private Readonly triangles

triangles: SetTriangle

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


getIterator

getIterator(): TriangleMesh2DIterator‹›

Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:52

Returns: TriangleMesh2DIterator‹›


getTriangleAddEventEmitter

getTriangleAddEventEmitter(): IPublicEventEmitterInterfaceTriangle‹››

Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:23

Returns: IPublicEventEmitterInterfaceTriangle‹››


getTriangleRemoveEventEmitter

getTriangleRemoveEventEmitter(): IPublicEventEmitterInterfaceTriangle‹››

Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:27

Returns: IPublicEventEmitterInterfaceTriangle‹››


getTriangles

getTriangles(): SetTriangle‹››

Defined in src/util/polygon/triangulatingClipper/TriangleMesh2D.ts:48

Returns: SetTriangle‹››


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