/// <summary> /// Fills a PointF array of data points absolute pixel positions. /// </summary> /// <param name="graph">Graphics object.</param> /// <param name="series">Point series.</param> /// <param name="indexedSeries">Indicate that point index should be used as X value.</param> /// <returns>Array of data points position.</returns> override protected PointF[] GetPointsPosition(ChartGraphics graph, Series series, bool indexedSeries) { PointF[] pointPos = new PointF[series.Points.Count]; int index = 0; foreach (DataPoint point in series.Points) { // Change Y value if line is out of plot area double yValue = GetYValue(Common, Area, series, point, index, this.YValueIndex); // Recalculates y position double yPosition = VAxis.GetPosition(yValue); // Recalculates x position double xPosition = HAxis.GetPosition(point.XValue); if (indexedSeries) { xPosition = HAxis.GetPosition(index + 1); } // Add point position into array pointPos[index] = new PointF( (float)(xPosition * (graph.Common.ChartPicture.Width - 1) / 100F), (float)(yPosition * (graph.Common.ChartPicture.Height - 1) / 100F)); index++; } return(pointPos); }
public static Vector3D ToVector3D(HAxis axis) { switch (axis) { case HAxis.AXIS_X_N: return -Vector3D.XAxis; case HAxis.AXIS_X_P: return Vector3D.XAxis; case HAxis.AXIS_Y_N: return -Vector3D.YAxis; case HAxis.AXIS_Y_P: return Vector3D.YAxis; case HAxis.AXIS_Z_N: return -Vector3D.ZAxis; default: return Vector3D.ZAxis; } }
public static string ToString(HAxis axis) { switch (axis) { case HAxis.AXIS_X_N: return "XN"; case HAxis.AXIS_X_P: return "XP"; case HAxis.AXIS_Y_N: return "YN"; case HAxis.AXIS_Y_P: return "YP"; case HAxis.AXIS_Z_N: return "ZN"; case HAxis.AXIS_Z_P: return "ZP"; default: return "ZP"; } }
public static HAxis Opposite(HAxis axis) { switch (axis) { case HAxis.AXIS_X_N: return HAxis.AXIS_X_P; case HAxis.AXIS_X_P: return HAxis.AXIS_X_N; case HAxis.AXIS_Y_N: return HAxis.AXIS_Y_P; case HAxis.AXIS_Y_P: return HAxis.AXIS_Y_N; case HAxis.AXIS_Z_N: return HAxis.AXIS_Z_P; case HAxis.AXIS_Z_P: return HAxis.AXIS_Z_N; default: return HAxis.AXIS_Z_P; } }
public static Vector3D ToVector3D(HAxis axis) { switch (axis) { case HAxis.AXIS_X_N: return(-Vector3D.XAxis); case HAxis.AXIS_X_P: return(Vector3D.XAxis); case HAxis.AXIS_Y_N: return(-Vector3D.YAxis); case HAxis.AXIS_Y_P: return(Vector3D.YAxis); case HAxis.AXIS_Z_N: return(-Vector3D.ZAxis); default: return(Vector3D.ZAxis); } }
public static string ToString(HAxis axis) { switch (axis) { case HAxis.AXIS_X_N: return("XN"); case HAxis.AXIS_X_P: return("XP"); case HAxis.AXIS_Y_N: return("YN"); case HAxis.AXIS_Y_P: return("YP"); case HAxis.AXIS_Z_N: return("ZN"); case HAxis.AXIS_Z_P: return("ZP"); default: return("ZP"); } }
public static HAxis Opposite(HAxis axis) { switch (axis) { case HAxis.AXIS_X_N: return(HAxis.AXIS_X_P); case HAxis.AXIS_X_P: return(HAxis.AXIS_X_N); case HAxis.AXIS_Y_N: return(HAxis.AXIS_Y_P); case HAxis.AXIS_Y_P: return(HAxis.AXIS_Y_N); case HAxis.AXIS_Z_N: return(HAxis.AXIS_Z_P); case HAxis.AXIS_Z_P: return(HAxis.AXIS_Z_N); default: return(HAxis.AXIS_Z_P); } }
public static string ToAbbrev(HAxis axis) { switch (axis) { case HAxis.AXIS_X_N: return("X-"); case HAxis.AXIS_X_P: return("X+"); case HAxis.AXIS_Y_N: return("Y-"); case HAxis.AXIS_Y_P: return("Y+"); case HAxis.AXIS_Z_N: return("Z-"); case HAxis.AXIS_Z_P: return("Z+"); default: return("Z+"); } }
public static int Direction(HAxis axis) { switch (axis) { case HAxis.AXIS_X_N: case HAxis.AXIS_X_P: return(0); case HAxis.AXIS_Y_N: case HAxis.AXIS_Y_P: return(1); case HAxis.AXIS_Z_N: case HAxis.AXIS_Z_P: return(2); default: return(-1); } }
public static HAxis ReflectionY(HAxis axis) { Vector3D v = HalfAxis.ToVector3D(axis); return HalfAxis.ToHalfAxis(new Vector3D(-v.X, v.Y, v.Z)); }
public static HAxis Transform(HAxis axis, Transform3D transform) { return HalfAxis.ToHalfAxis(transform.transformRot(HalfAxis.ToVector3D(axis))); }
public static HAxis Transform(HAxis axis, Transform3D transform) { return(HalfAxis.ToHalfAxis(transform.transformRot(HalfAxis.ToVector3D(axis)))); }
public static HAxis CrossProduct(HAxis axis0, HAxis axis1) { return(ToHalfAxis(Vector3D.CrossProduct(ToVector3D(axis0), ToVector3D(axis1)))); }
public static HAxis ReflectionY(HAxis axis) { Vector3D v = ToVector3D(axis); return(ToHalfAxis(new Vector3D(-v.X, v.Y, v.Z))); }
public static HAxis ReflectionX(HAxis axis) { Vector3D v = HalfAxis.ToVector3D(axis); return(HalfAxis.ToHalfAxis(new Vector3D(v.X, -v.Y, v.Z))); }