12 private readonly
double rotation;
13 private readonly
double twist;
30 this.rotation = Rotation;
41 return new string[] {
"rotation",
"twist" };
53 return new Disc2Variation(Rotation, Twist, this.Arguments[0], this.Arguments[1],
60 public override void Operate(ref
double x, ref
double y)
62 double d2rtp = this.rotation * Math.PI;
63 double s0 = Math.Sin(this.twist);
64 double c0 = Math.Cos(this.twist);
68 double k = 1 + this.twist - pi2;
73 if (this.twist < -pi2)
75 double k = 1 + this.twist + pi2;
81 double t = d2rtp * (x + y);
82 double sinr = Math.Sin(t);
83 double cosr = Math.Cos(t);
84 double r = Math.Atan2(x, y) / Math.PI;
89 private const double pi2 = 2 * Math.PI;
Class managing a script expression.
static double ToDouble(object Object)
Converts an object to a double value.
override void Operate(ref double x, ref double y)
TODO
override string[] DefaultArgumentNames
TODO
override string FunctionName
TODO
override IElement Evaluate(IElement[] Arguments, Variables Variables)
TODO
Disc2Variation(ScriptNode rotation, ScriptNode twist, int Start, int Length, Expression Expression)
TODO
object AssociatedObjectValue
TODO
ScriptNode[] Arguments
Function arguments.
Base class for all nodes in a parsed script tree.
int Length
Length of expression covered by node.
Expression Expression
Expression of which the node is a part.
int Start
Start position in script expression.
Basic interface for all types of elements.
ArgumentType
Type of parameter used in a function definition or a lambda definition.