Читайте лучше по вашей ссылке, найдите страницу doc и прочитайте; в частности gpc_add_contour
функция, скорее всего, то, что вам нужно. Структура gpc_vertex_list содержит указатель на gpc_vertex-s и номер вершины, и это то, что вы должны заполнить. Как
gpc_polygon p = {0, NULL, NULL}; // "void" polygon
gpc_vertex v[] = { {0.0, 0.0}, {10.0, 0.}, {10.0, 10.10}, {0.0, 10.0} };
gpc_vertex_list vl = {
4, v
};
//...
gpc_add_contour(&p, &vl, 0);
Документ не слишком понятен, но вы можете вывести его из употребления, и тестирование (циклы try-error) - ваш друг (я все равно не установлю gpc, поэтому мой код может * 1008) * быть неправым). Предлагаемый фрагмент кода должен создать квадрат. Несколько других gpc_add_countour
с тем же & p, но другим списком вершин могут быть использованы для создания более сложного многоугольника, и, конечно, vl может быть изменен, чтобы иметь в начале более сложный многоугольник. Третий параметр должен быть равен 1, если вы хотите, чтобы определенный контур был «дырой» в текущем (p) многоугольнике.