poly2tri/README.md

74 lines
1.8 KiB
Markdown
Raw Normal View History

2012-08-21 17:43:22 +02:00
Since there are no Input validation of the data given for triangulation you need
2012-08-21 17:32:58 +02:00
to think about this. Poly2Tri does not support repeat points within epsilon.
2012-08-21 17:43:22 +02:00
* If you have a cyclic function that generates random points make sure you don't
add the same coordinate twice.
* If you are given input and aren't sure same point exist twice you need to
check for this yourself.
2012-08-21 17:32:58 +02:00
* Only simple polygons are supported. You may add holes or interior Steiner points
* Interior holes must not touch other holes, nor touch the polyline boundary
* Use the library in this order:
1. Initialize CDT with a simple polyline (this defines the constrained edges)
2. Add holes if necessary (also simple polylines)
3. Add Steiner points
4. Triangulate
2012-08-21 17:43:22 +02:00
Make sure you understand the preceding notice before posting an issue. If you have
2012-08-21 17:32:58 +02:00
an issue not covered by the above, include your data-set with the problem.
The only easy day was yesterday; have a nice day. <Mason Green>
TESTBED INSTALLATION GUIDE
2012-08-21 17:46:19 +02:00
==========================
2012-08-21 17:32:58 +02:00
Dependencies
------------
Core poly2tri lib:
* Standard Template Library (STL)
2012-08-21 17:43:22 +02:00
2012-08-21 17:32:58 +02:00
Testbed:
* gcc
* OpenGL
2012-08-21 17:46:19 +02:00
* [GLFW](http://glfw.sf.net)
2012-08-21 17:32:58 +02:00
* Python
2012-08-21 17:43:22 +02:00
[waf](http://code.google.com/p/waf/) is used to compile the testbed.
2012-08-21 17:32:58 +02:00
A waf script (86kb) is included in the repositoty.
Building the Testbed
2012-08-21 17:46:19 +02:00
--------------------
2012-08-21 17:32:58 +02:00
Posix/MSYS environment:
```
2012-08-21 17:46:19 +02:00
./waf configure
./waf build
2012-08-21 17:32:58 +02:00
```
Windows command line:
```
2012-08-21 17:46:19 +02:00
python waf configure
python waf build
2012-08-21 17:32:58 +02:00
```
Running the Examples
2012-08-21 17:46:19 +02:00
--------------------
2012-08-21 17:32:58 +02:00
Load data points from a file:
```
p2t <filename> <center_x> <center_y> <zoom>
```
Random distribution of points inside a consrained box:
```
p2t random <num_points> <box_radius> <zoom>
```
Examples:
```
./build/p2t testbed/data/dude.dat 300 500 2
./build/p2t testbed/data/nazca_monkey.dat 0 0 9
2012-08-21 17:43:22 +02:00
./build/p2t random 10 100 5.0
./build/p2t random 1000 20000 0.025
```