CGAL 6.0 - Polygon Mesh Processing
Loading...
Searching...
No Matches
CGAL::Polygon_mesh_processing::Uniform_sizing_field< PolygonMesh, VPMap > Class Template Reference

#include <CGAL/Polygon_mesh_processing/Uniform_sizing_field.h>

Definition

template<class PolygonMesh, class VPMap = typename boost::property_map<PolygonMesh, CGAL::vertex_point_t>::const_type>
class CGAL::Polygon_mesh_processing::Uniform_sizing_field< PolygonMesh, VPMap >

a sizing field describing a uniform target edge length for CGAL::Polygon_mesh_processing::isotropic_remeshing().

Edges longer than 4/3 of the target edge length will be split in half, while edges shorter than 4/5 of the target edge length will be collapsed.

Is model of
PMPSizingField
See also
isotropic_remeshing()
Adaptive_sizing_field
Template Parameters
PolygonMeshmodel of MutableFaceGraph that has an internal property map for CGAL::vertex_point_t.
VPMapproperty map associating points to the vertices of pmesh, model of ReadWritePropertyMap with boost::graph_traits<PolygonMesh>::vertex_descriptor as key type and Point_3 as value type. Default is boost::get(CGAL::vertex_point, pmesh).

Public Types

typedef Base::FT FT
 
typedef Base::Point_3 Point_3
 
typedef Base::halfedge_descriptor halfedge_descriptor
 
typedef Base::vertex_descriptor vertex_descriptor
 

Public Member Functions

FT at (const vertex_descriptor, const PolygonMesh &) const
 
std::optional< FT > is_too_long (const vertex_descriptor va, const vertex_descriptor vb, const PolygonMesh &) const
 
std::optional< FT > is_too_short (const halfedge_descriptor h, const PolygonMesh &pmesh) const
 
Point_3 split_placement (const halfedge_descriptor h, const PolygonMesh &pmesh) const
 
void register_split_vertex (const vertex_descriptor, const PolygonMesh &)
 

Creation

 Uniform_sizing_field (const FT size, const VPMap &vpmap)
 Constructor.
 
 Uniform_sizing_field (const FT size, const PolygonMesh &pmesh)
 Constructor using internal vertex point map of the input polygon mesh.
 

Constructor & Destructor Documentation

◆ Uniform_sizing_field() [1/2]

template<class PolygonMesh , class VPMap = typename boost::property_map<PolygonMesh, CGAL::vertex_point_t>::const_type>
CGAL::Polygon_mesh_processing::Uniform_sizing_field< PolygonMesh, VPMap >::Uniform_sizing_field ( const FT  size,
const VPMap &  vpmap 
)

Constructor.

Parameters
sizethe target edge length for isotropic remeshing. If set to 0, the criterion for edge length is ignored and edges are neither split nor collapsed.
vpmapis the input vertex point map that associates points to the vertices of the input mesh.

◆ Uniform_sizing_field() [2/2]

template<class PolygonMesh , class VPMap = typename boost::property_map<PolygonMesh, CGAL::vertex_point_t>::const_type>
CGAL::Polygon_mesh_processing::Uniform_sizing_field< PolygonMesh, VPMap >::Uniform_sizing_field ( const FT  size,
const PolygonMesh &  pmesh 
)

Constructor using internal vertex point map of the input polygon mesh.

Parameters
sizethe target edge length for isotropic remeshing. If set to 0, the criterion for edge length is ignored and edges are neither split nor collapsed.
pmesha polygon mesh with triangulated surface patches to be remeshed. The default vertex point map of pmesh is used to construct the class.