Skip to content

Commit 8030a29

Browse files
committed
Merge pull request #407 from afabri/BGL-bug_fix_make_triangle-GF
bug fix: set_next() was not called for the opposite edges
2 parents e0019b1 + 9fa669b commit 8030a29

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

BGL/include/CGAL/boost/graph/helpers.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,9 @@ make_triangle(const P& p0, const P& p1, const P& p2, Graph& g)
457457
h0 = opposite(h0,g);
458458
h1 = opposite(h1,g);
459459
h2 = opposite(h2,g);
460+
set_next(h0, h2, g);
461+
set_next(h2, h1, g);
462+
set_next(h1, h0, g);
460463
set_target(h0, v0, g);
461464
set_target(h1, v1, g);
462465
set_target(h2, v2, g);
@@ -517,6 +520,10 @@ make_quad(const P& p0, const P& p1, const P& p2, const P& p3, Graph& g)
517520
h1 = opposite(h1,g);
518521
h2 = opposite(h2,g);
519522
h3 = opposite(h3,g);
523+
set_next(h0, h3, g);
524+
set_next(h3, h2, g);
525+
set_next(h2, h1, g);
526+
set_next(h1, h0, g);
520527
set_target(h0, v0, g);
521528
set_target(h1, v1, g);
522529
set_target(h2, v2, g);

BGL/test/BGL/test_helpers.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,19 +42,23 @@ int main()
4242
Mesh m;
4343
halfedge_descriptor hd;
4444
hd = CGAL::make_triangle(a,b,c,m);
45-
assert(CGAL::is_triangle(hd,m));
45+
assert(CGAL::is_isolated_triangle(hd,m));
46+
assert(CGAL::is_valid(m));
4647
m.clear();
4748
hd = CGAL::make_quad(a,b,c,d,m);
48-
assert(CGAL::is_quad(hd,m));
49+
assert(CGAL::is_isolated_quad(hd,m));
50+
assert(CGAL::is_valid(m));
4951
assert(CGAL::is_quad_mesh(m));
5052
m.clear();
5153
hd = CGAL::make_tetrahedron(a,b,c,d,m);
5254
assert(CGAL::is_tetrahedron(hd,m));
5355
assert(CGAL::is_triangle_mesh(m));
56+
assert(CGAL::is_valid(m));
5457
m.clear();
5558
hd = CGAL::make_hexahedron(a,b,c,d,aa,bb,cc,dd,m);
5659
assert(CGAL::is_hexahedron(hd,m));
5760
assert(CGAL::is_quad_mesh(m));
61+
assert(CGAL::is_valid(m));
5862

5963
std::cerr << "done" << std::endl;
6064
return 0;

0 commit comments

Comments
 (0)