pub(crate) struct Polygon {
points: [Coords3; 12],
len: usize,
}Expand description
Convex polygon of the intersection, kept on the stack: this runs once per element per interface
Fields§
§points: [Coords3; 12]§len: usizeImplementations§
Source§impl Polygon
impl Polygon
pub(crate) fn from_slice(points: &[Coords3]) -> Self
pub(crate) fn as_slice(&self) -> &[Coords3] ⓘ
fn push(&mut self, point: Coords3)
Sourcepub(crate) fn clip(&self, half_space: &HalfSpace) -> Self
pub(crate) fn clip(&self, half_space: &HalfSpace) -> Self
Sutherland-Hodgman clipping of the polygon by one half space, the polygon has to be convex and its vertices ordered. See https://en.wikipedia.org/wiki/Sutherland%E2%80%93Hodgman_algorithm
keep | drop keep |
+-------|---+ +-------+
| | / | /
| poly | / = | /
| |/ | /
+-------+ +---+Auto Trait Implementations§
impl Freeze for Polygon
impl RefUnwindSafe for Polygon
impl Send for Polygon
impl Sync for Polygon
impl Unpin for Polygon
impl UnsafeUnpin for Polygon
impl UnwindSafe for Polygon
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
Mutably borrows from an owned value. Read more
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.