public void CheckSplit() { var _NumberOfSplits = 0L; var _Bintree = new Bintree <Double>(0, 10, MaxNumberOfEmbeddedElements: 4); _Bintree.OnTreeSplit += (Bintree, Pixel) => { Interlocked.Increment(ref _NumberOfSplits); }; _Bintree.Add(1); Assert.AreEqual(1UL, _Bintree.EmbeddedCount); Assert.AreEqual(1UL, _Bintree.Count); _Bintree.Add(2); Assert.AreEqual(2, _Bintree.EmbeddedCount); Assert.AreEqual(2, _Bintree.Count); _Bintree.Add(8); Assert.AreEqual(3, _Bintree.EmbeddedCount); Assert.AreEqual(3, _Bintree.Count); _Bintree.Add(9); Assert.AreEqual(4, _Bintree.EmbeddedCount); Assert.AreEqual(4, _Bintree.Count); // Add the fifth pixel -> Should cause a split! _Bintree.Add(5); Assert.AreEqual(1L, _NumberOfSplits); Assert.AreEqual(0, _Bintree.EmbeddedCount); // Assert.AreEqual(5, _Bintree.Count); }
public void CheckRecursiveSplits() { var _NumberOfSplits = 0L; var _Bintree = new Bintree <Double>(0, 100, MaxNumberOfEmbeddedElements: 4); _Bintree.OnTreeSplit += (Bintree, Pixel) => { Interlocked.Increment(ref _NumberOfSplits); }; _Bintree.Add(1); _Bintree.Add(2); _Bintree.Add(3); _Bintree.Add(4); _Bintree.Add(5); _Bintree.Add(6); _Bintree.Add(50); _Bintree.Add(51); _Bintree.Add(52); _Bintree.Add(53); _Bintree.Add(54); _Bintree.Add(55); _Bintree.Add(56); _Bintree.Add(57); _Bintree.Add(58); _Bintree.Add(59); _Bintree.Add(60); Assert.AreEqual(9L, _NumberOfSplits); }
public void CheckRecursiveSplits() { var _NumberOfSplits = 0L; var _Bintree = new Bintree<Double>(0, 100, MaxNumberOfEmbeddedElements: 4); _Bintree.OnTreeSplit += (Bintree, Pixel) => { Interlocked.Increment(ref _NumberOfSplits); }; _Bintree.Add(1); _Bintree.Add(2); _Bintree.Add(3); _Bintree.Add(4); _Bintree.Add(5); _Bintree.Add(6); _Bintree.Add(50); _Bintree.Add(51); _Bintree.Add(52); _Bintree.Add(53); _Bintree.Add(54); _Bintree.Add(55); _Bintree.Add(56); _Bintree.Add(57); _Bintree.Add(58); _Bintree.Add(59); _Bintree.Add(60); Assert.AreEqual(9L, _NumberOfSplits); }
public void CheckBounds() { var _Bintree = new Bintree <Double>(1, 3); Assert.AreEqual(1, _Bintree.Left); Assert.AreEqual(3, _Bintree.Right); Assert.AreEqual(2, _Bintree.Length); Assert.AreEqual(0, _Bintree.EmbeddedCount); Assert.AreEqual(0, _Bintree.Count); }
public void CheckBounds() { var _Bintree = new Bintree<Double>(1, 3); Assert.AreEqual(1, _Bintree.Left); Assert.AreEqual(3, _Bintree.Right); Assert.AreEqual(2, _Bintree.Length); Assert.AreEqual(0, _Bintree.EmbeddedCount); Assert.AreEqual(0, _Bintree.Count); }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
public void CheckSplit() { var _NumberOfSplits = 0L; var _Bintree = new Bintree<Double>(0, 10, MaxNumberOfEmbeddedElements: 4); _Bintree.OnTreeSplit += (Bintree, Pixel) => { Interlocked.Increment(ref _NumberOfSplits); }; _Bintree.Add(1); Assert.AreEqual(1UL, _Bintree.EmbeddedCount); Assert.AreEqual(1UL, _Bintree.Count); _Bintree.Add(2); Assert.AreEqual(2, _Bintree.EmbeddedCount); Assert.AreEqual(2, _Bintree.Count); _Bintree.Add(8); Assert.AreEqual(3, _Bintree.EmbeddedCount); Assert.AreEqual(3, _Bintree.Count); _Bintree.Add(9); Assert.AreEqual(4, _Bintree.EmbeddedCount); Assert.AreEqual(4, _Bintree.Count); // Add the fifth pixel -> Should cause a split! _Bintree.Add(5); Assert.AreEqual(1L, _NumberOfSplits); Assert.AreEqual(0, _Bintree.EmbeddedCount); // Assert.AreEqual(5, _Bintree.Count); }
public void VerifyOutOfBoundsException() { var _Bintree = new Bintree<Double>(1, 3); _Bintree.Add(10); }
public void VerifyOutOfBoundsException() { var _Bintree = new Bintree <Double>(1, 3); _Bintree.Add(10); }