internal static com.esri.core.geometry.QuadTree BuildQuadTree_(com.esri.core.geometry.MultiPointImpl multipointImpl) { com.esri.core.geometry.Envelope2D extent = new com.esri.core.geometry.Envelope2D(); multipointImpl.QueryEnvelope2D(extent); com.esri.core.geometry.QuadTree quadTree = new com.esri.core.geometry.QuadTree(extent, 8); com.esri.core.geometry.Envelope2D boundingbox = new com.esri.core.geometry.Envelope2D(); com.esri.core.geometry.Point2D pt; for (int i = 0; i < multipointImpl.GetPointCount(); i++) { pt = multipointImpl.GetXY(i); boundingbox.SetCoords(pt.x, pt.y, pt.x, pt.y); quadTree.Insert(i, boundingbox, -1); } return quadTree; }
internal static com.esri.core.geometry.QuadTree BuildQuadTree_(com.esri.core.geometry.MultiPathImpl multipathImpl) { com.esri.core.geometry.Envelope2D extent = new com.esri.core.geometry.Envelope2D(); multipathImpl.QueryEnvelope2D(extent); com.esri.core.geometry.QuadTree quadTree = new com.esri.core.geometry.QuadTree(extent, 8); int hint_index = -1; com.esri.core.geometry.Envelope2D boundingbox = new com.esri.core.geometry.Envelope2D(); com.esri.core.geometry.SegmentIteratorImpl seg_iter = multipathImpl.QuerySegmentIterator(); while (seg_iter.NextPath()) { while (seg_iter.HasNextSegment()) { com.esri.core.geometry.Segment segment = seg_iter.NextSegment(); int index = seg_iter.GetStartPointIndex(); segment.QueryEnvelope2D(boundingbox); hint_index = quadTree.Insert(index, boundingbox, hint_index); } } return quadTree; }