private void AddToIndex(ISegmentString segStr)
        {
            var segChains = MonotoneChainBuilder.GetChains(segStr.Coordinates, segStr);

            foreach (var mc in segChains)
            {
                _index.Insert(mc.Envelope, mc);
            }
        }
        private static void AddToMonoChains(ISegmentString segStr, List <MonotoneChain> monotoneChains)
        {
            var segChains = MonotoneChainBuilder.GetChains(segStr.Coordinates, segStr);

            foreach (var mc in segChains)
            {
                monotoneChains.Add(mc);
            }
        }
        private void AddToMonoChains(ISegmentString segStr, List <MonotoneChain> monotoneChains)
        {
            IList <MonotoneChain> segChains = MonotoneChainBuilder.GetChains(segStr.Coordinates, segStr);

            foreach (MonotoneChain mc in segChains)
            {
                mc.Id = _processCounter++;
                monotoneChains.Add(mc);
            }
        }
        private void AddToIndex(ISegmentString segStr)
        {
            IList <MonotoneChain> segChains = MonotoneChainBuilder.GetChains(segStr.Coordinates, segStr);

            foreach (MonotoneChain mc in segChains)
            {
                mc.Id = _indexCounter++;
                _index.Insert(mc.Envelope, mc);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="segStr"></param>
        private void Add(ISegmentString segStr)
        {
            var segChains = MonotoneChainBuilder.GetChains(segStr.Coordinates, segStr);

            foreach (var mc in segChains)
            {
                mc.Id = _idCounter++;
                _index.Insert(mc.Envelope, mc);
                _monoChains.Add(mc);
            }
        }
Exemplo n.º 6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="segStr"></param>
        private void Add(SegmentString segStr)
        {
            IList segChains = MonotoneChainBuilder.GetChains(segStr.Coordinates, segStr);

            foreach (object obj in segChains)
            {
                MonotoneChain mc = (MonotoneChain)obj;
                mc.Id = idCounter++;
                index.Insert(mc.Envelope, mc);
                monoChains.Add(mc);
            }
        }
Exemplo n.º 7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="segStr"></param>
        private void Add(ISegmentString segStr)
        {
            var segChains = MonotoneChainBuilder.GetChains(segStr.Coordinates, segStr);

            foreach (var mc in segChains)
            {
                mc.Id = _idCounter++;
                //mc.OverlapTolerance = _overlapTolerance;
                _index.Insert(mc.GetEnvelope(_overlapTolerance), mc);
                _monoChains.Add(mc);
            }
        }
Exemplo n.º 8
0
        private void Add(SegmentString segStr)
        {
            IList segChains = MonotoneChainBuilder.GetChains(
                segStr.Coordinates, segStr);

            for (IEnumerator i = segChains.GetEnumerator(); i.MoveNext();)
            {
                MonotoneChain mc = (MonotoneChain)i.Current;
                mc.Id = idCounter++;
                index.Insert(mc.Envelope, mc);
                monoChains.Add(mc);
            }
        }
Exemplo n.º 9
0
        /// <summary>
        ///
        /// </summary>
        private void BuildIndex()
        {
            tree = new Bintree();

            ICoordinate[] pts    = CoordinateArrays.RemoveRepeatedPoints(ring.Coordinates);
            IList         mcList = MonotoneChainBuilder.GetChains(pts);

            for (int i = 0; i < mcList.Count; i++)
            {
                MonotoneChain mc    = (MonotoneChain)mcList[i];
                IEnvelope     mcEnv = mc.Envelope;
                interval.Min = mcEnv.MinY;
                interval.Max = mcEnv.MaxY;
                tree.Insert(interval, mc);
            }
        }
Exemplo n.º 10
0
        /// <summary>
        ///
        /// </summary>
        private void BuildIndex()
        {
            _tree = new Bintree();

            IList <Coordinate> pts = CoordinateArrays.RemoveRepeatedPoints(_ring.Coordinates);
            IList mcList           = MonotoneChainBuilder.GetChains(pts);

            for (int i = 0; i < mcList.Count; i++)
            {
                MonotoneChain mc    = (MonotoneChain)mcList[i];
                Envelope      mcEnv = mc.Envelope;
                _interval.Min = mcEnv.Minimum.Y;
                _interval.Max = mcEnv.Maximum.Y;
                _tree.Insert(_interval, mc);
            }
        }
Exemplo n.º 11
0
        /// <summary>
        ///
        /// </summary>
        private void BuildIndex()
        {
            Envelope env = _ring.GetEnvelopeInternal();

            _tree = new BinTree();

            Coordinates pts    = Coordinates.RemoveRepeatedPoints(_ring.GetCoordinates());
            ArrayList   mcList = MonotoneChainBuilder.GetChains(pts);

            for (int i = 0; i < mcList.Count; i++)
            {
                MonotoneChain mc    = (MonotoneChain)mcList[i];
                Envelope      mcEnv = mc.GetEnvelope();
                _interval.Min = mcEnv.MinY;
                _interval.Max = mcEnv.MaxY;
                _tree.Insert(_interval, mc);
            }
        }
        /// <summary>
        ///
        /// </summary>
        private void BuildIndex()
        {
            _tree = new Bintree <MonotoneChain>();

            Coordinate[]          pts    = CoordinateArrays.RemoveRepeatedPoints(_ring.Coordinates);
            IList <MonotoneChain> mcList = MonotoneChainBuilder.GetChains(pts);

            foreach (MonotoneChain mc in mcList)
            {
                var mcEnv = mc.Envelope;
                _interval.Min = mcEnv.MinY;
                _interval.Max = mcEnv.MaxY;

                /*
                 * _interval = _interval.ExpandedByInterval(
                 *  Interval.Create(mcEnv.MinY, mcEnv.MaxY));
                 */
                _tree.Insert(_interval, mc);
            }
        }