CGAL 5.6 - 3D Mesh Generation
CGAL::Sizing_field_with_aabb_tree< GeomTraits, MeshDomain > Struct Template Reference

#include <CGAL/Sizing_field_with_aabb_tree.h>

Definition

The class Sizing_field_with_aabb_tree is a model of concept MeshDomainField_3.

It provides a sizing field to be used in the meshing process of a polyhedral surface with features.

At each query point p, the field value is the minimum of the distances to

  • the surface patches p does not belong to, and
  • for each curve C it does belong to, the intersection points of C with the plane orthogonal to C and passing through p.

This sizing field is designed to be used for the edges of the mesh complex, in Mesh_edge_criteria_3 or as edge_size in Mesh_criteria_3. Using this sizing field for complex edges provides a high-quality hint to the protecting balls placement algorithm, since it ensures that no protecting ball will intersect a surface patch to which the corresponding vertex does not belong.

Template Parameters
GeomTraitsis the geometric traits class. It must match the type Triangulation::Geom_traits, where Triangulation is the nested type of the model of MeshComplex_3InTriangulation_3 used in the meshing process.
MeshDomainis the type of the domain. It must be a model of MeshDomainWithFeatures_3, and derive from CGAL::Polyhedral_mesh_domain_with_features_3
Is Model Of:
MeshDomainField_3
Examples:
Mesh_3/mesh_polyhedral_domain_with_features_sizing.cpp.

Classes

struct  Face_ids_traversal_traits
 

Public Types

using FT = typename GeomTraits::FT
 
using Point_3 = typename GeomTraits::Point_3
 
using Index = typename MeshDomain::Index
 

Creation

 Sizing_field_with_aabb_tree (const FT &d, const MeshDomain &domain)
 Constructor for the sizing field. More...
 

Operations

double operator() (const Point_3 &p, const int dim, const Index &id) const
 returns the value of the sizing field at the point p, assumed to be included in the input complex feature with dimension dimension and mesh subcomplex index id.
 

Constructor & Destructor Documentation

◆ Sizing_field_with_aabb_tree()

template<typename GeomTraits , typename MeshDomain >
CGAL::Sizing_field_with_aabb_tree< GeomTraits, MeshDomain >::Sizing_field_with_aabb_tree ( const FT d,
const MeshDomain &  domain 
)

Constructor for the sizing field.

Parameters
dthe maximal value returned by operator(), corresponding to an upper bound on feature edge lengths in the output mesh.
domainthe mesh domain to be meshed