Exemplo n.º 1
0
 /// <summary>
 /// Remove the segs in the section of the line.
 /// </summary>
 /// <param name="line"></param>
 /// <param name="start"></param>
 /// <param name="end"></param>
 private void Remove(TaggedLineString line, int start, int end)
 {
     for (int i = start; i < end; i++)
     {
         TaggedLineSegment seg = line.GetSegment(i);
         _inputIndex.Remove(seg);
     }
 }
Exemplo n.º 2
0
 /*
  * /// <summary>
  * ///
  * /// </summary>
  * public LineSegmentIndex() { }
  */
 /// <summary>
 ///
 /// </summary>
 /// <param name="line"></param>
 public void Add(TaggedLineString line)
 {
     TaggedLineSegment[] segs = line.Segments;
     for (int i = 0; i < segs.Length; i++)
     {
         TaggedLineSegment seg = segs[i];
         Add(seg);
     }
 }
Exemplo n.º 3
0
 /// <summary>
 ///
 /// </summary>
 private void Init()
 {
     Coordinate[] pts = _parentLine.Coordinates;
     _segs = new TaggedLineSegment[pts.Length - 1];
     for (int i = 0; i < pts.Length - 1; i++)
     {
         TaggedLineSegment seg = new TaggedLineSegment(pts[i], pts[i + 1], _parentLine, i);
         _segs[i] = seg;
     }
 }
Exemplo n.º 4
0
        /// <summary>
        /// Tests whether a segment is in a section of a <see cref="TaggedLineString"/>.
        /// </summary>
        /// <param name="line"></param>
        /// <param name="sectionIndex"></param>
        /// <param name="seg"></param>
        /// <returns></returns>
        private static bool IsInLineSection(TaggedLineString line,
                                            int[] sectionIndex, TaggedLineSegment seg)
        {
            // not in this line
            if (seg.Parent != line.Parent)
            {
                return(false);
            }
            int segIndex = seg.Index;

            if (segIndex >= sectionIndex[0] &&
                segIndex < sectionIndex[1])
            {
                return(true);
            }
            return(false);
        }