From be21cfc4d68a800156fbde508348361016a57bf8 Mon Sep 17 00:00:00 2001 From: Jane Tournois Date: Thu, 26 Oct 2023 12:25:49 +0200 Subject: [PATCH] cleaning --- .../internal/split_long_edges.h | 2 +- .../tetrahedral_adaptive_remeshing_impl.h | 21 +++---------------- .../internal/tetrahedral_remeshing_helpers.h | 12 ++++++++--- 3 files changed, 13 insertions(+), 22 deletions(-) diff --git a/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/split_long_edges.h b/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/split_long_edges.h index 57f17b540f5..47610953973 100644 --- a/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/split_long_edges.h +++ b/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/split_long_edges.h @@ -274,7 +274,7 @@ void split_long_edges(C3T3& c3t3, if (!can_be_split(e, c3t3, protect_boundaries, cell_selector)) continue; - const std::optional sqlen = is_too_long(e, sizing, tr); + const std::optional sqlen = is_too_long(e, sizing, tr); if(sqlen != std::nullopt) long_edges.insert(long_edge(make_vertex_pair(e), sqlen.value())); } diff --git a/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_adaptive_remeshing_impl.h b/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_adaptive_remeshing_impl.h index 642dda11d73..86e1064f0ad 100644 --- a/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_adaptive_remeshing_impl.h +++ b/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_adaptive_remeshing_impl.h @@ -174,29 +174,14 @@ public: return m_c3t3_pbackup != NULL; } - bool is_too_short(const Edge& e) const - { - const FT target_edge_length - = m_sizing(CGAL::midpoint(tr().segment(e)), - 0, - 0); - const FT emin = FT(4)/FT(5) * target_edge_length; - return tr().segment(e).squared_length() < CGAL::square(emin * emin); - } - bool is_too_long_or_too_short(const Edge& e) const { - const FT sqlen = tr().segment(e).squared_length(); - const FT target_edge_length - = m_sizing(CGAL::midpoint(tr().segment(e)), - 0, - 0); - - const FT sq_emax = CGAL::square(FT(4)/FT(3) * target_edge_length); + const FT sqlen = squared_edge_length(e, tr()); + const FT sq_emax = squared_upper_size_bound(e, m_sizing, tr()); if(sqlen > sq_emax) return true; - const FT sq_emin = CGAL::square(FT(4)/FT(5) * target_edge_length); + const FT sq_emin = squared_lower_size_bound(e, m_sizing, tr()); if (sqlen < sq_emin) return true; 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 38d8e49e84b..53686c40eea 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 @@ -988,6 +988,13 @@ squared_lower_size_bound(const typename Tr::Edge& e, return CGAL::square(emin); } +template +typename Tr::Geom_traits::FT +squared_edge_length(const typename Tr::Edge& e, const Tr& tr) +{ + return tr.geom_traits().compute_squared_length_3_object()(tr.segment(e)); +} + template std::optional is_too_long(const typename Tr::Edge& e, @@ -995,10 +1002,9 @@ is_too_long(const typename Tr::Edge& e, const Tr& tr) { using FT = typename Tr::Geom_traits::FT; - auto sql = tr.geom_traits().compute_squared_length_3_object(); const FT sq_max = squared_upper_size_bound(e, sizing, tr); - const FT sqlen = sql(tr.segment(e)); + const FT sqlen = squared_edge_length(e, tr); if (sqlen > sq_max) return sqlen; @@ -1016,7 +1022,7 @@ is_too_short(const typename Tr::Edge& e, auto sql = tr.geom_traits().compute_squared_length_3_object(); const FT sq_min = squared_lower_size_bound(e, sizing, tr); - const FT sqlen = sql(tr.segment(e)); + const FT sqlen = squared_edge_length(e, tr); if (sqlen < sq_min) return sqlen;