From 26848f3d674ad853a484e39286a76c0ae7eed195 Mon Sep 17 00:00:00 2001 From: Pierre Alliez Date: Fri, 5 Jan 2024 14:10:41 +0100 Subject: [PATCH] Example DC on octree (still uses the octree wrapper) --- .../Isosurfacing_3/dual_contouring_octree.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/Isosurfacing_3/examples/Isosurfacing_3/dual_contouring_octree.cpp b/Isosurfacing_3/examples/Isosurfacing_3/dual_contouring_octree.cpp index 839455dac25..e2714f15aad 100644 --- a/Isosurfacing_3/examples/Isosurfacing_3/dual_contouring_octree.cpp +++ b/Isosurfacing_3/examples/Isosurfacing_3/dual_contouring_octree.cpp @@ -47,7 +47,6 @@ struct Refine_one_eighth bool operator()(const Octree_wrapper::Octree::Node& n) const { - // n.depth() if(n.depth() < min_depth_) return true; @@ -62,30 +61,27 @@ struct Refine_one_eighth if(leaf_coords[1] >= octree_dim_ / 2) return false; - // if(leaf_coords[2] >= octree_dim_ / 2) - // return false; - return true; } }; int main(int, char**) { - const CGAL::Bbox_3 bbox{-1., -1., -1., 1., 1., 1.}; + const CGAL::Bbox_3 bbox{-1., -1., -1., 1., 1., 1.}; Octree_wrapper octree_wrap { bbox }; - Refine_one_eighth split_predicate(3, 4); + Refine_one_eighth split_predicate(3, 5); octree_wrap.refine(split_predicate); auto sphere_function = [&](const Point& p) -> FT { - return sqrt(p.x() * p.x() + p.y() * p.y() + p.z() * p.z()); + return std::sqrt(p.x() * p.x() + p.y() * p.y() + p.z() * p.z()); }; auto sphere_gradient = [&](const Point& p) -> Vector { const Vector g = p - CGAL::ORIGIN; - return g / sqrt(g.squared_length()); + return g / std::sqrt(g.squared_length()); }; auto domain = CGAL::Isosurfacing::create_implicit_octree_domain(octree_wrap, @@ -97,7 +93,7 @@ int main(int, char**) CGAL::Isosurfacing::dual_contouring(domain, 0.8, points, polygons); - CGAL::IO::write_OFF("result.off", points, polygons); + CGAL::IO::write_OFF("output.off", points, polygons); return EXIT_SUCCESS; }