Skip to content

editorGlobalsMeshValidation

Class: MeshValidation

Hierarchy

  • MeshValidation

Index

Methods

Methods

Static edgeIsDegenerated

edgeIsDegenerated(edge: MeshHalfEdge): boolean

Defined in src/model/data/Concepts/Mesh/MeshValidation.ts:137

Parameters:

Name Type
edge MeshHalfEdge

Returns: boolean


Static Private ensureCorrectTwinRelationship

ensureCorrectTwinRelationship(surfaces: MeshSurface[]): void

Defined in src/model/data/Concepts/Mesh/MeshValidation.ts:35

Ensures that all twin relationships between edges are properly assigned

Parameters:

Name Type Description
surfaces MeshSurface[] the surfaces to check

Returns: void


Static ensureEdgesNotDegenerated

ensureEdgesNotDegenerated(allHalfEdges: MeshHalfEdge[]): void

Defined in src/model/data/Concepts/Mesh/MeshValidation.ts:55

Parameters:

Name Type
allHalfEdges MeshHalfEdge[]

Returns: void


Static ensureNonTouchingOutlines

ensureNonTouchingOutlines(surfaces: readonly MeshSurface[]): void

Defined in src/model/data/Concepts/Mesh/MeshValidation.ts:94

Ensures that each surface's outline does not intersect itself / has touching cycles. A self intersection looks like this A ----D \ / / \ C---B instead of what should be A-----D | | B-----C

Does tolerate single point on outlines like A-------D | | | A'--C'| | \ / | B---B'--C

Parameters:

Name Type
surfaces readonly MeshSurface[]

Returns: void


Static Private ensureOnlyOneMesh

ensureOnlyOneMesh(surfaces: MeshSurface[]): void

Defined in src/model/data/Concepts/Mesh/MeshValidation.ts:23

do a sanity check if there is only one mesh and not multiples

Parameters:

Name Type Description
surfaces MeshSurface[] the surfaces of the to be constructed mesh. All edges need to have valid twin edges.

Returns: void


Static ensureSurfacesNotDegenerated

ensureSurfacesNotDegenerated(surfaces: MeshSurface[]): void

Defined in src/model/data/Concepts/Mesh/MeshValidation.ts:65

Parameters:

Name Type Description
surfaces MeshSurface[] -

Returns: void


Static halfEdgeCycleIsDegenerated

halfEdgeCycleIsDegenerated(cycle: MeshHalfEdge[]): boolean

Defined in src/model/data/Concepts/Mesh/MeshValidation.ts:145

Parameters:

Name Type
cycle MeshHalfEdge[]

Returns: boolean


Static polygonsAreCoplanar

polygonsAreCoplanar(polygons: VectorPolygon3D[]): boolean

Defined in src/model/data/Concepts/Mesh/MeshValidation.ts:121

Checks if all points given by polygons lie on the same plane regarding an equality epsilon which is defined in defaultConfig >> maximumPositionEqualityDistance

Parameters:

Name Type Description
polygons VectorPolygon3D[] -

Returns: boolean


Static polygonsArePlanar

polygonsArePlanar(polygons: ReadonlyVectorPolygon3D[]): boolean

Defined in src/model/data/Concepts/Mesh/MeshValidation.ts:131

Checks for each polygon given by polygons if their points lie on the same plane regarding an equality epsilon which is defined in defaultConfig >> maximumPositionEqualityDistance

Parameters:

Name Type Description
polygons ReadonlyVectorPolygon3D[] -

Returns: boolean


Static vectorCycleIsDegenerated

vectorCycleIsDegenerated(cycle: ReadonlyVectorCycle3D): boolean

Defined in src/model/data/Concepts/Mesh/MeshValidation.ts:141

Parameters:

Name Type
cycle ReadonlyVectorCycle3D

Returns: boolean