Ejemplo n.º 1
0
        public void It_Returns_TheLongestAxis()
        {
            // Arrange
            var bBox = new BoundingBox(BoundingBoxCollection.BoundingBoxWithZValue());

            // Act
            var longestAxis = bBox.GetLongestAxis();

            // Assert
            longestAxis.Should().Be(1);
        }
Ejemplo n.º 2
0
        public void It_Returns_False_IfAPoint_Is_Outside_TheBoundingBox()
        {
            // Arrange
            var externalPt = new Point3(12.4, 5.0, 0.0);
            var bBox       = new BoundingBox(BoundingBoxCollection.BoundingBox2D());

            // Act
            var containsResult = bBox.Contains(externalPt, false);

            // Assert
            containsResult.Should().BeFalse();
        }
Ejemplo n.º 3
0
        public void It_Returns_True_If_A_Point_Is_Contained_Into_TheBoundingBox()
        {
            // Arrange
            var conteinedPt = new Point3(2.5, 4.5, 0.0);
            var bBox        = new BoundingBox(BoundingBoxCollection.BoundingBox2D());

            // Act
            var containsResult = bBox.Contains(conteinedPt, false);

            // Assert
            containsResult.Should().BeTrue();
        }
Ejemplo n.º 4
0
        public void Union_Returns_ValidBoundingBox_If_Other_IsNotValid()
        {
            // Arrange
            var bBox1 = BoundingBox.Unset;
            var bBox2 = new BoundingBox(BoundingBoxCollection.BoundingBox2D());

            // Act
            var bBoxResult = BoundingBox.Union(bBox1, bBox2);

            // Assert
            bBoxResult.Should().Be(bBox2);
        }
Ejemplo n.º 5
0
        public void It_Creates_An_Aligned_BoundingBox()
        {
            // Arrange
            Plane orientedPlane = Plane.PlaneXY.Rotate(GSharkMath.ToRadians(30));
            var   expectedMin   = new Point3(45.662928, 59.230957, -4.22451);
            var   expectedMax   = new Point3(77.622297, 78.520011, 3.812853);

            // Act
            var bBox = new BoundingBox(BoundingBoxCollection.BoundingBox3D(), orientedPlane);

            // Assert
            _testOutput.WriteLine(bBox.ToString());
            bBox.Should().NotBeNull();
            bBox.Min.DistanceTo(expectedMin).Should().BeLessThan(GSharkMath.MaxTolerance);
            bBox.Max.DistanceTo(expectedMax).Should().BeLessThan(GSharkMath.MaxTolerance);
        }
Ejemplo n.º 6
0
        public void Intersect_Returns_BBox_As_Intersection_Of_Two_BBoxes()
        {
            // Arrange
            var pt1  = new Point3(5d, 5d, 0);
            var pt2  = new Point3(15d, 15d, 0);
            var pts2 = new List <Point3> {
                pt1, pt2
            };
            var bBox1 = new BoundingBox(BoundingBoxCollection.BoundingBox2D());
            var bBox2 = new BoundingBox(pts2);

            // Act
            var bBoxResult = bBox1.Intersect(bBox2);

            // Assert
            bBoxResult.IsValid.Should().BeTrue();
            bBoxResult.Max.Should().BeEquivalentTo(bBox1.Max);
            bBoxResult.Min.Should().BeEquivalentTo(bBox2.Min);
        }
Ejemplo n.º 7
0
        public void It_Returns_BooleanUnion_Between_Two_BoundingBoxes()
        {
            // Arrange
            var pt1 = new Point3(5d, 5d, 0);
            var pt2 = new Point3(-15d, -13d, -5);
            var pts = new List <Point3> {
                pt1, pt2
            };
            var pMax  = new Point3(10, 10, 0);
            var bBox1 = new BoundingBox(BoundingBoxCollection.BoundingBox2D());
            var bBox2 = new BoundingBox(pts);

            // Act
            var bBoxResult = bBox1.Union(bBox2);

            // Assert
            bBoxResult.IsValid.Should().BeTrue();
            bBoxResult.Max.Should().BeEquivalentTo(pMax);
            bBoxResult.Min.Should().BeEquivalentTo(pt2);
        }