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 leaves the Euler–Poincaré count as it is.
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
Source§impl<'de> Deserialize<'de> for CoedgeGeometry
impl<'de> Deserialize<'de> for CoedgeGeometry
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for CoedgeGeometry
Source§impl PartialEq for CoedgeGeometry
impl PartialEq for CoedgeGeometry
Source§impl Serialize for CoedgeGeometry
impl Serialize for CoedgeGeometry
impl StructuralPartialEq for CoedgeGeometry
Auto Trait Implementations§
impl Freeze for CoedgeGeometry
impl RefUnwindSafe for CoedgeGeometry
impl Send for CoedgeGeometry
impl Sync for CoedgeGeometry
impl Unpin for CoedgeGeometry
impl UnsafeUnpin for CoedgeGeometry
impl UnwindSafe for CoedgeGeometry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.