mirror of https://github.com/CGAL/cgal
use only const ref to sizing function
This commit is contained in:
parent
778cd85965
commit
e96b1802c2
|
|
@ -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());
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue