Ejemplo n.º 1
0
        private void Add(ILineString lineString)
        {
            if (_factory == null)
            {
                _factory = lineString.Factory;
            }
            ICoordinateSequence seq = lineString.CoordinateSequence;

            for (int i = 1; i < seq.Count; i++)
            {
                Coordinate       prev = seq.GetCoordinate(i - 1);
                Coordinate       curr = seq.GetCoordinate(i);
                DissolveHalfEdge e    = (DissolveHalfEdge)_graph.AddEdge(prev, curr);
                // Record source initial segments, so that they can be reflected in output when needed
                // (i.e. during formation of isolated rings)
                if (i == 1)
                {
                    e.SetStart();
                }
            }
        }