editor › Globals › MeshValidation
Class: MeshValidation
Hierarchy
- MeshValidation
Index
Methods
- edgeIsDegenerated
- ensureCorrectTwinRelationship
- ensureEdgesNotDegenerated
- ensureNonTouchingOutlines
- ensureOnlyOneMesh
- ensureSurfacesNotDegenerated
- halfEdgeCycleIsDegenerated
- polygonsAreCoplanar
- polygonsArePlanar
- vectorCycleIsDegenerated
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