CGAL 6.2 - 3D Mesh Generation

Loading...
Searching...
No Matches
List of all members
CGAL::Sizing_field_with_aabb_tree< GT, MeshDomain > Struct Template Reference
Reference Manual » Mesh Domain Fields

`#include <CGAL/Sizing_field_with_aabb_tree.h>`

## Definition

template<typename GT, typename MeshDomain>
struct CGAL::Sizing_field_with_aabb_tree< GT, MeshDomain >

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

  GT | is 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.
  MeshDomain | is 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.

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

## 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 GT , typename MeshDomain >

CGAL::Sizing_field_with_aabb_tree< GT, MeshDomain >::Sizing_field_with_aabb_tree | ( | const FT & | d,
|  | const MeshDomain & | domain
| ) |  |

Constructor for the sizing field.

Parameters

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

## Member Function Documentation

## ◆ operator()()

template<typename GT , typename MeshDomain >

double CGAL::Sizing_field_with_aabb_tree< GT, MeshDomain >::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`.