Expand description
A line, defined by a point and a vector
Fields
origin: Point<3>The origin of the line’s coordinate system
direction: Vector<3>The direction of the line
The length of this vector defines the unit of the line’s curve
coordinate system. The coordinate 1. is always were the direction
vector points, from origin.
Implementations
sourceimpl Line
impl Line
sourcepub fn from_points([a, b]: [Point<3>; 2]) -> Self
pub fn from_points([a, b]: [Point<3>; 2]) -> Self
Create a line from two points
sourcepub fn transform(self, transform: &Transform) -> Self
pub fn transform(self, transform: &Transform) -> Self
Create a new instance that is transformed by transform
sourcepub fn point_model_to_curve(&self, point: &Point<3>) -> Point<1>
pub fn point_model_to_curve(&self, point: &Point<3>) -> Point<1>
Convert a point in model coordinates to curve coordinates
Projects the point onto the line before computing curve coordinate. This is done to make this method robust against floating point accuracy issues.
Callers are advised to be careful about the points they pass, as the point not being on the line, intentional or not, will never result in an error.
sourcepub fn point_curve_to_model(&self, point: &Point<1>) -> Point<3>
pub fn point_curve_to_model(&self, point: &Point<1>) -> Point<3>
Convert a point on the curve into model coordinates
sourcepub fn vector_curve_to_model(&self, vector: &Vector<1>) -> Vector<3>
pub fn vector_curve_to_model(&self, vector: &Vector<1>) -> Vector<3>
Convert a vector on the curve into model coordinates
Trait Implementations
sourceimpl AbsDiffEq<Line> for Line
impl AbsDiffEq<Line> for Line
sourcefn default_epsilon() -> Self::Epsilon
fn default_epsilon() -> Self::Epsilon
The default tolerance to use when testing values that are close together. Read more
sourcefn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
A test for equality that uses the absolute difference to compute the approximate equality of two numbers. Read more
sourcefn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
The inverse of AbsDiffEq::abs_diff_eq.
sourceimpl Ord for Line
impl Ord for Line
sourceimpl PartialOrd<Line> for Line
impl PartialOrd<Line> for Line
sourcefn partial_cmp(&self, other: &Line) -> Option<Ordering>
fn partial_cmp(&self, other: &Line) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl Copy for Line
impl Eq for Line
impl StructuralEq for Line
impl StructuralPartialEq for Line
Auto Trait Implementations
impl RefUnwindSafe for Line
impl Send for Line
impl Sync for Line
impl Unpin for Line
impl UnwindSafe for Line
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
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.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more