Skip to content

Latest commit

 

History

History
60 lines (52 loc) · 1.8 KB

README.md

File metadata and controls

60 lines (52 loc) · 1.8 KB

delaunify

delaunify is a command-line tool to perform 2D Delaunay triangulation on a set of points. It is designed to be a simple filter that accepts point coordinates streamed in via stdin, then outputs the vertex indices of the generated triangles to stdout.

delaunify uses the Geogram library by Bruno Lévy, specifically its Delaunay PSM (pluggable software module, a library standalone autogenerated from the Geogram source tree). The Geogram version included here is currently 1.6.4.

Building

Linux

The software should build with g++ using the following command:

g++ -std=gnu++11 -O3 -fopenmp -frounding-math -ffp-contract=off -Wall delaunify.cpp Delaunay_psm.cpp -o delaunify -lm

Windows

Cygwin

It is possible to build using Cygwin after applying the provided patch for the PSM:

patch --binary < cygwin_psm_patch.patch

(The --binary flag helps deal with any misery caused by mismatching line endings.)

Then, building is similar to that on Linux, though with a -D__linux__ flag added:

g++ -std=gnu++11 -D__linux__ -O3 -fopenmp -frounding-math -ffp-contract=off -Wall delaunify.cpp Delaunay_psm.cpp -o delaunify -lm

MinGW

Not yet working.

Running

delaunify expects input through stdin in the form of plaintext, one line for each point, with x and y coordinates separated by whitespace. The generated output will contain the (zero-based) indices of the vertices in the triangulation, specified for one triangle per line.

Example with a heredoc as input:

./delaunify > faces.txt << EOF
0.5 1.0
2.0 0.5
1.0 1.5
3.0 3.5
EOF

Using a text file as input:

./delaunify > faces.txt < vertices.txt