Beispiel #1
0
        public void GetSectionsTest()
        {
            Facet facet = new Facet()
            {
                Normal = Vector3.UnitX,
                Vx1    = new Vector3(0f, 1f, 0f),
                Vx2    = new Vector3(0f, -1f, 0f),
                Vx3    = new Vector3(0f, 0f, 1f)
            };

            List <Facet> sections = facet.GetSections(0.5f).ToList();

            Assert.AreEqual(2, sections.Count);

            Assert.AreEqual(Vector3.UnitX, sections[0].Normal);
            Assert.AreEqual(new Vector3(0f, 1f, 0f), sections[0].Vx1);
            Assert.AreEqual(new Vector3(0f, -1f, 0f), sections[0].Vx2);
            Assert.AreEqual(new Vector3(0f, -0.5f, 0.5f), sections[0].Vx3);

            Assert.AreEqual(Vector3.UnitX, sections[1].Normal);
            Assert.AreEqual(new Vector3(0f, 1f, 0f), sections[1].Vx1);
            Assert.AreEqual(new Vector3(0f, -0.5f, 0.5f), sections[1].Vx2);
            Assert.AreEqual(new Vector3(0f, 0.5f, 0.5f), sections[1].Vx3);

            facet = new Facet()
            {
                Normal = Vector3.UnitX,
                Vx1    = new Vector3(0f, 1f, 1f),
                Vx2    = new Vector3(0f, -1f, 1f),
                Vx3    = new Vector3(0f, 0f, 0f)
            };

            sections = facet.GetSections(0.5f).ToList();

            Assert.AreEqual(1, sections.Count);

            Assert.AreEqual(Vector3.UnitX, sections[0].Normal);
            Assert.AreEqual(new Vector3(0f, -0.5f, 0.5f), sections[0].Vx1);
            Assert.AreEqual(new Vector3(0f, 0f, 0f), sections[0].Vx2);
            Assert.AreEqual(new Vector3(0f, 0.5f, 0.5f), sections[0].Vx3);
        }