Struct fj_kernel::algorithms::approx::curve::RangeOnCurve
source · [−]pub struct RangeOnCurve { /* private fields */ }Expand description
The range on which a curve should be approximated
Implementations
sourceimpl RangeOnCurve
impl RangeOnCurve
sourcepub fn new([a, b]: [Vertex; 2]) -> Self
pub fn new([a, b]: [Vertex; 2]) -> Self
Construct an instance of RangeOnCurve
Ranges are normalized on construction, meaning that the order of vertices passed to this constructor does not influence the range that is constructed.
This is done to prevent bugs during mesh construction: The curve approximation code is regularly faced with ranges that are reversed versions of each other. This can lead to slightly different approximations, which in turn leads to the aforementioned invalid meshes.
The caller can use is_reversed to determine, if the range was reversed
during normalization, to adjust the approximation accordingly.
sourcepub fn is_reversed(&self) -> bool
pub fn is_reversed(&self) -> bool
Indicate whether the range was reversed during normalization
sourcepub fn signed_length(&self) -> Scalar
pub fn signed_length(&self) -> Scalar
Compute the signed length of the range
Trait Implementations
sourceimpl Clone for RangeOnCurve
impl Clone for RangeOnCurve
sourcefn clone(&self) -> RangeOnCurve
fn clone(&self) -> RangeOnCurve
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl Debug for RangeOnCurve
impl Debug for RangeOnCurve
impl Copy for RangeOnCurve
Auto Trait Implementations
impl RefUnwindSafe for RangeOnCurve
impl Send for RangeOnCurve
impl Sync for RangeOnCurve
impl Unpin for RangeOnCurve
impl UnwindSafe for RangeOnCurve
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
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 Twhere
T: Any,
impl<T> Downcast for Twhere
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 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.