pub trait Evaluate {
    type Output;

    // Required method
    fn evaluate(&self, args: &EvaluationArgs<'_>) -> Self::Output;
}
Expand description

Marks everything that can be evaluated.

Required Associated Types§

Required Methods§

source

fn evaluate(&self, args: &EvaluationArgs<'_>) -> Self::Output

Evaluates the thing.

Errors

Any errors related to evaluation.

Implementors§

source§

impl Evaluate for AnyExpr

source§

impl Evaluate for CircleExpr

source§

impl Evaluate for LineExpr

§

type Output = Line

source§

impl Evaluate for PointExpr

source§

impl Evaluate for ScalarExpr

§

type Output = f64

source§

impl Evaluate for AngleBisector

§

type Output = Line

source§

impl Evaluate for AngleLine

§

type Output = f64

source§

impl Evaluate for AnglePoint

§

type Output = f64

source§

impl Evaluate for AnglePointDir

§

type Output = f64

source§

impl Evaluate for CenterRadius

source§

impl Evaluate for CircleCenter

source§

impl Evaluate for CircleRadius

§

type Output = f64

source§

impl Evaluate for Difference

§

type Output = f64

source§

impl Evaluate for FreePoint

source§

impl Evaluate for LineLineIntersection

source§

impl Evaluate for LinePoint

§

type Output = Line

source§

impl Evaluate for Literal

§

type Output = f64

source§

impl Evaluate for Negation

§

type Output = f64

source§

impl Evaluate for ParallelThrough

§

type Output = Line

source§

impl Evaluate for PerpendicularThrough

§

type Output = Line

source§

impl Evaluate for PointLineDistance

§

type Output = f64

source§

impl Evaluate for PointOnCircle

source§

impl Evaluate for PointOnLine

source§

impl Evaluate for PointPointDistance

§

type Output = f64

source§

impl Evaluate for PointX

§

type Output = f64

source§

impl Evaluate for PointY

§

type Output = f64

source§

impl Evaluate for Product

§

type Output = f64

source§

impl Evaluate for Quotient

§

type Output = f64

source§

impl Evaluate for Real

§

type Output = f64

source§

impl Evaluate for SetUnit

§

type Output = f64

source§

impl Evaluate for Sum

§

type Output = f64

source§

impl<T: Evaluate + Kind> Evaluate for Average<T>where T::Output: From<Value> + Into<Value> + Clone + Zero + AddAssign<T::Output> + Div<f64, Output = T::Output>,

§

type Output = <T as Evaluate>::Output