pub struct ConflictGraph {
pub face_count: usize,
pub face_to_points: Vec<Vec<usize>>,
pub point_to_faces: Vec<Vec<usize>>,
}Expand description
A conflict graph recording which faces can “see” which points outside the hull.
Used in the full incremental QuickHull algorithm to speed up point insertion.
Fields§
§face_count: usizeNumber of hull faces.
face_to_points: Vec<Vec<usize>>For each face, list of point indices visible from that face.
point_to_faces: Vec<Vec<usize>>For each point, list of face indices it can see.
Implementations§
Source§impl ConflictGraph
impl ConflictGraph
Sourcepub fn new(hull: &ConvexHull3DVec, points: &[Vec3]) -> Self
pub fn new(hull: &ConvexHull3DVec, points: &[Vec3]) -> Self
Build a conflict graph for hull against a set of points.
Sourcepub fn faces_for_point(&self, pi: usize) -> &[usize]
pub fn faces_for_point(&self, pi: usize) -> &[usize]
Returns the faces visible from point pi.
Sourcepub fn points_for_face(&self, fi: usize) -> &[usize]
pub fn points_for_face(&self, fi: usize) -> &[usize]
Returns the points visible from face fi.
Auto Trait Implementations§
impl Freeze for ConflictGraph
impl RefUnwindSafe for ConflictGraph
impl Send for ConflictGraph
impl Sync for ConflictGraph
impl Unpin for ConflictGraph
impl UnsafeUnpin for ConflictGraph
impl UnwindSafe for ConflictGraph
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
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§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 moreSource§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).Source§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.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.