예제 #1
0
        void testTooManyPoints()
        {
            FTGL_DOUBLE testPoint[3] = { 1, 2, 3};

            FTGL_DOUBLE* testOutput[] = { 0, 0, 0, 0};
            void *pOutput = (void *)testOutput;
            FTGL_DOUBLE* hole[] = { 0, 0, 0, 0};
            void *pHole = (void *)hole;

            FTMesh mesh;
            unsigned int x;

            ftglBegin(GL_TRIANGLES, &mesh);
            ftglCombine(testPoint, NULL, NULL, &pOutput, &mesh);

            for(x = 0; x < 200; ++x)
            {
                ftglCombine(testPoint, NULL, NULL, &pHole, &mesh);
            }

            CPPUNIT_ASSERT(*testOutput == static_cast<const FTGL_DOUBLE*>(mesh.TempPointList().front()));

            for(x = 201; x < 300; ++x)
            {
                ftglCombine(testPoint, NULL, NULL, &pHole, &mesh);
            }

            ftglEnd(&mesh);

            CPPUNIT_ASSERT(*testOutput == static_cast<const FTGL_DOUBLE*>(mesh.TempPointList().front()));
        }