From a20e595f4a5b63e613a90fab3616b59646df051f Mon Sep 17 00:00:00 2001 From: pacien Date: Fri, 29 Dec 2017 00:28:58 +0100 Subject: Accept edge case as Delaunay Signed-off-by: pacien --- src/morpher/quadrilateral.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/morpher/quadrilateral.c b/src/morpher/quadrilateral.c index 9c73dfa..d5c64b0 100644 --- a/src/morpher/quadrilateral.c +++ b/src/morpher/quadrilateral.c @@ -7,12 +7,12 @@ static inline IntVector p2(IntVector n) { return n * n; } -static inline bool not_in_circumcircle(TriangleMap *t, CartesianVector v) { +static inline bool in_circumcircle(TriangleMap *t, CartesianVector v) { CartesianVector a = t->vertices[0].origin, b = t->vertices[1].origin, c = t->vertices[2].origin; IntVector v2 = p2(v.x) + p2(v.y); return matrix_int_det3(a.x - v.x, a.y - v.y, p2(a.x) + p2(a.y) - v2, b.x - v.x, b.y - v.y, p2(b.x) + p2(b.y) - v2, - c.x - v.x, c.y - v.y, p2(c.x) + p2(c.y) - v2) > 0; + c.x - v.x, c.y - v.y, p2(c.x) + p2(c.y) - v2) < 0; } static inline void rotate_vertices(TriangleMap *t1, TriangleMap *t2, int e1, int e2) { @@ -58,6 +58,6 @@ void quadrilateral_flip_diagonal(TriangleMap *t1, TriangleMap *t2) { bool quadrilateral_is_delaunay(TriangleMap *t1, TriangleMap *t2) { assert(t1 != NULL && t2 != NULL); - return not_in_circumcircle(t1, t2->vertices[(trianglemap_find_common_edge(t2, t1) + 2) % 3].origin) && - not_in_circumcircle(t2, t1->vertices[(trianglemap_find_common_edge(t1, t2) + 2) % 3].origin); + return !in_circumcircle(t1, t2->vertices[(trianglemap_find_common_edge(t2, t1) + 2) % 3].origin) && + !in_circumcircle(t2, t1->vertices[(trianglemap_find_common_edge(t1, t2) + 2) % 3].origin); } -- cgit v1.2.3