Exemple #1
0
        public void SquareHoleTest()
        {
            var handler     = new Handler();
            var tessellator = new Tessellator3D <int, int>(handler);

            tessellator.BeginPolygon(0);

            tessellator.BeginContour();
            tessellator.AddVertex(1, 1, 0, 0);
            tessellator.AddVertex(-1, 1, 0, 1);
            tessellator.AddVertex(-1, -1, 0, 2);
            tessellator.AddVertex(1, -1, 0, 3);
            tessellator.EndContour();

            tessellator.BeginContour();
            tessellator.AddVertex(.5, .5, 0, 4);
            tessellator.AddVertex(-.5, .5, 0, 5);
            tessellator.AddVertex(-.5, -.5, 0, 6);
            tessellator.AddVertex(.5, -.5, 0, 7);
            tessellator.EndContour();

            tessellator.EndPolygon();

            //output.WriteLine("" + handler);
            Assert.Equal("S{(1,1,0)(-1,1,0)(-0.5,0.5,0)(-0.5,-0.5,0)(0.5,-0.5,0)(1,-1,0)(0.5,0.5,0)(1,1,0)(-0.5,0.5,0)}" +
                         "F{(-0.5,-0.5,0)(-1,1,0)(-1,-1,0)(1,-1,0)}T{(-0.5,0.5,0)(0.5,-0.5,0)(0.5,0.5,0)}", handler.ToString());
        }
Exemple #2
0
        public void NoVertex()
        {
            var handler     = new Handler();
            var tessellator = new Tessellator3D <int, int>(handler);

            tessellator.BeginPolygon(0);

            tessellator.BeginContour();
            tessellator.EndContour();

            tessellator.EndPolygon();

            Assert.Equal("", handler.ToString());
        }
Exemple #3
0
        public void TwoVerticesTest()
        {
            var handler     = new Handler();
            var tessellator = new Tessellator3D <int, int>(handler);

            tessellator.BeginPolygon(0);

            tessellator.BeginContour();
            tessellator.AddVertex(1, 1, 0, 0);
            tessellator.AddVertex(-1, 1, 0, 1);
            tessellator.EndContour();

            tessellator.EndPolygon();

            Assert.Equal("", handler.ToString());
        }
Exemple #4
0
        public void SquareTest()
        {
            var handler     = new Handler();
            var tessellator = new Tessellator3D <int, int>(handler);

            tessellator.BeginPolygon(0);

            tessellator.BeginContour();
            tessellator.AddVertex(1, 1, 0, 0);
            tessellator.AddVertex(-1, 1, 0, 1);
            tessellator.AddVertex(-1, -1, 0, 2);
            tessellator.AddVertex(1, -1, 0, 3);
            tessellator.EndContour();

            tessellator.EndPolygon();

            Assert.Equal("F{(1,1,0)(-1,1,0)(-1,-1,0)(1,-1,0)}", handler.ToString());
        }
Exemple #5
0
        public void SquareTest2()
        {
            var handler     = new Handler();
            var tessellator = new Tessellator3D <int, int>(handler)
            {
                OutputKind = OutputKind.TrianglesOnly
            };

            tessellator.BeginPolygon(0);

            tessellator.BeginContour();
            tessellator.AddVertex(1, 1, 0, 0);
            tessellator.AddVertex(-1, 1, 0, 1);
            tessellator.AddVertex(-1, -1, 0, 2);
            tessellator.AddVertex(1, -1, 0, 3);
            tessellator.EndContour();

            tessellator.EndPolygon();

            Assert.Equal("T{(1,1,0)(-1,1,0)(-1,-1,0)(1,1,0)(-1,-1,0)(1,-1,0)}", handler.ToString());
        }
Exemple #6
0
        public void StarBoundaryTest()
        {
            var handler     = new Handler();
            var tessellator = new Tessellator3D <int, int>(handler)
            {
                OutputKind = OutputKind.BoundaryOnly
            };

            tessellator.BeginPolygon(0);

            tessellator.BeginContour();
            tessellator.AddVertex(0, 3, 0, 0);
            tessellator.AddVertex(-1, 0, 0, 1);
            tessellator.AddVertex(1.6, 1.9, 0, 2);
            tessellator.AddVertex(-1.6, 1.9, 0, 3);
            tessellator.AddVertex(1, 0, 0, 4);
            tessellator.EndContour();

            tessellator.EndPolygon();

            Assert.Equal("L{(-0.608247422680412,1.17525773195876,0)(-1,0,0)(0,0.730769230769231,0)(1,0,0)(0.608247422680412,1.17525773195876,0)(1.6,1.9,0)(0.366666666666667,1.9,0)(0,3,0)(-0.366666666666667,1.9,0)(-1.6,1.9,0)}", handler.ToString());
        }