2using System.Collections.Generic;
14 private Dictionary<string, double> xLabelPositions =
null;
15 private Dictionary<string, double> yLabelPositions =
null;
16 private Dictionary<string, double> zLabelPositions =
null;
23 private readonly
int offsetX;
24 private readonly
int offsetY;
25 private readonly
int offsetZ;
26 private readonly
int width;
27 private readonly
int height;
28 private readonly
int depth;
29 private readonly
float? origoX;
30 private readonly
float? origoY;
31 private readonly
float? origoZ;
158 get => this.xLabelPositions;
159 set => this.xLabelPositions = value;
167 get => this.yLabelPositions;
168 set => this.yLabelPositions = value;
176 get => this.zLabelPositions;
177 set => this.zLabelPositions = value;
188 return Graph3D.
Scale(MatrixX, MatrixY, MatrixZ, this.minX, this.maxX,
189 this.minY, this.maxY, this.minZ, this.maxZ,
190 this.offsetX, this.offsetY, this.offsetZ,
191 this.width, this.height, this.depth,
192 this.xLabelPositions, this.yLabelPositions, this.zLabelPositions);
201 return Graph3D.
Scale(Matrix, this.minX, this.maxX, this.offsetX, this.width, this.xLabelPositions);
210 return Graph2D.
Scale(Vector, this.minX, this.maxX, this.offsetX, this.width, this.xLabelPositions);
219 return Graph3D.
Scale(Matrix, this.minY, this.maxY, this.offsetY, this.height, this.yLabelPositions);
228 return Graph2D.
Scale(Vector, this.minY, this.maxY, this.offsetY, this.height, this.yLabelPositions);
237 return Graph3D.
Scale(Matrix, this.maxZ, this.minZ, this.offsetZ, this.depth, this.zLabelPositions);
246 return Graph2D.
Scale(Vector, this.maxZ, this.minZ, this.offsetZ, this.depth, this.zLabelPositions);
255 return Graph.
Descale(Value, this.minX, this.maxX, this.offsetX, this.width);
264 return Graph.
Descale(Value, this.minY, this.maxY, this.offsetY, this.height);
273 return Graph.
Descale(Value, this.maxZ, this.minZ, this.offsetZ, this.depth);
Contains information about the current drawing area.
int OffsetY
Y-offset of drawing area, relative to the canvas origin.
IElement DescaleZ(double Value)
Descales a scaled value along the Z-axis.
IElement MinZ
Smallest value of Z.
double[,] ScaleX(IMatrix Matrix)
Scales a matrix with x-coordinates to fit a given volume.
Dictionary< string, double > XLabelPositions
Optional fixed X-Label positions.
DrawingVolume(IElement MinX, IElement MaxX, IElement MinY, IElement MaxY, IElement MinZ, IElement MaxZ, int OffsetX, int OffsetY, int OffsetZ, int Width, int Height, int Depth, float? OrigoX, float? OrigoY, float? OrigoZ)
Contains information about the current drawing area.
double[,] ScaleY(IMatrix Matrix)
Scales a matrix with y-coordinates to fit a given volume.
float? OrigoX
X-coordinate for the origo.
IElement MaxY
Largest value of Y.
IElement MaxZ
Largest value of Z.
IElement MinY
Smallest value of Y.
double[] ScaleZ(IVector Vector)
Scales a vector of z-coordinates to fit a given volume.
double[] ScaleY(IVector Vector)
Scales a vector of y-coordinates to fit a given volume.
float? OrigoY
Y-coordinate for the origo.
int Depth
Depth of drawing area.
Vector4[,] Scale(IMatrix MatrixX, IMatrix MatrixY, IMatrix MatrixZ)
Scales three matrices of equal size to point vectors in space.
IElement DescaleX(double Value)
Descales a scaled value along the X-axis.
Dictionary< string, double > YLabelPositions
Optional fixed Y-Label positions.
int OffsetZ
Z-offset of drawing area, relative to the canvas origin.
IElement DescaleY(double Value)
Descales a scaled value along the Y-axis.
int Width
Width of drawing area.
Dictionary< string, double > ZLabelPositions
Optional fixed Z-Label positions.
double[] ScaleX(IVector Vector)
Scales a vector of x-coordinates to fit a given volume.
IElement MaxX
Largest value of X.
float? OrigoZ
Z-coordinate for the origo.
IElement MinX
Smallest value of X.
double[,] ScaleZ(IMatrix Matrix)
Scales a matrix with z-coordinates to fit a given volume.
int OffsetX
X-offset of drawing area, relative to the canvas origin.
int Height
Height of drawing area.
Handles three-dimensional graphs.
static Vector4[,] Scale(IMatrix MatrixX, IMatrix MatrixY, IMatrix MatrixZ, IElement MinX, IElement MaxX, IElement MinY, IElement MaxY, IElement MinZ, IElement MaxZ, double OffsetX, double OffsetY, double OffsetZ, double Width, double Height, double Depth, Dictionary< string, double > XLabelPositions, Dictionary< string, double > YLabelPositions, Dictionary< string, double > ZLabelPositions)
Scales three matrices of equal size to point vectors in space.
Handles two-dimensional graphs.
static IElement Descale(double Value, IElement Min, IElement Max, double Offset, double Size)
Descales a scaled value.
static SKPoint[] Scale(IVector VectorX, IVector VectorY, IElement MinX, IElement MaxX, IElement MinY, IElement MaxY, double OffsetX, double OffsetY, double Width, double Height, Dictionary< string, double > XLabelPositions, Dictionary< string, double > YLabelPositions)
Scales two vectors of equal size to points in a rectangular area.
Basic interface for all types of elements.
Basic interface for matrices.
Basic interface for vectors.