Project
Loading...
Searching...
No Matches
o2::cad::surface::ClosureReport Struct Reference

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< RimRecordrimRecords
 
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
 

Detailed Description

Whether a set of bounded surfaces forms a closed, consistently oriented 2-manifold, by half-edges, rims and edge identities.

Definition at line 4676 of file BoundedSurface.h.

Member Data Documentation

◆ boundaryEdges

int o2::cad::surface::ClosureReport::boundaryEdges = 0

edges present on only one face (e.g. a missing face)

Definition at line 4679 of file BoundedSurface.h.

◆ boundaryRims

int o2::cad::surface::ClosureReport::boundaryRims = 0

some chord has no other face within the match band

Definition at line 4700 of file BoundedSurface.h.

◆ closed

bool o2::cad::surface::ClosureReport::closed = true

every boundary edge is shared by exactly two faces

Definition at line 4677 of file BoundedSurface.h.

◆ edgeBoundaryCount

int o2::cad::surface::ClosureReport::edgeBoundaryCount = 0

appearing once: a face is missing on the other side

Definition at line 4712 of file BoundedSurface.h.

◆ edgeDegenerateCount

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 4715 of file BoundedSurface.h.

◆ edgeIdentityAvailable

bool o2::cad::surface::ClosureReport::edgeIdentityAvailable = false

Definition at line 4709 of file BoundedSurface.h.

◆ edgeIncidences

int o2::cad::surface::ClosureReport::edgeIncidences = 0

distinct edge identifiers seen over all faces

Definition at line 4710 of file BoundedSurface.h.

◆ edgeNonManifoldCount

int o2::cad::surface::ClosureReport::edgeNonManifoldCount = 0

appearing three or more times

Definition at line 4713 of file BoundedSurface.h.

◆ edgeReversedCount

int o2::cad::surface::ClosureReport::edgeReversedCount = 0

appearing exactly twice, but with the same sense

Definition at line 4714 of file BoundedSurface.h.

◆ edgeSharedCount

int o2::cad::surface::ClosureReport::edgeSharedCount = 0

appearing exactly twice, opposite sense: a properly shared edge

Definition at line 4711 of file BoundedSurface.h.

◆ matchedRims

int o2::cad::surface::ClosureReport::matchedRims = 0

every chord has another face within the match band, traversed the opposite way

Definition at line 4695 of file BoundedSurface.h.

◆ maxRimIsolation

double o2::cad::surface::ClosureReport::maxRimIsolation = 0.

Definition at line 4687 of file BoundedSurface.h.

◆ maxSharedEdgeDeviation

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 4719 of file BoundedSurface.h.

◆ maxSharedEdgeDeviationEdge

uint32_t o2::cad::surface::ClosureReport::maxSharedEdgeDeviationEdge = 0

which edge that was

Definition at line 4720 of file BoundedSurface.h.

◆ maxSharedEdgeDeviationFaces

int o2::cad::surface::ClosureReport::maxSharedEdgeDeviationFaces[2] = {-1, -1}

between which two faces

Definition at line 4722 of file BoundedSurface.h.

◆ maxSharedEdgeDeviationPoint

Vec3 o2::cad::surface::ClosureReport::maxSharedEdgeDeviationPoint {}

and where on it

Definition at line 4721 of file BoundedSurface.h.

◆ nonManifoldEdges

int o2::cad::surface::ClosureReport::nonManifoldEdges = 0

edges shared by more than two faces

Definition at line 4680 of file BoundedSurface.h.

◆ nonManifoldRims

int o2::cad::surface::ClosureReport::nonManifoldRims = 0

some chord has two or more other faces within rimEpsilon

Definition at line 4699 of file BoundedSurface.h.

◆ orientationConsistent

bool o2::cad::surface::ClosureReport::orientationConsistent = true

shared edges are traversed in opposite directions

Definition at line 4678 of file BoundedSurface.h.

◆ reversedEdges

int o2::cad::surface::ClosureReport::reversedEdges = 0

edges shared by two faces in the same direction

Definition at line 4681 of file BoundedSurface.h.

◆ reversedRims

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 4697 of file BoundedSurface.h.

◆ rimChordResolution

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 4691 of file BoundedSurface.h.

◆ rimEpsilon

double o2::cad::surface::ClosureReport::rimEpsilon = 0.

the declared matching tolerance, in cm

Definition at line 4690 of file BoundedSurface.h.

◆ rimRecords

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 4703 of file BoundedSurface.h.

◆ rims

int o2::cad::surface::ClosureReport::rims = 0

total number of trim loops over all faces

Definition at line 4694 of file BoundedSurface.h.

◆ sharedEdgesMeasured

int o2::cad::surface::ClosureReport::sharedEdgesMeasured = 0

shared edges both of whose faces could be sampled

Definition at line 4723 of file BoundedSurface.h.

◆ sharedEdgesUnmeasured

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 4724 of file BoundedSurface.h.

◆ signedVolume

double o2::cad::surface::ClosureReport::signedVolume = 0.

divergence-theorem volume; positive if normals point out

Definition at line 4682 of file BoundedSurface.h.

◆ totalRimLength

double o2::cad::surface::ClosureReport::totalRimLength = 0.

summed length in cm of every face's trim boundary

Definition at line 4688 of file BoundedSurface.h.

◆ unmatchedRimLength

double o2::cad::surface::ClosureReport::unmatchedRimLength = 0.

how much of it has no other face within the match band, cm

Definition at line 4689 of file BoundedSurface.h.


The documentation for this struct was generated from the following file: