private static void AddPointToPipeline(ICommonLoggingPipeline pipeline, PositionData point, bool firstPoint) { if (firstPoint) { pipeline.BeginFigure(point.Latitude, point.Longitude, point.Z, point.M); } else { pipeline.AddLineTo(point.Latitude, point.Longitude, point.Z, point.M); } }
private static void MergeLoggingPipeline(ICommonLoggingPipeline source, ICommonLoggingPipeline target, bool isGeography, bool keepAllSetCrsCalls = false) { if (isGeography) { ((GeographyLoggingPipeline)source).MergeCalls((GeographyLoggingPipeline)target, keepAllSetCrsCalls); } else { ((GeometryLoggingPipeline)source).MergeCalls((GeometryLoggingPipeline)target, keepAllSetCrsCalls); } }
private static void WritePositionToPipeline(List<object> position, ICommonLoggingPipeline pipeline, bool first) { var x = Convert.ToDouble(position[0]); var y = Convert.ToDouble(position[1]); var z = position.Count > 2 && position[2] != null ? (double?)Convert.ToDouble(position[2]) : null; var m = position.Count == 4 && position[3] != null ? (double?)Convert.ToDouble(position[3]) : null; if (z.HasValue && double.IsNaN(z.Value)) { z = null; } if (m.HasValue && double.IsNaN(m.Value)) { m = null; } if (first) { pipeline.BeginFigure(x, y, z, m); } else { pipeline.AddLineTo(x, y, z, m); } }
private static void WritePositionArrayToPipeline(List<object> lineString, ICommonLoggingPipeline expectedPipeline) { var first = true; foreach (List<object> position in lineString) { WritePositionToPipeline(position, expectedPipeline, first); if (first) { first = false; } } expectedPipeline.EndFigure(); }
private static void WritePointToPipeline(List<object> position, ICommonLoggingPipeline pipeline) { WritePositionToPipeline(position, pipeline, true); pipeline.EndFigure(); }
private static void WriteArrayOfPositionArrayToPipeline(List<object> polygon, ICommonLoggingPipeline expectedPipeline) { foreach (List<object> positionArray in polygon) { WritePositionArrayToPipeline(positionArray, expectedPipeline); } }