pub struct ParametricFunctionPlot { /* private fields */ }Expand description
A ParametricFunctionPlot represents a plot of a parametric function (x(t), y(t)).
Implementations§
Source§impl ParametricFunctionPlot
impl ParametricFunctionPlot
Sourcepub fn new(
expression_x: String,
expression_y: String,
domain: ClosedInterval,
x_range: ClosedInterval,
y_range: ClosedInterval,
discontinuities: Option<Vec<f32>>,
min_depth: Option<u32>,
max_depth: Option<u32>,
threshold: Option<f32>,
) -> Result<ParametricFunctionPlot, JsError>
pub fn new( expression_x: String, expression_y: String, domain: ClosedInterval, x_range: ClosedInterval, y_range: ClosedInterval, discontinuities: Option<Vec<f32>>, min_depth: Option<u32>, max_depth: Option<u32>, threshold: Option<f32>, ) -> Result<ParametricFunctionPlot, JsError>
Creates a new ParametricFunctionPlot from an expression, domain, x-range, y-range, and other optional parameters.
Sourcepub fn expression_x(&self) -> String
pub fn expression_x(&self) -> String
Returns the x expression of the parametric function.
Sourcepub fn expression_y(&self) -> String
pub fn expression_y(&self) -> String
Returns the y expression of the parametric function.
Sourcepub fn expression(&self) -> String
pub fn expression(&self) -> String
Returns the expression of the parametric function.
Sourcepub fn domain(&self) -> ClosedInterval
pub fn domain(&self) -> ClosedInterval
Returns the domain of the parametric function.
Sourcepub fn x_range(&self) -> ClosedInterval
pub fn x_range(&self) -> ClosedInterval
Returns the x-range of the plot.
Sourcepub fn y_range(&self) -> ClosedInterval
pub fn y_range(&self) -> ClosedInterval
Returns the y-range of the plot.
Sourcepub fn discontinuities(&self) -> Vec<f32>
pub fn discontinuities(&self) -> Vec<f32>
Returns the discontinuities of the plot.
Sourcepub fn is_discontinuity(&self, number: f32) -> bool
pub fn is_discontinuity(&self, number: f32) -> bool
Checks if a number is a discontinuity of the plot.
Sourcepub fn error(&self, point1: Point2D, point2: Point2D) -> f32
pub fn error(&self, point1: Point2D, point2: Point2D) -> f32
Returns the error of both Point2Ds.
Sourcepub fn hash(&self, min: f32, max: f32) -> f32
pub fn hash(&self, min: f32, max: f32) -> f32
Cheap hash function for the plot. Reference: https://github.com/stevenpetryk/mafs/blob/85c954ee649bebe65963bc8e7ad5708797c394d6/src/display/Plot/PlotUtils.tsx#L26
Sourcepub fn vector_object_builder(&self) -> Result<VectorObjectBuilder, JsError>
pub fn vector_object_builder(&self) -> Result<VectorObjectBuilder, JsError>
Gets a VectorObjectBuilder with the plot’s points.
Source§impl ParametricFunctionPlot
impl ParametricFunctionPlot
pub fn subdivide( &self, path: &mut Path2D, previous_was_discontinuity: &mut bool, min: f32, max: f32, depth: u32, p_min: Point2D, p_max: Point2D, ) -> Option<()>
pub fn on_point( &self, path: &mut Path2D, t: f32, p: &Point2D, previous_was_discontinuity: &mut bool, )
pub fn on_discontinuity(&self, previous_was_discontinuity: &mut bool)
pub fn compose(&mut self, composition: Box<&'static dyn Fn(Point2D) -> Point2D>)
Trait Implementations§
Source§impl Clone for ParametricFunctionPlot
impl Clone for ParametricFunctionPlot
Source§fn clone(&self) -> ParametricFunctionPlot
fn clone(&self) -> ParametricFunctionPlot
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl From<ParametricFunctionPlot> for JsValue
impl From<ParametricFunctionPlot> for JsValue
Source§fn from(value: ParametricFunctionPlot) -> Self
fn from(value: ParametricFunctionPlot) -> Self
Source§impl FromWasmAbi for ParametricFunctionPlot
impl FromWasmAbi for ParametricFunctionPlot
Source§impl IntoWasmAbi for ParametricFunctionPlot
impl IntoWasmAbi for ParametricFunctionPlot
Source§impl RefFromWasmAbi for ParametricFunctionPlot
impl RefFromWasmAbi for ParametricFunctionPlot
Source§type Anchor = RcRef<ParametricFunctionPlot>
type Anchor = RcRef<ParametricFunctionPlot>
Self for the duration of the
invocation of the function that has an &Self parameter. This is
required to ensure that the lifetimes don’t persist beyond one function
call, and so that they remain anonymous.Source§impl VectorFromWasmAbi for ParametricFunctionPlot
impl VectorFromWasmAbi for ParametricFunctionPlot
type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi
unsafe fn vector_from_abi(js: Self::Abi) -> Box<[ParametricFunctionPlot]>
Source§impl VectorIntoWasmAbi for ParametricFunctionPlot
impl VectorIntoWasmAbi for ParametricFunctionPlot
type Abi = <Box<[JsValue]> as IntoWasmAbi>::Abi
fn vector_into_abi(vector: Box<[ParametricFunctionPlot]>) -> Self::Abi
Source§impl WasmDescribeVector for ParametricFunctionPlot
impl WasmDescribeVector for ParametricFunctionPlot
impl SupportsConstructor for ParametricFunctionPlot
impl SupportsInstanceProperty for ParametricFunctionPlot
impl SupportsStaticProperty for ParametricFunctionPlot
Auto Trait Implementations§
impl Freeze for ParametricFunctionPlot
impl !RefUnwindSafe for ParametricFunctionPlot
impl !Send for ParametricFunctionPlot
impl !Sync for ParametricFunctionPlot
impl Unpin for ParametricFunctionPlot
impl !UnwindSafe for ParametricFunctionPlot
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
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
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
IntoWasmAbi::AbiSource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more