mirror of
https://github.com/jhasse/poly2tri.git
synced 2024-12-02 10:13:29 +01:00
updated README
This commit is contained in:
parent
65b3d76ec8
commit
7561f1f5e2
37
README
37
README
@ -1,6 +1,35 @@
|
|||||||
==================
|
#####################################################################################
|
||||||
INSTALLATION GUIDE
|
###
|
||||||
==================
|
### Since there are no Input validation of the data given for triangulation you need
|
||||||
|
### to think about this. Poly2Tri does not support repeat points within epsilon.
|
||||||
|
###
|
||||||
|
### * 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.
|
||||||
|
###
|
||||||
|
### * 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
|
||||||
|
###
|
||||||
|
### Make sure you understand the preceding notice before posting an issue. If you have
|
||||||
|
### 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
|
||||||
|
===========================
|
||||||
|
|
||||||
------------
|
------------
|
||||||
Dependencies
|
Dependencies
|
||||||
@ -15,7 +44,7 @@ Dependencies
|
|||||||
- GLFW (http://glfw.sf.net)
|
- GLFW (http://glfw.sf.net)
|
||||||
- Python
|
- Python
|
||||||
|
|
||||||
Waf (http://code.google.com/p/waf/) is used to compile the testbed.
|
waf (http://code.google.com/p/waf/) is used to compile the testbed.
|
||||||
A waf script (86kb) is included in the repositoty.
|
A waf script (86kb) is included in the repositoty.
|
||||||
|
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
|
@ -39,6 +39,7 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
#include "test_shapes.h"
|
||||||
#include "../poly2tri/poly2tri.h"
|
#include "../poly2tri/poly2tri.h"
|
||||||
using namespace p2t;
|
using namespace p2t;
|
||||||
|
|
||||||
@ -115,6 +116,11 @@ int main(int argc, char* argv[])
|
|||||||
|
|
||||||
vector<p2t::Point*> polyline;
|
vector<p2t::Point*> polyline;
|
||||||
|
|
||||||
|
for(int i = 0; i < 25; i++) {
|
||||||
|
polyline.push_back(new Point(outline[i*2],outline[i*2+1]));
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
if(random_distribution) {
|
if(random_distribution) {
|
||||||
// Create a simple bounding box
|
// Create a simple bounding box
|
||||||
polyline.push_back(new Point(min,min));
|
polyline.push_back(new Point(min,min));
|
||||||
@ -148,6 +154,8 @@ int main(int argc, char* argv[])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
cout << "Number of constrained edges = " << polyline.size() << endl;
|
cout << "Number of constrained edges = " << polyline.size() << endl;
|
||||||
polylines.push_back(polyline);
|
polylines.push_back(polyline);
|
||||||
|
|
||||||
@ -169,6 +177,27 @@ int main(int argc, char* argv[])
|
|||||||
/*
|
/*
|
||||||
* STEP 2: Add holes or Steiner points if necessary
|
* STEP 2: Add holes or Steiner points if necessary
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
vector<Point*> hole1_pts;
|
||||||
|
vector<Point*> hole2_pts;
|
||||||
|
|
||||||
|
for(int i = 0; i < 22; i++) {
|
||||||
|
hole1_pts.push_back(new Point(hole1[i*2],hole1[i*2+1]));
|
||||||
|
}
|
||||||
|
|
||||||
|
cdt->AddHole(hole1_pts);
|
||||||
|
|
||||||
|
for(int i = 0; i < 10; i++) {
|
||||||
|
hole2_pts.push_back(new Point(hole2[i*2],hole2[i*2+1]));
|
||||||
|
}
|
||||||
|
|
||||||
|
cdt->AddHole(hole2_pts);
|
||||||
|
|
||||||
|
for(int i = 0; i < 42; i ++) {
|
||||||
|
cdt->AddPoint(new Point(steiner_points[i*2], steiner_points[i*2+1]));
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
string s(argv[1]);
|
string s(argv[1]);
|
||||||
if(s.find("dude.dat", 0) != string::npos) {
|
if(s.find("dude.dat", 0) != string::npos) {
|
||||||
// Add head hole
|
// Add head hole
|
||||||
@ -190,6 +219,7 @@ int main(int argc, char* argv[])
|
|||||||
cdt->AddPoint(new Point(x, y));
|
cdt->AddPoint(new Point(x, y));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* STEP 3: Triangulate!
|
* STEP 3: Triangulate!
|
||||||
@ -412,6 +442,8 @@ vector<Point*> CreateChestHole() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
double StringToDouble(const std::string& s)
|
double StringToDouble(const std::string& s)
|
||||||
{
|
{
|
||||||
std::istringstream i(s);
|
std::istringstream i(s);
|
||||||
|
Loading…
Reference in New Issue
Block a user