Пример #1
0
        public void ContainsValues()
        {
            var bounds = new CubeBounds(new Vector(0, 0, 0), 2);
            var octree = new Octree <string>(bounds);

            octree.AddValue(Vector.Zero, "fee");
            octree.AddValue(Vector.One, "fi");

            Assert.IsNotNull(octree.Contains("fee"));
            Assert.IsNotNull(octree.Contains("fi"));
        }
Пример #2
0
        public void NewOctree()
        {
            var bounds = new CubeBounds(new Vector(0, 0, 0), 2);
            var octree = new Octree <string>(bounds);

            Assert.AreEqual <Vector>(new Vector(0, 0, 0), octree.Bounds.Origin);
            Assert.AreEqual <float>(2, octree.Bounds.Size);
            Assert.IsTrue(octree.Contains(Vector.Zero));
        }
Пример #3
0
        public void NotContainsPoints()
        {
            var bounds = new CubeBounds(new Vector(0, 0, 0), 2);
            var octree = new Octree <string>(bounds);

            Assert.IsFalse(octree.Contains(new Vector(0, 0, 2)));
            Assert.IsFalse(octree.Contains(new Vector(0, 0, -2)));
            Assert.IsFalse(octree.Contains(new Vector(0, 2, 0)));
            Assert.IsFalse(octree.Contains(new Vector(0, 2, 2)));
            Assert.IsFalse(octree.Contains(new Vector(0, 2, -2)));
            Assert.IsFalse(octree.Contains(new Vector(0, -2, 0)));
            Assert.IsFalse(octree.Contains(new Vector(0, -2, 2)));
            Assert.IsFalse(octree.Contains(new Vector(0, -2, -2)));
            Assert.IsFalse(octree.Contains(new Vector(2, 0, 0)));
            Assert.IsFalse(octree.Contains(new Vector(2, 0, 2)));
            Assert.IsFalse(octree.Contains(new Vector(2, 0, -2)));
            Assert.IsFalse(octree.Contains(new Vector(2, 2, 0)));
            Assert.IsFalse(octree.Contains(new Vector(2, 2, 2)));
            Assert.IsFalse(octree.Contains(new Vector(2, 2, -2)));
            Assert.IsFalse(octree.Contains(new Vector(2, -2, 0)));
            Assert.IsFalse(octree.Contains(new Vector(2, -2, 2)));
            Assert.IsFalse(octree.Contains(new Vector(2, -2, -2)));
            Assert.IsFalse(octree.Contains(new Vector(-2, 0, 0)));
            Assert.IsFalse(octree.Contains(new Vector(-2, 0, 2)));
            Assert.IsFalse(octree.Contains(new Vector(-2, 0, -2)));
            Assert.IsFalse(octree.Contains(new Vector(-2, 2, 0)));
            Assert.IsFalse(octree.Contains(new Vector(-2, 2, 2)));
            Assert.IsFalse(octree.Contains(new Vector(-2, 2, -2)));
            Assert.IsFalse(octree.Contains(new Vector(-2, -2, 0)));
            Assert.IsFalse(octree.Contains(new Vector(-2, -2, 2)));
            Assert.IsFalse(octree.Contains(new Vector(-2, -2, -2)));
        }
Пример #4
0
        public void ContainsPoints()
        {
            var bounds = new CubeBounds(new Vector(0, 0, 0), 2);
            var octree = new Octree <string>(bounds);

            // positive sides have inclusive borders
            Assert.IsTrue(octree.Contains(new Vector(0, 0, 0)));
            Assert.IsTrue(octree.Contains(new Vector(0, 0, 1)));
            Assert.IsTrue(octree.Contains(new Vector(0, 1, 0)));
            Assert.IsTrue(octree.Contains(new Vector(0, 1, 1)));
            Assert.IsTrue(octree.Contains(new Vector(1, 0, 0)));
            Assert.IsTrue(octree.Contains(new Vector(1, 0, 1)));
            Assert.IsTrue(octree.Contains(new Vector(1, 1, 0)));
            Assert.IsTrue(octree.Contains(new Vector(1, 1, 1)));

            // negative sides have exclusive borders
            Assert.IsFalse(octree.Contains(new Vector(-1, 0, 0)));
            Assert.IsFalse(octree.Contains(new Vector(-1, 0, 1)));
            Assert.IsFalse(octree.Contains(new Vector(-1, 1, 0)));
            Assert.IsFalse(octree.Contains(new Vector(-1, 1, 1)));
            Assert.IsFalse(octree.Contains(new Vector(0, 0, -1)));
            Assert.IsFalse(octree.Contains(new Vector(0, 1, -1)));
            Assert.IsFalse(octree.Contains(new Vector(0, -1, 0)));
            Assert.IsFalse(octree.Contains(new Vector(0, -1, 1)));
            Assert.IsFalse(octree.Contains(new Vector(0, -1, -1)));
            Assert.IsFalse(octree.Contains(new Vector(1, 0, -1)));
            Assert.IsFalse(octree.Contains(new Vector(1, 1, -1)));
            Assert.IsFalse(octree.Contains(new Vector(1, -1, 0)));
            Assert.IsFalse(octree.Contains(new Vector(1, -1, 1)));
            Assert.IsFalse(octree.Contains(new Vector(1, -1, -1)));
            Assert.IsFalse(octree.Contains(new Vector(-1, 0, -1)));
            Assert.IsFalse(octree.Contains(new Vector(-1, 1, -1)));
            Assert.IsFalse(octree.Contains(new Vector(-1, -1, 0)));
            Assert.IsFalse(octree.Contains(new Vector(-1, -1, 1)));
            Assert.IsFalse(octree.Contains(new Vector(-1, -1, -1)));
        }