use only const ref to sizing function

This commit is contained in:
Jane Tournois 2023-11-03 16:54:35 +01:00
parent 778cd85965
commit e96b1802c2
2 changed files with 5 additions and 43 deletions

View File

@ -30,8 +30,6 @@
#include <CGAL/Tetrahedral_remeshing/internal/tetrahedral_remeshing_helpers.h> #include <CGAL/Tetrahedral_remeshing/internal/tetrahedral_remeshing_helpers.h>
#include <CGAL/Tetrahedral_remeshing/internal/compute_c3t3_statistics.h> #include <CGAL/Tetrahedral_remeshing/internal/compute_c3t3_statistics.h>
#include <CGAL/Mesh_3/Mesh_sizing_field.h>
#include <optional> #include <optional>
namespace CGAL namespace CGAL
@ -103,7 +101,7 @@ class Adaptive_remesher
private: private:
C3t3 m_c3t3; C3t3 m_c3t3;
SizingFunction& m_sizing; const SizingFunction& m_sizing;
const bool m_protect_boundaries; const bool m_protect_boundaries;
CellSelector m_cell_selector; CellSelector m_cell_selector;
Visitor& m_visitor; Visitor& m_visitor;
@ -114,7 +112,7 @@ private:
public: public:
Adaptive_remesher(Triangulation& tr Adaptive_remesher(Triangulation& tr
, SizingFunction& sizing , const SizingFunction& sizing
, const bool protect_boundaries , const bool protect_boundaries
, EdgeIsConstrainedMap ecmap , EdgeIsConstrainedMap ecmap
, FacetIsConstrainedMap fcmap , FacetIsConstrainedMap fcmap
@ -143,7 +141,7 @@ public:
} }
Adaptive_remesher(C3t3& c3t3 Adaptive_remesher(C3t3& c3t3
, SizingFunction& sizing , const SizingFunction& sizing
, const bool protect_boundaries , const bool protect_boundaries
, EdgeIsConstrainedMap ecmap , EdgeIsConstrainedMap ecmap
, FacetIsConstrainedMap fcmap , FacetIsConstrainedMap fcmap
@ -176,12 +174,6 @@ public:
return m_c3t3_pbackup != NULL; return m_c3t3_pbackup != NULL;
} }
void update_adaptive_mode()
{
Update_sizing_field<SizingFunction, Tr> update;
update(m_sizing, tr());
}
void split() void split()
{ {
CGAL_assertion(check_vertex_dimensions()); CGAL_assertion(check_vertex_dimensions());

View File

@ -198,7 +198,7 @@ template<typename Traits, typename TDS, typename SLDS,
typename NamedParameters> typename NamedParameters>
void tetrahedral_isotropic_remeshing( void tetrahedral_isotropic_remeshing(
CGAL::Triangulation_3<Traits, TDS, SLDS>& tr, CGAL::Triangulation_3<Traits, TDS, SLDS>& tr,
SizingFunction& sizing, const SizingFunction& sizing,
const NamedParameters& np) const NamedParameters& np)
{ {
CGAL_assertion(tr.is_valid()); CGAL_assertion(tr.is_valid());
@ -254,10 +254,6 @@ void tetrahedral_isotropic_remeshing(
, cell_select , cell_select
, visitor); , visitor);
bool adaptive = choose_parameter(get_parameter(np, internal_np::adaptive_sizing_field), false);
if(adaptive)
remesher.update_adaptive_mode();
#ifdef CGAL_TETRAHEDRAL_REMESHING_VERBOSE #ifdef CGAL_TETRAHEDRAL_REMESHING_VERBOSE
std::cout << "done." << std::endl; std::cout << "done." << std::endl;
#endif #endif
@ -369,7 +365,7 @@ template<typename Tr,
typename NamedParameters = parameters::Default_named_parameters> typename NamedParameters = parameters::Default_named_parameters>
void tetrahedral_isotropic_remeshing( void tetrahedral_isotropic_remeshing(
CGAL::Mesh_complex_3_in_triangulation_3<Tr, CornerIndex, CurveIndex>& c3t3, CGAL::Mesh_complex_3_in_triangulation_3<Tr, CornerIndex, CurveIndex>& c3t3,
SizingFunction& sizing, const SizingFunction& sizing,
const NamedParameters& np = parameters::default_values()) const NamedParameters& np = parameters::default_values())
{ {
CGAL_assertion(c3t3.triangulation().tds().is_valid()); CGAL_assertion(c3t3.triangulation().tds().is_valid());
@ -447,32 +443,6 @@ void tetrahedral_isotropic_remeshing(
#endif #endif
} }
/*!
* \ingroup PkgTetrahedralRemeshingRef
* remeshes a tetrahedral mesh with an adaptive si
*/
template<typename Traits, typename TDS, typename SLDS,
typename NamedParameters = parameters::Default_named_parameters>
void tetrahedral_adaptive_remeshing(
CGAL::Triangulation_3<Traits, TDS, SLDS>& tr,
const NamedParameters& np = parameters::default_values())
{
using Tr = CGAL::Triangulation_3<Traits, TDS, SLDS>;
CGAL::Mesh_3::Mesh_sizing_field<Tr> sizing(tr);
tetrahedral_isotropic_remeshing(tr, sizing, np.adaptive_sizing_field(true));
}
template<typename Tr,
typename CornerIndex, typename CurveIndex,
typename NamedParameters = parameters::Default_named_parameters>
void tetrahedral_adaptive_remeshing(
CGAL::Mesh_complex_3_in_triangulation_3<Tr, CornerIndex, CurveIndex>& c3t3,
const NamedParameters& np = parameters::default_values())
{
CGAL::Mesh_3::Mesh_sizing_field<Tr> sizing(c3t3.triangulation());
tetrahedral_isotropic_remeshing(c3t3, sizing, np.adaptive_sizing_field(true));
}
}//end namespace CGAL }//end namespace CGAL
#endif //TETRAHEDRAL_REMESHING_H #endif //TETRAHEDRAL_REMESHING_H