#[non_exhaustive]pub struct EdgeSelection {
pub crease_cosine: Option<f64>,
pub boundary: bool,
pub silhouette: bool,
pub group_boundary: bool,
pub hidden: bool,
}Expand description
Which edges to draw.
An edge with one incident triangle is a boundary edge. An edge with two
is a silhouette when the two triangles’ image orientations differ (a
triangle seen edge-on is its own orientation, so the test is symmetric
and independent of winding), and otherwise a crease when the cosine of
the angle between their normals is strictly below crease_cosine, and
otherwise, when group_boundary is set, a group boundary when the two
triangles are in different FaceGroups (ADR 0106). The kinds are
exclusive in that order: a silhouette is never a crease or a group
boundary, and an edge that is a crease at crease_cosine is never a group
boundary. With group_boundary unset the face groups are ignored.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.crease_cosine: Option<f64>Crease threshold in [-1, 1]; None draws no creases.
boundary: boolDraw boundary edges.
silhouette: boolDraw silhouette edges.
group_boundary: boolDraw edges between triangles of different face groups that are
neither silhouettes nor selected creases. The groups are resolved as
for MeshVisibleFaces (FaceGroups), and a PerTriangle slice of
the wrong length is refused.
Also report the hidden pieces.
Implementations§
Source§impl EdgeSelection
impl EdgeSelection
Sourcepub const fn with_boundary(self, boundary: bool) -> Self
pub const fn with_boundary(self, boundary: bool) -> Self
Select or deselect boundary edges.
Sourcepub const fn with_silhouette(self, silhouette: bool) -> Self
pub const fn with_silhouette(self, silhouette: bool) -> Self
Select or deselect silhouette edges.
Sourcepub const fn with_group_boundary(self, group_boundary: bool) -> Self
pub const fn with_group_boundary(self, group_boundary: bool) -> Self
Select or deselect group-boundary edges.
Report or omit hidden pieces.
Trait Implementations§
Source§impl Clone for EdgeSelection
impl Clone for EdgeSelection
Source§fn clone(&self) -> EdgeSelection
fn clone(&self) -> EdgeSelection
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more