kunickyd ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
..
.gitignore ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
CMakeLists.txt ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
LICENSE ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
README.md ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
dict-list.h ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
dict.c ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
dict.h ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
geom.c ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
geom.h ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
glu.h ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
gluos.h ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
main.c ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
memalloc.c ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
memalloc.h ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
mesh.c ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
mesh.h ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
normal.c ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
normal.h ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
priorityq-heap.c ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
priorityq-heap.h ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
priorityq-sort.h ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
priorityq.c ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
priorityq.h ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
render.c ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
render.h ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
sweep.c ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
sweep.h ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
tess.c ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
tess.h ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
tessellate.c ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
tessellate.h ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
tessellate.pro ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
tessmono.c ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos
tessmono.h ebef13bbac add QField 1.10.0 %!s(int64=3) %!d(string=hai) anos

README.md

A minimal, self-contained port of SGI's GLU libtess

Polygon tessellation is a major pain in the neck. Have you ever tried writing fast and robust code for it? libtess is, to my knowledge, the only GPL-compatible, liberally-licensed, high-quality polygon triangulator out there.

This repository includes a self-contained function (tessellate, in tessellate.c) that you can call to triangulate a polygon that is potentially self-intersecting, with holes, or with duplicate vertices. Simple examples of calling the tessellate function directly are located in main.c.