void testAddPoint() { FTGL_DOUBLE testPoint[3] = { 1, 2, 3 }; FTGL_DOUBLE* hole[] = { 0, 0, 0, 0 }; void *pHole = (void *)hole; FTMesh mesh; CPPUNIT_ASSERT(mesh.TesselationCount() == 0); ftglBegin(GL_TRIANGLES, &mesh); ftglVertex(&POINT_DATA[0], &mesh); ftglVertex(&POINT_DATA[3], &mesh); ftglVertex(&POINT_DATA[6], &mesh); ftglVertex(&POINT_DATA[9], &mesh); ftglEnd(&mesh); CPPUNIT_ASSERT(mesh.TesselationCount() == 1); CPPUNIT_ASSERT(mesh.Tesselation(0)->PolygonType() == GL_TRIANGLES); CPPUNIT_ASSERT(mesh.Tesselation(0)->PointCount() == 4); CPPUNIT_ASSERT(mesh.Error() == 0); ftglBegin(GL_QUADS, &mesh); ftglVertex(&POINT_DATA[12], &mesh); ftglVertex(&POINT_DATA[15], &mesh); ftglError(2, &mesh); ftglVertex(&POINT_DATA[18], &mesh); ftglCombine(testPoint, NULL, NULL, &pHole, &mesh); ftglVertex(&POINT_DATA[21], &mesh); ftglError(3, &mesh); ftglEnd(&mesh); CPPUNIT_ASSERT(mesh.TesselationCount() == 2); CPPUNIT_ASSERT(mesh.Tesselation(0)->PointCount() == 4); CPPUNIT_ASSERT(mesh.Tesselation(1)->PolygonType() == GL_QUADS); CPPUNIT_ASSERT(mesh.Tesselation(1)->PointCount() == 4); CPPUNIT_ASSERT(mesh.Error() == 3); CPPUNIT_ASSERT(mesh.TesselationCount() == 2); }