#[non_exhaustive]pub enum HalfedgeEditError {
RemovedElement {
element: &'static str,
index: u32,
},
BoundaryEdge {
edge: EdgeId,
},
NotATriangle {
face: FaceId,
degree: usize,
},
EdgeExists {
a: VertexId,
b: VertexId,
},
LinkCondition {
edge: EdgeId,
},
WouldDegenerate {
edge: EdgeId,
},
NotBoundary {
halfedge: HalfedgeId,
},
NotSameFace {
a: HalfedgeId,
b: HalfedgeId,
},
AdjacentCorners {
a: HalfedgeId,
b: HalfedgeId,
},
TooLarge,
}Expand description
Why a local edit or a conversion was refused.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
RemovedElement
The id names an element that was removed or never existed.
BoundaryEdge
The edit needs a face on both sides of the edge.
NotATriangle
The edit needs a triangle here.
EdgeExists
The edit would add an edge between vertices already joined, making the mesh non-simple.
LinkCondition
Collapsing the edge would pinch the surface: its endpoints share a neighbour that is not opposite the edge, or both lie on a boundary the edge does not run along (Dey et al.’s link condition).
WouldDegenerate
The edit would leave a degenerate surface: collapsing an edge of a tetrahedron, of a lone triangle or of a two-triangle pillow, or flipping an edge whose two opposite corners coincide.
NotBoundary
The halfedge has a face; filling needs a boundary halfedge.
Fields
halfedge: HalfedgeIdThe halfedge.
NotSameFace
The two halfedges do not lie on the same face.
AdjacentCorners
The two corners are the same or already joined by a side of the face.
TooLarge
The edit needs more elements than 32-bit ids can address.
Trait Implementations§
Source§impl Clone for HalfedgeEditError
impl Clone for HalfedgeEditError
Source§fn clone(&self) -> HalfedgeEditError
fn clone(&self) -> HalfedgeEditError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HalfedgeEditError
impl Debug for HalfedgeEditError
Source§impl Display for HalfedgeEditError
impl Display for HalfedgeEditError
impl Eq for HalfedgeEditError
Source§impl Error for HalfedgeEditError
impl Error for HalfedgeEditError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()