CGAL 6.1 - Polygon Mesh Processing
Loading...
Searching...
No Matches
PMPSizingField Concept Reference

Definition

The concept PMPSizingField defines the requirements for the sizing field used in CGAL::Polygon_mesh_processing::isotropic_remeshing() to define the target length for every individual edge during the remeshing process.

Has models
CGAL::Polygon_mesh_processing::Uniform_sizing_field
CGAL::Polygon_mesh_processing::Adaptive_sizing_field

Types

These types are used for the documentation of the functions of the concept and not needed implementation wise.

typedef boost::graph_traits< PolygonMesh >::vertex_descriptor vertex_descriptor
 Vertex descriptor type.
 
typedef boost::graph_traits< PolygonMesh >::halfedge_descriptor halfedge_descriptor
 Halfedge descriptor type.
 
typedef unspecified_type Point_3
 3D point type matching the value type of the vertex property map passed to CGAL::Polygon_mesh_processing::isotropic_remeshing()
 
typedef unspecified_type PolygonMesh
 Polygon mesh type matching the type passed to CGAL::Polygon_mesh_processing::isotropic_remeshing()
 
typedef unspecified_type FT
 Number type matching the FT type of the geometric traits passed to CGAL::Polygon_mesh_processing::isotropic_remeshing()
 

Functions

FT at (const vertex_descriptor v, const PolygonMesh &pmesh) const
 returns the sizing value at v (used during tangential relaxation).
 
std::optional< FTis_too_long (const vertex_descriptor va, const vertex_descriptor vb, const PolygonMesh &pmesh) const
 returns the ratio of the current edge squared length and the local target edge squared length between the points of va and vb in case the current edge is too long, and std::nullopt otherwise (used for triggering edge splits and preventing some edge collapses).
 
std::optional< FTis_too_short (const halfedge_descriptor h, const PolygonMesh &pmesh) const
 returns the ratio of the squared length of h and the local target edge squared length if it is too short, and std::nullopt otherwise (used for triggering edge collapses).
 
Point_3 split_placement (const halfedge_descriptor h, const PolygonMesh &pmesh) const
 returns the position of the new vertex created when splitting the edge of h.
 
void register_split_vertex (const vertex_descriptor v, const PolygonMesh &pmesh)
 function called after the addition of the split vertex v in pmesh.
 

Member Function Documentation

◆ register_split_vertex()

void PMPSizingField::register_split_vertex ( const vertex_descriptor  v,
const PolygonMesh pmesh 
)

function called after the addition of the split vertex v in pmesh.

This function can be used for example to update a pre-computed sizing field.