Enum libreda_pnr::db::LineIntersection [−]
Return type for the line-line intersection functions. Stores all possible results of a line to line intersection.
Variants
No intersection at all.
Intersection in a single point.
Besides the intersection point also an other expression for the intersection point is given.
The three values (a, b, c)
describe the intersection point in terms of a starting point (the starting point
of the edge which defines the line) and the direction of the edge multiplied by a fraction.
edge.start + edge.vector()*a/c == p
and
other_edge.start + other_edge.vector()*b/c == p
.
Lines are collinear.
Trait Implementations
impl<TP, TE> Clone for LineIntersection<TP, TE> where
TP: CoordinateType + Clone,
TE: CoordinateType + Clone,
TP: CoordinateType + Clone,
TE: CoordinateType + Clone,
pub fn clone(&self) -> LineIntersection<TP, TE>
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<TP, TE> Copy for LineIntersection<TP, TE> where
TP: CoordinateType + Copy,
TE: CoordinateType + Copy,
TP: CoordinateType + Copy,
TE: CoordinateType + Copy,
impl<TP, TE> Debug for LineIntersection<TP, TE> where
TP: CoordinateType + Debug,
TE: CoordinateType + Debug,
TP: CoordinateType + Debug,
TE: CoordinateType + Debug,
impl<TP, TE> PartialEq<LineIntersection<TP, TE>> for LineIntersection<TP, TE> where
TP: CoordinateType + PartialEq<TP>,
TE: CoordinateType + PartialEq<TE>,
TP: CoordinateType + PartialEq<TP>,
TE: CoordinateType + PartialEq<TE>,
pub fn eq(&self, other: &LineIntersection<TP, TE>) -> bool
pub fn ne(&self, other: &LineIntersection<TP, TE>) -> bool
impl<TP, TE> StructuralPartialEq for LineIntersection<TP, TE> where
TP: CoordinateType,
TE: CoordinateType,
TP: CoordinateType,
TE: CoordinateType,
Auto Trait Implementations
impl<TP, TE> RefUnwindSafe for LineIntersection<TP, TE> where
TE: RefUnwindSafe,
TP: RefUnwindSafe,
TE: RefUnwindSafe,
TP: RefUnwindSafe,
impl<TP, TE> Send for LineIntersection<TP, TE> where
TE: Send,
TP: Send,
TE: Send,
TP: Send,
impl<TP, TE> Sync for LineIntersection<TP, TE> where
TE: Sync,
TP: Sync,
TE: Sync,
TP: Sync,
impl<TP, TE> Unpin for LineIntersection<TP, TE> where
TE: Unpin,
TP: Unpin,
TE: Unpin,
TP: Unpin,
impl<TP, TE> UnwindSafe for LineIntersection<TP, TE> where
TE: UnwindSafe,
TP: UnwindSafe,
TE: UnwindSafe,
TP: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,