summaryrefslogtreecommitdiff
path: root/src/mesh/assimp-master/contrib/poly2tri_patch.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesh/assimp-master/contrib/poly2tri_patch.txt')
-rw-r--r--src/mesh/assimp-master/contrib/poly2tri_patch.txt75
1 files changed, 75 insertions, 0 deletions
diff --git a/src/mesh/assimp-master/contrib/poly2tri_patch.txt b/src/mesh/assimp-master/contrib/poly2tri_patch.txt
new file mode 100644
index 0000000..e9cca4c
--- /dev/null
+++ b/src/mesh/assimp-master/contrib/poly2tri_patch.txt
@@ -0,0 +1,75 @@
+diff -r 5de9623d6a50 poly2tri/common/shapes.h
+--- a/poly2tri/common/shapes.h Mon Aug 08 22:26:41 2011 -0400
++++ b/poly2tri/common/shapes.h Tue Jan 17 02:36:52 2012 +0100
+@@ -35,6 +35,7 @@
+
+ #include <vector>
+ #include <cstddef>
++#include <stdexcept>
+ #include <assert.h>
+ #include <cmath>
+
+@@ -136,7 +137,9 @@
+ p = &p2;
+ } else if (p1.x == p2.x) {
+ // Repeat points
+- assert(false);
++ // ASSIMP_CHANGE (aramis_acg)
++ throw std::runtime_error("repeat points");
++ //assert(false);
+ }
+ }
+
+diff -r 5de9623d6a50 poly2tri/sweep/sweep.cc
+--- a/poly2tri/sweep/sweep.cc Mon Aug 08 22:26:41 2011 -0400
++++ b/poly2tri/sweep/sweep.cc Tue Jan 17 02:36:52 2012 +0100
+@@ -113,6 +113,8 @@
+ Point* p1 = triangle->PointCCW(point);
+ Orientation o1 = Orient2d(eq, *p1, ep);
+ if (o1 == COLLINEAR) {
++ // ASSIMP_CHANGE (aramis_acg)
++ throw std::runtime_error("EdgeEvent - collinear points not supported");
+ if( triangle->Contains(&eq, p1)) {
+ triangle->MarkConstrainedEdge(&eq, p1 );
+ // We are modifying the constraint maybe it would be better to
+@@ -121,8 +123,8 @@
+ triangle = &triangle->NeighborAcross(point);
+ EdgeEvent( tcx, ep, *p1, triangle, *p1 );
+ } else {
++ // ASSIMP_CHANGE (aramis_acg)
+ std::runtime_error("EdgeEvent - collinear points not supported");
+- assert(0);
+ }
+ return;
+ }
+@@ -130,6 +132,9 @@
+ Point* p2 = triangle->PointCW(point);
+ Orientation o2 = Orient2d(eq, *p2, ep);
+ if (o2 == COLLINEAR) {
++ // ASSIMP_CHANGE (aramis_acg)
++ throw std::runtime_error("EdgeEvent - collinear points not supported");
++
+ if( triangle->Contains(&eq, p2)) {
+ triangle->MarkConstrainedEdge(&eq, p2 );
+ // We are modifying the constraint maybe it would be better to
+@@ -138,8 +143,8 @@
+ triangle = &triangle->NeighborAcross(point);
+ EdgeEvent( tcx, ep, *p2, triangle, *p2 );
+ } else {
+- std::runtime_error("EdgeEvent - collinear points not supported");
+- assert(0);
++ // ASSIMP_CHANGE (aramis_acg)
++ throw std::runtime_error("EdgeEvent - collinear points not supported");
+ }
+ return;
+ }
+@@ -712,7 +717,8 @@
+ return *ot.PointCW(op);
+ } else{
+ //throw new RuntimeException("[Unsupported] Opposing point on constrained edge");
+- assert(0);
++ // ASSIMP_CHANGE (aramis_acg)
++ throw std::runtime_error("[Unsupported] Opposing point on constrained edge");
+ }
+ }
+