コード例 #1
0
        public Boundingvolume GetBoundingVolume()
        {
            var centroid = GetCenter();
            var extent_x = ExtentX();
            var extent_y = ExtentY();
            var extent_z = 100;

            var box = new double[] { centroid.X, centroid.Y, centroid.Z, extent_x / 2, 0.0, 0.0, 0.0, extent_y / 2, 0.0, 0.0, 0.0, extent_z };

            var boundingVolume = new Boundingvolume
            {
                box = box
            };

            return(boundingVolume);
        }
コード例 #2
0
        public void BoundingVolumeTest()
        {
            // arrange
            var bounds = new BoundingBox3D(0, 0, 0, 10, 10, 10);
            var expectedBoundingVolume = new Boundingvolume()
            {
                box = new double[] { 5, 5, 5, 5, 0, 0, 0, 5, 0, 0, 0, 100 }
            };

            // act
            var boundingvolume = bounds.GetBoundingVolume();

            // assert
            Assert.IsTrue(boundingvolume.box.Length == expectedBoundingVolume.box.Length);
            for (var i = 0; i < boundingvolume.box.Length; i++)
            {
                Assert.IsTrue(boundingvolume.box[i] == expectedBoundingVolume.box[i]);
            }
        }
コード例 #3
0
        public void SerializeToJSONTest()
        {
            // arrange
            var bv = new Boundingvolume();

            bv.box = new double[] {
                9.3132257461547852E-10, 15.165075950091705, -4.6566128730773926E-10,
                1130.6094067522015, 0.0, 0.0,
                0.0, 2168.6548668255564, 0.0,
                0.0, 0.0, 1272.8861378305592
            };

            // act
            var output = JsonConvert.SerializeObject(bv);

            var back = JsonConvert.DeserializeObject <Boundingvolume>(output);

            // assert
            Assert.IsTrue(output != null);
            Assert.IsTrue(back.box[0] == 0);
        }