![]() |
Project
|
Whether a set of bounded surfaces forms a closed, consistently oriented 2-manifold, by half-edges, rims and edge identities. More...
#include <BoundedSurface.h>
Public Attributes | |
| bool | closed = true |
| every boundary edge is shared by exactly two faces | |
| bool | orientationConsistent = true |
| shared edges are traversed in opposite directions | |
| int | boundaryEdges = 0 |
| edges present on only one face (e.g. a missing face) | |
| int | nonManifoldEdges = 0 |
| edges shared by more than two faces | |
| int | reversedEdges = 0 |
| edges shared by two faces in the same direction | |
| double | signedVolume = 0. |
| divergence-theorem volume; positive if normals point out | |
Rim-based measurement: the boundary as curves in cm, counted per rim; the verdict when there are no edge identities | |
Largest distance in cm from any rim chord to the nearest chord of another face; not a seam width. | |
| double | maxRimIsolation = 0. |
| double | totalRimLength = 0. |
| summed length in cm of every face's trim boundary | |
| double | unmatchedRimLength = 0. |
| how much of it has no other face within the match band, cm | |
| double | rimEpsilon = 0. |
| the declared matching tolerance, in cm | |
| double | rimChordResolution = 0. |
| int | rims = 0 |
| total number of trim loops over all faces | |
| int | matchedRims = 0 |
| int | reversedRims = 0 |
| int | nonManifoldRims = 0 |
| some chord has two or more other faces within rimEpsilon | |
| int | boundaryRims = 0 |
| std::vector< RimRecord > | rimRecords |
Closure by edge identity (sidecar v3): an edge is shared when it appears exactly twice, once each way | |
True when every surface carried a boundary edge list. | |
| bool | edgeIdentityAvailable = false |
| int | edgeIncidences = 0 |
| distinct edge identifiers seen over all faces | |
| int | edgeSharedCount = 0 |
| appearing exactly twice, opposite sense: a properly shared edge | |
| int | edgeBoundaryCount = 0 |
| appearing once: a face is missing on the other side | |
| int | edgeNonManifoldCount = 0 |
| appearing three or more times | |
| int | edgeReversedCount = 0 |
| appearing exactly twice, but with the same sense | |
| int | edgeDegenerateCount = 0 |
| double | maxSharedEdgeDeviation = 0. |
| Largest Hausdorff distance between two faces' realisations of a shared edge, in cm; a measurement, not a verdict. | |
| uint32_t | maxSharedEdgeDeviationEdge = 0 |
| which edge that was | |
| Vec3 | maxSharedEdgeDeviationPoint {} |
| and where on it | |
| int | maxSharedEdgeDeviationFaces [2] = {-1, -1} |
| between which two faces | |
| int | sharedEdgesMeasured = 0 |
| shared edges both of whose faces could be sampled | |
| int | sharedEdgesUnmeasured = 0 |
Whether a set of bounded surfaces forms a closed, consistently oriented 2-manifold, by half-edges, rims and edge identities.
Definition at line 4936 of file BoundedSurface.h.
| int o2::cad::surface::ClosureReport::boundaryEdges = 0 |
edges present on only one face (e.g. a missing face)
Definition at line 4939 of file BoundedSurface.h.
| int o2::cad::surface::ClosureReport::boundaryRims = 0 |
some chord has no other face within the match band
Definition at line 4960 of file BoundedSurface.h.
every boundary edge is shared by exactly two faces
Definition at line 4937 of file BoundedSurface.h.
| int o2::cad::surface::ClosureReport::edgeBoundaryCount = 0 |
appearing once: a face is missing on the other side
Definition at line 4972 of file BoundedSurface.h.
| int o2::cad::surface::ClosureReport::edgeDegenerateCount = 0 |
flagged degenerate (cone apex, sphere pole): excluded from the counts above, because a point has no second face to meet
Definition at line 4975 of file BoundedSurface.h.
Definition at line 4969 of file BoundedSurface.h.
| int o2::cad::surface::ClosureReport::edgeIncidences = 0 |
distinct edge identifiers seen over all faces
Definition at line 4970 of file BoundedSurface.h.
| int o2::cad::surface::ClosureReport::edgeNonManifoldCount = 0 |
appearing three or more times
Definition at line 4973 of file BoundedSurface.h.
| int o2::cad::surface::ClosureReport::edgeReversedCount = 0 |
appearing exactly twice, but with the same sense
Definition at line 4974 of file BoundedSurface.h.
| int o2::cad::surface::ClosureReport::edgeSharedCount = 0 |
appearing exactly twice, opposite sense: a properly shared edge
Definition at line 4971 of file BoundedSurface.h.
| int o2::cad::surface::ClosureReport::matchedRims = 0 |
every chord has another face within the match band, traversed the opposite way
Definition at line 4955 of file BoundedSurface.h.
| double o2::cad::surface::ClosureReport::maxRimIsolation = 0. |
Definition at line 4947 of file BoundedSurface.h.
| double o2::cad::surface::ClosureReport::maxSharedEdgeDeviation = 0. |
Largest Hausdorff distance between two faces' realisations of a shared edge, in cm; a measurement, not a verdict.
Definition at line 4979 of file BoundedSurface.h.
| uint32_t o2::cad::surface::ClosureReport::maxSharedEdgeDeviationEdge = 0 |
which edge that was
Definition at line 4980 of file BoundedSurface.h.
| int o2::cad::surface::ClosureReport::maxSharedEdgeDeviationFaces[2] = {-1, -1} |
between which two faces
Definition at line 4982 of file BoundedSurface.h.
| Vec3 o2::cad::surface::ClosureReport::maxSharedEdgeDeviationPoint {} |
and where on it
Definition at line 4981 of file BoundedSurface.h.
| int o2::cad::surface::ClosureReport::nonManifoldEdges = 0 |
edges shared by more than two faces
Definition at line 4940 of file BoundedSurface.h.
| int o2::cad::surface::ClosureReport::nonManifoldRims = 0 |
some chord has two or more other faces within rimEpsilon
Definition at line 4959 of file BoundedSurface.h.
shared edges are traversed in opposite directions
Definition at line 4938 of file BoundedSurface.h.
| int o2::cad::surface::ClosureReport::reversedEdges = 0 |
edges shared by two faces in the same direction
Definition at line 4941 of file BoundedSurface.h.
| int o2::cad::surface::ClosureReport::reversedRims = 0 |
matched, but the partner traverses the shared curve the same way (one face's outward normal points inward)
Definition at line 4957 of file BoundedSurface.h.
| double o2::cad::surface::ClosureReport::rimChordResolution = 0. |
the largest amount by which any rim polyline can sit off the smooth rim it samples, in cm; the per-chord value of this is what widens the match band
Definition at line 4951 of file BoundedSurface.h.
| double o2::cad::surface::ClosureReport::rimEpsilon = 0. |
the declared matching tolerance, in cm
Definition at line 4950 of file BoundedSurface.h.
| std::vector<RimRecord> o2::cad::surface::ClosureReport::rimRecords |
One entry per rim, in the order the faces were visited: the detail behind the counters above. The counters say how many rims are open; these say which, and where.
Definition at line 4963 of file BoundedSurface.h.
| int o2::cad::surface::ClosureReport::rims = 0 |
total number of trim loops over all faces
Definition at line 4954 of file BoundedSurface.h.
| int o2::cad::surface::ClosureReport::sharedEdgesMeasured = 0 |
shared edges both of whose faces could be sampled
Definition at line 4983 of file BoundedSurface.h.
| int o2::cad::surface::ClosureReport::sharedEdgesUnmeasured = 0 |
the rest: a parametric-rectangle face names its edges but carries no curve for them, so there is nothing to compare
Definition at line 4984 of file BoundedSurface.h.
| double o2::cad::surface::ClosureReport::signedVolume = 0. |
divergence-theorem volume; positive if normals point out
Definition at line 4942 of file BoundedSurface.h.
| double o2::cad::surface::ClosureReport::totalRimLength = 0. |
summed length in cm of every face's trim boundary
Definition at line 4948 of file BoundedSurface.h.
| double o2::cad::surface::ClosureReport::unmatchedRimLength = 0. |
how much of it has no other face within the match band, cm
Definition at line 4949 of file BoundedSurface.h.