mirror of
				https://github.com/jhasse/poly2tri.git
				synced 2025-10-30 20:17:10 +01:00 
			
		
		
		
	updated README
This commit is contained in:
		
							
								
								
									
										39
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										39
									
								
								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 | ||||
| @@ -15,7 +44,7 @@ Dependencies | ||||
|   - GLFW (http://glfw.sf.net) | ||||
|   - 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. | ||||
|  | ||||
| ---------------------------------------------- | ||||
| @@ -48,4 +77,4 @@ Examples: | ||||
|   ./p2t nazca_monkey.dat 0 0 9 | ||||
|    | ||||
|   ./p2t random 10 100 5.0 | ||||
|   ./p2t random 1000 20000 0.025 | ||||
|   ./p2t random 1000 20000 0.025 | ||||
|   | ||||
| @@ -39,6 +39,7 @@ | ||||
| #include <iostream> | ||||
| using namespace std; | ||||
|  | ||||
| #include "test_shapes.h" | ||||
| #include "../poly2tri/poly2tri.h" | ||||
| using namespace p2t; | ||||
|  | ||||
| @@ -114,7 +115,12 @@ int main(int argc, char* argv[]) | ||||
|   } | ||||
|  | ||||
|   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) { | ||||
|     // Create a simple bounding box | ||||
|     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; | ||||
|   polylines.push_back(polyline); | ||||
|  | ||||
| @@ -169,6 +177,27 @@ int main(int argc, char* argv[]) | ||||
|   /* | ||||
|    * 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]); | ||||
|   if(s.find("dude.dat", 0) != string::npos) { | ||||
|     // Add head hole | ||||
| @@ -190,7 +219,8 @@ int main(int argc, char* argv[]) | ||||
|       cdt->AddPoint(new Point(x, y)); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   */ | ||||
|    | ||||
|   /* | ||||
|    * STEP 3: Triangulate! | ||||
|    */ | ||||
| @@ -412,6 +442,8 @@ vector<Point*> CreateChestHole() { | ||||
|  | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| double StringToDouble(const std::string& s) | ||||
| { | ||||
|   std::istringstream i(s); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Mason Green
					Mason Green