pub fn face_content(model: &Model, face: &Shape) -> Option<Vec<u8>>Expand description
Everything a face is made of, written out as bytes: its orientation, placement, tolerance and surface, then each wire in order with each of its edges’ orientation, placement, tolerance, flags, every representation (a curve, a pcurve, a seam’s two pcurves, with their placements and ranges, and whether a pcurve lies on the face’s own surface or another face’s) and vertices. An edge met again in the face is named by where it was first met, so a seam walked twice reads as one edge. Geometry is written out, never named by its handle, so the same face built again in another model reads the same.
Floats are written as their bits, or in their debug form, which reads
back to the same bits, and every piece of varying length carries its
length: two faces read the same only where every one of these is the
same. None where any part of the face does not resolve, or an edge
carries a mesh’s indices, which name a triangulation of this model by
its handle.