Skip to main content

Module face_record

Module face_record 

Source
Expand description

Core data types for face connectivity: FaceRecord, FaceMatch, MatchPoint, and Orientation.

§Diagonal Convention

FaceRecord stores diagonal corners as il/jl/kl (first corner) and ih/jh/kh (second corner). The ordering is not normalized: il can be greater than ih, encoding that the I-axis is reversed on this face relative to the matching face on the other block.

This matches the GridPro/GlennHT connectivity convention and makes it possible to reconstruct the orientation relationship between two matched faces from the FaceRecord alone, without re-sampling block coordinates.

When you need min/max values (e.g. for range iteration), use the normalized accessors: FaceRecord::i_lo(), FaceRecord::i_hi(), etc.

Structs§

FaceMatch
Aggregates the matching data between two faces.
FaceRecord
Compact record describing a face on a particular block.
MatchPoint
Pointwise correspondence between two block faces.
Orientation
Describes the parametric orientation between two matched faces using a permutation matrix index (0-7).

Enums§

OrientationPlane
Whether a face match is in-plane or cross-plane.

Constants§

PERMUTATION_MATRICES
The 8 canonical 2x2 permutation matrices for face orientation.

Traits§

FaceMatchPrinter
Helper trait to print summaries of face matches.
FaceRecordTraits
Helper trait to print summaries of face records.

Functions§

match_point_bounds
Extract (i_lo, i_hi, j_lo, j_hi, k_lo, k_hi) bounds from a slice of MatchPoints.

Type Aliases§

FaceKey
Compact identifier for a face: (block_index, il, jl, kl, ih, jh, kh).
PeriodicPair
Semantic alias for a periodic face pair (same structure as FaceMatch).