/// <summary> /// Adds the line. /// </summary> /// <param name="line">The LRS line.</param> internal void AddLine(LRSLine line) { if (line != null && line.HasPoints && line.IsLine) { _lines.Add(line); } }
/// <summary> /// Compute a parallel line to input line segment /// </summary> /// <param name="offset">Offset Value</param> /// <param name="tolerance">The tolerance.</param> /// <returns>Parallel Line</returns> internal LRSLine ComputeParallelLine(double offset, double tolerance) { CalculateOffsetBearing(); CalculateOffsetAngle(offset < 0); CalculateOffset(offset); var parallelLine = new LRSLine(SRID); // compute parallel point and add additional vertices foreach (var point in _points) { parallelLine.AddPoint(point.GetAndPopulateParallelPoints(offset, tolerance, ref _points)); } return(parallelLine); }