Struct intersect2d::algorithm::AlgorithmData[][src]

pub struct AlgorithmData<T> where
    T: Float + CoordNum + PartialOrd + AbsDiffEq + UlpsEq,
    T::Epsilon: Copy
{ pub ignore_end_point_intersections: bool, // some fields omitted }

Contains the data the sweepline intersection algorithm needs to operate. Most of these containers are stored inside an Option. This makes it possible to take() them and make the borrow-checker happy.

Fields

ignore_end_point_intersections: bool

Implementations

impl<T> AlgorithmData<T> where
    T: Float + Display + ToPrimitive + CoordNum + PartialOrd + AbsDiffEq + UlpsEq,
    T::Epsilon: Copy
[src]

pub fn get_sweepline_pos(&self) -> &Coordinate<T>[src]

pub fn get_lines(&self) -> &Vec<Line<T>>[src]

pub fn get_results(&self) -> &Option<RBMap<SiteEventKey<T>, Vec<usize>>>[src]

pub fn get_site_events(&self) -> &Option<RBMap<SiteEventKey<T>, SiteEvent<T>>>[src]

pub fn get_active_lines(&self) -> &Option<FnvHashSet<usize>>[src]

pub fn get_intersection_calls(&self) -> usize[src]

pub fn with_stop_at_first_intersection(&mut self, value: bool)[src]

pub fn with_ignore_end_point_intersections(&mut self, value: bool)[src]

pub fn with_lines<'a, I>(&mut self, data: I) where
    T: 'a,
    I: Iterator<Item = &'a Line<T>>, 
[src]

Add data to the input lines. Sort the end point according to the order of SiteEventKey. Populate the event queue Todo add error when data contains NaN (for example)

pub fn compute(&mut self, interactive: bool) -> bool[src]

handles input event, returns true when done If interactive is set, the method will handle only one event for each call

Trait Implementations

impl<T> Default for AlgorithmData<T> where
    T: Float + Display + ToPrimitive + CoordNum + PartialOrd + AbsDiffEq + UlpsEq,
    T::Epsilon: Copy
[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for AlgorithmData<T> where
    T: RefUnwindSafe
[src]

impl<T> Send for AlgorithmData<T> where
    T: Send
[src]

impl<T> Sync for AlgorithmData<T> where
    T: Sync
[src]

impl<T> Unpin for AlgorithmData<T> where
    T: Unpin
[src]

impl<T> UnwindSafe for AlgorithmData<T> where
    T: UnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.