commit 863a9e3491480193b76526e56d9ca8f6fde551a7
parent 13b9bf97f28f0b3a4e44353784a86317667e8a74
Author: vaplv <vaplv@free.fr>
Date: Tue, 1 Sep 2015 16:01:41 +0200
Fix the ear cutting algorithm
Handle degenerated triangles
Diffstat:
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
@@ -39,7 +39,7 @@ rcmake_append_runtime_dirs(_runtime_dirs RSys)
################################################################################
set(VERSION_MAJOR 0)
set(VERSION_MINOR 0)
-set(VERSION_PATCH 3)
+set(VERSION_PATCH 4)
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
set(POLYGON_FILES_SRC polygon.c)
diff --git a/src/polygon.c b/src/polygon.c
@@ -129,7 +129,8 @@ node_is_an_ear
f3_sub(E2, nodes[nodes[inode].next].pos, nodes[inode].pos);
f3_cross(normal, E1, E2);
len = f3_normalize(normal, normal);
- ASSERT(len > 0.f);
+ if(eq_epsf(len, 0.f, 1.e-6f)) return 1;
+
f3_cross(P, normal, E2);
det = f3_dot(P, E1);