50 : base(new
ScriptNode[] { N, FlameFunctions, DimX, DimY, Seed },
61 : base(new
ScriptNode[] { N, FlameFunctions, DimX, DimY },
70 : base(new
ScriptNode[] { N, FlameFunctions, DimX },
93 "N",
"FlameFunctions",
"DimX",
"DimY",
"Seed"
119 object Obj =
Arguments[i++].AssociatedObjectValue;
121 if (!(Obj is Array FlameArray))
122 throw new ScriptRuntimeException(
"The second parameter to EstimateFlameSize must be an array, containing flame definitions.",
this);
128 foreach (
object FlameItem
in FlameArray)
133 FlameFunctions.Add(CurrentFunction);
135 else if (FlameItem is SKColor || FlameItem is
string)
137 if (CurrentFunction is
null)
139 M =
new DoubleMatrix(
new double[,] { { 1, 0 }, { 0, 1 } });
141 FlameFunctions.Add(CurrentFunction);
145 cl.ToHsl(out
float H, out
float S, out
float L);
147 CurrentFunction.SetColorHsl(H, S, L);
148 CurrentFunction =
null;
152 if (CurrentFunction is
null)
154 M =
new DoubleMatrix(
new double[,] { { 1, 0 }, { 0, 1 } });
156 FlameFunctions.Add(CurrentFunction);
159 CurrentFunction.Add(Var);
163 if (CurrentFunction is
null)
165 M =
new DoubleMatrix(
new double[,] { { 1, 0 }, { 0, 1 } });
167 FlameFunctions.Add(CurrentFunction);
170 CurrentFunction.Add(Lambda);
178 if (CurrentFunction is
null)
180 M =
new DoubleMatrix(
new double[,] { { 1, 0 }, { 0, 1 } });
182 FlameFunctions.Add(CurrentFunction);
185 CurrentFunction.SetWeight(Weight);
218 throw new ScriptRuntimeException(
"Parameter mismatch in call to EstimateFlameSize(N,FlameFunctions[dimx[,dimy[,Seed]]]).",
222 if (dimx <= 0 || dimx > 5000 || dimy <= 0 || dimy > 5000)
232 private static readonly Random gen =
new Random();
A chunked list is a linked list of chunks of objects of type T .
Script runtime exception.
Class managing a script expression.
static double ToDouble(object Object)
Converts an object to a double value.
Exception thrown if an image with invalid size is requested.
Estimates the size of a flame fractal.
EstimateFlameSize(ScriptNode N, ScriptNode FlameFunctions, ScriptNode DimX, int Start, int Length, Expression Expression)
TODO
EstimateFlameSize(ScriptNode N, ScriptNode FlameFunctions, ScriptNode DimX, ScriptNode DimY, ScriptNode Seed, int Start, int Length, Expression Expression)
TODO
override IElement Evaluate(IElement[] Arguments, Variables Variables)
TODO
EstimateFlameSize(ScriptNode N, ScriptNode FlameFunctions, ScriptNode DimX, ScriptNode DimY, int Start, int Length, Expression Expression)
TODO
EstimateFlameSize(ScriptNode N, ScriptNode FlameFunctions, int Start, int Length, Expression Expression)
TODO
override string FunctionName
TODO
override string[] DefaultArgumentNames
TODO
Calculates a flame fractal in RGBA space. Intensity is calculated along the A-axis....
static void EstimateSize(out double xCenter, out double yCenter, out double rDelta, FlameFunction[] Functions, int Width, int Height, int Seed, long N, Variables Variables, ScriptNode Node)
TODO
static SKColor ToColor(object Object)
Converts an object to a color.
Base class for multivariate funcions.
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.
TextWriter ConsoleOut
Console out interface. Can be used by functions and script to output data to the console.
Basic interface for all types of elements.
Base interface for lambda expressions.
ArgumentType
Type of parameter used in a function definition or a lambda definition.