Enum geo_aid::script::Expression
source · pub enum Expression {
Show 14 variants
PointPointDistance(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>),
PointLineDistance(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>),
AnglePoint(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>, Arc<Weighed<Expression>>),
AngleLine(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>),
Literal(f64, ComplexUnit),
FreePoint(usize),
Line(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>),
LineCrossing(Box<Weighed<Expression>>, Box<Weighed<Expression>>),
SetUnit(Arc<Weighed<Expression>>, ComplexUnit),
Sum(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>),
Difference(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>),
Product(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>),
Quotient(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>),
Negation(Arc<Weighed<Expression>>),
}Expand description
Defines an expression.
Variants§
PointPointDistance(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>)
Euclidean distance between two points.
PointLineDistance(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>)
Euclidean distance between a point and its rectangular projection onto a line.
AnglePoint(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>, Arc<Weighed<Expression>>)
An angle defined with 3 points.
AngleLine(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>)
An angle defined with 2 lines.
Literal(f64, ComplexUnit)
A real literal.
FreePoint(usize)
An adjustable indexed point in euclidean space
Line(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>)
A line in euclidean space. defined by two points.
LineCrossing(Box<Weighed<Expression>>, Box<Weighed<Expression>>)
The point where two lines cross.
SetUnit(Arc<Weighed<Expression>>, ComplexUnit)
Changes the unit
Sum(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>)
Adds two values
Difference(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>)
Subtracts two values
Product(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>)
Multiplies two values
Quotient(Arc<Weighed<Expression>>, Arc<Weighed<Expression>>)
Divides two values
Negation(Arc<Weighed<Expression>>)
Changes the sign