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§
- Face
Match - Aggregates the matching data between two faces.
- Face
Record - Compact record describing a face on a particular block.
- Match
Point - Pointwise correspondence between two block faces.
- Orientation
- Describes the parametric orientation between two matched faces using a permutation matrix index (0-7).
Enums§
- Orientation
Plane - Whether a face match is in-plane or cross-plane.
Constants§
- PERMUTATION_
MATRICES - The 8 canonical 2x2 permutation matrices for face orientation.
Traits§
- Face
Match Printer - Helper trait to print summaries of face matches.
- Face
Record Traits - 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 ofMatchPoints.
Type Aliases§
- FaceKey
- Compact identifier for a face:
(block_index, il, jl, kl, ih, jh, kh). - Periodic
Pair - Semantic alias for a periodic face pair (same structure as
FaceMatch).