From 608272d2a509c5d427bf34c8725a70bac165b31a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Mon, 13 Apr 2020 10:45:28 +0200 Subject: [PATCH] fix compilation errors and a warning --- .../internal/tetrahedral_remeshing_helpers.h | 103 +++++++++--------- .../include/CGAL/tetrahedral_remeshing.h | 2 +- 2 files changed, 52 insertions(+), 53 deletions(-) diff --git a/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_remeshing_helpers.h b/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_remeshing_helpers.h index 7404293ecec..082b9697a5f 100644 --- a/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_remeshing_helpers.h +++ b/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_remeshing_helpers.h @@ -187,13 +187,6 @@ bool is_on_feature(const VertexHandle v) return (v->in_dimension() == 1 || v->in_dimension() == 0); } -template -bool is_well_oriented(const Tr& tr, const typename Tr::Cell_handle ch) -{ - return is_well_oriented(tr, ch->vertex(0), ch->vertex(1), - ch->vertex(2), ch->vertex(3)); -} - template bool is_well_oriented(const Tr& tr, const typename Tr::Vertex_handle v0, @@ -208,6 +201,13 @@ bool is_well_oriented(const Tr& tr, point(v3->point())); } +template +bool is_well_oriented(const Tr& tr, const typename Tr::Cell_handle ch) +{ + return is_well_oriented(tr, ch->vertex(0), ch->vertex(1), + ch->vertex(2), ch->vertex(3)); +} + template bool is_boundary(const C3T3& c3t3, const typename C3T3::Facet& f, @@ -683,6 +683,50 @@ bool topology_test(const typename C3t3::Edge& edge, return true; } +template +Subdomain_relation compare_subdomains(const typename C3t3::Vertex_handle v0, + const typename C3t3::Vertex_handle v1, + const C3t3& c3t3) +{ + typedef typename C3t3::Subdomain_index Subdomain_index; + + std::vector subdomains_v0; + incident_subdomains(v0, c3t3, std::back_inserter(subdomains_v0)); + std::sort(subdomains_v0.begin(), subdomains_v0.end()); + + std::vector subdomains_v1; + incident_subdomains(v1, c3t3, std::back_inserter(subdomains_v1)); + std::sort(subdomains_v1.begin(), subdomains_v1.end()); + + if (subdomains_v0.size() == subdomains_v1.size()) + { + for (unsigned int i = 0; i < subdomains_v0.size(); i++) + if (subdomains_v0[i] != subdomains_v1[i]) + return DIFFERENT; + return EQUAL; + } + else + { + std::vector + intersection((std::min)(subdomains_v0.size(), subdomains_v1.size()), -1); + typename std::vector::iterator + end_it = std::set_intersection(subdomains_v0.begin(), subdomains_v0.end(), + subdomains_v1.begin(), subdomains_v1.end(), + intersection.begin()); + std::ptrdiff_t intersection_size = (end_it - intersection.begin()); + + if (subdomains_v0.size() > subdomains_v1.size() + && intersection_size == std::ptrdiff_t(subdomains_v1.size())) + { + return INCLUDES; + } + else if (intersection_size == std::ptrdiff_t(subdomains_v0.size())) { + return INCLUDED; + } + } + return DIFFERENT; +} + template void get_edge_info(const typename C3t3::Edge& edge, bool& update_v0, @@ -805,51 +849,6 @@ void get_edge_info(const typename C3t3::Edge& edge, } } -template -Subdomain_relation compare_subdomains(const typename C3t3::Vertex_handle v0, - const typename C3t3::Vertex_handle v1, - const C3t3& c3t3) -{ - typedef typename C3t3::Subdomain_index Subdomain_index; - - std::vector subdomains_v0; - incident_subdomains(v0, c3t3, std::back_inserter(subdomains_v0)); - std::sort(subdomains_v0.begin(), subdomains_v0.end()); - - std::vector subdomains_v1; - incident_subdomains(v1, c3t3, std::back_inserter(subdomains_v1)); - std::sort(subdomains_v1.begin(), subdomains_v1.end()); - - if (subdomains_v0.size() == subdomains_v1.size()) - { - for (unsigned int i = 0; i < subdomains_v0.size(); i++) - if (subdomains_v0[i] != subdomains_v1[i]) - return DIFFERENT; - return EQUAL; - } - else - { - std::vector - intersection((std::min)(subdomains_v0.size(), subdomains_v1.size()), -1); - typename std::vector::iterator - end_it = std::set_intersection(subdomains_v0.begin(), subdomains_v0.end(), - subdomains_v1.begin(), subdomains_v1.end(), - intersection.begin()); - std::ptrdiff_t intersection_size = (end_it - intersection.begin()); - - if (subdomains_v0.size() > subdomains_v1.size() - && intersection_size == std::ptrdiff_t(subdomains_v1.size())) - { - return INCLUDES; - } - else if (intersection_size == std::ptrdiff_t(subdomains_v0.size())) { - return INCLUDED; - } - } - return DIFFERENT; -} - - namespace debug { diff --git a/Tetrahedral_remeshing/include/CGAL/tetrahedral_remeshing.h b/Tetrahedral_remeshing/include/CGAL/tetrahedral_remeshing.h index 3db4021a856..25421889142 100644 --- a/Tetrahedral_remeshing/include/CGAL/tetrahedral_remeshing.h +++ b/Tetrahedral_remeshing/include/CGAL/tetrahedral_remeshing.h @@ -258,7 +258,7 @@ void tetrahedral_adaptive_remeshing( { tetrahedral_adaptive_remeshing( c3t3, - [target_edge_length](const typename Tr::Point& p) + [target_edge_length](const typename Tr::Point& /* p */) {return target_edge_length; }, np); }