2 using System.Collections.Generic;
5 using System.Threading.Tasks;
31 return new PointRef((
"{{ {0}, {1}, {2} }}".MsEvalWith(x,y,z)));
36 return p1.ML[
"{0} - {1}"].Format(p1.Expr, p2.Expr).Eval();
41 return "ref:" + Expr.ToString();
46 private static readonly
Expr _origin = MSingle.Eval(
@"{ 0, 0, 0}");
48 private static readonly
Expr _p100 = MSingle.Eval(
@"{ 1, 0, 0}");
50 private static readonly
Expr _p010 = MSingle.Eval(
@"{ 0, 1, 0}");
58 get {
return _origin; }
66 get {
return _originRef; }
82 get {
return _ref100; }
98 get {
return _ref010; }
103 get {
return ML[
"List[ {{ PointSize[Large], Orange, Point[{0}] }} ]"].Format(
Expr).Eval(); }
111 if ((
bool)
ML[
"{0} == 0"].Format(
Expr.Part(3)).EvalObject())
113 return ML[
"{0}[[1;;2]]"].Format(
Expr).Eval();
117 throw new InvalidOperationException();
132 Expr =
ML[
"{0}[{1}]"].Format(tf,
Expr).Eval();
static PointRef PointFromInts(int x, int y, int z)
PointRef(Expr point)
Constructs a PointRef
static PointRef Constructor(Expr e)
Expr Expr
Mathematica expression that represents a point in space
static Expr P010
For testing use
Holds a reference to a point in the form of a Mathematica expression
static PointRef Ref010
For testing use
static PointRef OriginRef
For testing use
static Expr operator-(PointRef p1, PointRef p2)
static PointRef Ref100
For testing use
static Expr Origin
For testing use
override string ToString()
static Expr P100
For testing use