pub enum CoedgeGeometry {
Edge(EdgeId),
Vertex(VertexId),
}Expand description
What a coedge’s own (u, v) boundary segment is actually backed by.
Variants§
Edge(EdgeId)
A real, shared edge — this coedge is one of exactly the two
(opposite Sense) that trace it, one per adjoining face. The usual
case.
Vertex(VertexId)
A degenerate loop segment that sits at a single, already-existing
vertex the whole way — no edge, and (unlike Edge) no second
coedge sharing it, since there’s nothing to share between two
faces: it belongs to exactly one face’s own loop. This is how a
loop closes over a surface row that’s collapsed to a single point
(e.g. a pole) — the loop still needs some pcurve tracing that
row’s full parameter range even though there’s no 3-D geometry
there to back a real edge. Adds neither a new vertex nor a new
edge, so it never needs to satisfy (or risk violating) the
Euler–Poincaré invariant euler operators preserve — it isn’t one.
Trait Implementations§
Source§impl Clone for CoedgeGeometry
impl Clone for CoedgeGeometry
Source§fn clone(&self) -> CoedgeGeometry
fn clone(&self) -> CoedgeGeometry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for CoedgeGeometry
Source§impl Debug for CoedgeGeometry
impl Debug for CoedgeGeometry
impl Eq for CoedgeGeometry
Source§impl PartialEq for CoedgeGeometry
impl PartialEq for CoedgeGeometry
Source§fn eq(&self, other: &CoedgeGeometry) -> bool
fn eq(&self, other: &CoedgeGeometry) -> bool
self and other values to be equal, and is used by ==.