// create a standard format path, coordinates are floats (VG_PATH_DATATYPE_F) path0 = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1.0f, 0.0f, 0, 0, VG_PATH_CAPABILITY_ALL); // build a temporary path and clear it pathSegs[0] = VG_MOVE_TO_ABS; pathData[0] = -2.0f; pathData[1] = 1.0f; pathSegs[1] = VG_MOVE_TO_ABS; pathData[2] = 5.0f; pathData[3] = 3.0f; pathSegs[2] = VG_LINE_TO_ABS; pathData[4] = 15.0f; pathData[5] = 3.0f; vgAppendPathData(path0, 3, pathSegs, pathData); vgClearPath(path0, VG_PATH_CAPABILITY_ALL); // append some degenerative data to path pathSegs[0] = VG_MOVE_TO_ABS; pathData[0] = -2.0f; pathData[1] = 1.0f; pathSegs[1] = VG_MOVE_TO_ABS; pathData[2] = 5.0f; pathData[3] = 3.0f; pathSegs[2] = VG_LINE_TO_ABS; pathData[4] = 5.0f; pathData[5] = 3.0f; pathSegs[3] = VG_QUAD_TO_ABS; pathData[6] = 5.0f; pathData[7] = 3.0f; pathData[8] = 7.0f; pathData[9] = 0.0f; pathSegs[4] = VG_LCWARC_TO_ABS; pathData[10] = 2.0f; pathData[11] = 0.001f; pathData[12] = 0.0f; pathData[13] = 10.0f; pathData[14] = 2.0f; pathSegs[5] = VG_LCCWARC_TO_ABS; pathData[15] = 0.001f; pathData[16] = 0.001f; pathData[17] = 0.0f; pathData[18] = 5.0f; pathData[19] = 5.0f; pathSegs[6] = VG_SCCWARC_TO_ABS; pathData[20] = 1.0f; pathData[21] = 2.0f; pathData[22] = 0.0f; pathData[23] = 5.0f; pathData[24] = 5.0f; pathSegs[7] = VG_SCWARC_TO_ABS; pathData[25] = 1.5f; pathData[26] = 1.0f; pathData[27] = -135.0f; pathData[28] = 3.0f; pathData[29] = 3.0f; pathSegs[8] = VG_CLOSE_PATH; pathSegs[9] = VG_CLOSE_PATH; vgAppendPathData(path0, 10, pathSegs, pathData); writePath(f, path0, 30, VG_FALSE, "Degenerative path evaluation"); // destroy path vgDestroyPath(path0);