CGAL 6.1 - Poisson Surface Reconstruction

Loading...
Searching...
No Matches
List of all members | Public Types | Public Member Functions | Public Attributes
CGAL::Poisson_mesh_domain_3< BGT > Class Template Reference
Reference Manual

`#include <CGAL/Poisson_mesh_domain_3.h>`

## Definition

template<class BGT>
class CGAL::Poisson_mesh_domain_3< BGT >

The class `Poisson_mesh_domain_3` derives from `Labeled_mesh_domain_3` for the handling of `Poisson_reconstruction_function`.

This class has a constructor taking a labeling function. It has also a static template member function that acts as named constructor:

- `create_Poisson_mesh_domain()`, to create a domain from a `Poisson_reconstruction_function`

Template Parameters

  BGT | is a geometric traits class that provides the basic operations to implement intersection tests and intersection computations through a bisection method. This parameter must be instantiated with a model of the concept `BisectionGeometricTraits_3`.

Is model of
  `MeshDomain_3`

See also
  `CGAL::Labeled_mesh_domain_3`
  `CGAL::make_mesh_3()`

Examples
  Poisson_surface_reconstruction_3/poisson_reconstruction_example.cpp.

## Public Types
using | Base = Labeled_mesh_domain_3< BGT >
typedef Base::Subdomain | Subdomain
typedef Base::Subdomain_index | Subdomain_index
typedef Base::Surface_patch_index | Surface_patch_index
typedef Base::Intersection | Intersection
typedef std::optional< Surface_patch_index > | Surface_patch
typedef CGAL::Mesh_3::internal::Index_generator< Subdomain_index, Surface_patch_index >::Index | Index

## Public Member Functions
Construct_intersection | construct_intersection_object () const

## Public Attributes
Function | poisson_function

## Types imported from the geometric traits class
typedef Geom_traits::Point_3 | Point_3
typedef Geom_traits::Sphere_3 | Sphere_3
| The sphere type of the geometric traits class.
typedef Geom_traits::Iso_cuboid_3 | Iso_cuboid_3
| The iso-cuboid type of the geometric traits class.
typedef CGAL::Bbox_3 | Bbox_3
| The bounding box type.
typedef Geom_traits::FT | FT
| The number type (a field type) of the geometric traits class.
typedef Geom_traits::Ray_3 | Ray_3
| The ray type of the geometric traits class.
typedef Geom_traits::Line_3 | Line_3
| The line type of the geometric traits class.
typedef Geom_traits::Segment_3 | Segment_3
| The segment type of the geometric traits class.
typedef CGAL::Poisson_reconstruction_function< Geom_traits > | Function
| The Poisson function type.

## Creation
template<typename Bounding_object , typename NamedParameters = CGAL::parameters::Default_named_parameters>
| Poisson_mesh_domain_3 (const Function &function, const Bounding_object &bounding_object, const NamedParameters &np=parameters::default_values())
| Construction from a function, a bounding object and a relative error bound.
template<typename NamedParameters = CGAL::parameters::Default_named_parameters>
| Poisson_mesh_domain_3 (const Function &function, const NamedParameters &np=parameters::default_values())
| Construction from a function, a bounding object and a relative error bound.

## Creation of domains from Poisson implicit functions
template<typename Bounding_object , typename NamedParameters = CGAL::parameters::Default_named_parameters>
static Poisson_mesh_domain_3 | create_Poisson_mesh_domain (const Function &function, const Bounding_object &bounding_object, const NamedParameters &np=parameters::default_values())
| Construction from a Poisson implicit function.

## Member Typedef Documentation

## ◆ Point_3

template<class BGT >

typedef Geom_traits::Point_3 CGAL::Poisson_mesh_domain_3< BGT >::Point_3

The point type of the geometric traits class

## Constructor & Destructor Documentation

## ◆ Poisson_mesh_domain_3() [1/2]

template<class BGT >
template<typename Bounding_object , typename NamedParameters = CGAL::parameters::Default_named_parameters>

CGAL::Poisson_mesh_domain_3< BGT >::Poisson_mesh_domain_3 | ( | const Function & | function,
|  | const Bounding_object & | bounding_object,
|  | const NamedParameters & | np = `parameters::default_values()`
| ) |  |

Construction from a function, a bounding object and a relative error bound.

Template Parameters

  Bounding_object | either a bounding sphere (of type `Sphere_3`), a bounding box (type `Bbox_3`), or a bounding `Iso_cuboid_3`
  NamedParameters | a sequence of Named Parameters

Parameters

  function | the Poisson reconstruction function
  bounding_object | the bounding object bounding the meshable space.
  np | an optional sequence of Named Parameters among the ones listed below:

Optional Named Parameters

  the relative error bound used to compute intersection points between the implicit surface and query segments. The bisection is stopped when the length of the intersected segment is less than the product of `relative_error_bound` by the diameter of the bounding object. Default: FT(1e-3) |

## ◆ Poisson_mesh_domain_3() [2/2]

template<class BGT >
template<typename NamedParameters = CGAL::parameters::Default_named_parameters>

CGAL::Poisson_mesh_domain_3< BGT >::Poisson_mesh_domain_3 | ( | const Function & | function,
|  | const NamedParameters & | np = `parameters::default_values()`
| ) |  |

Construction from a function, a bounding object and a relative error bound.

Template Parameters

  NamedParameters | a sequence of Named Parameters

Parameters

  function | the Poisson reconstruction function
  np | an optional sequence of Named Parameters among the ones listed below:

Optional Named Parameters

  the relative error bound used to compute intersection points between the implicit surface and query segments. The bisection is stopped when the length of the intersected segment is less than the product of `relative_error_bound` by the diameter of the bounding object. Default: FT(1e-3) |

## Member Function Documentation

## ◆ create_Poisson_mesh_domain()

template<class BGT >
template<typename Bounding_object , typename NamedParameters = CGAL::parameters::Default_named_parameters>

static Poisson_mesh_domain_3 CGAL::Poisson_mesh_domain_3< BGT >::create_Poisson_mesh_domain | ( | const Function & | function,
|  | const Bounding_object & | bounding_object,
|  | const NamedParameters & | np = `parameters::default_values()`
| ) |  |
| static

Construction from a Poisson implicit function.

This static method is a named constructor. It constructs a domain whose bounding surface is described implicitly as the zero level set of a function. The domain to be discretized is assumed to be the domain where the function has negative values.

Template Parameters

  NamedParameters | a sequence of Named Parameters
  Bounding_object | either a bounding sphere (of type `Sphere_3`), a bounding box (type `Bbox_3`), or a bounding `Iso_cuboid_3` which is required to circumscribe the surface and to have its center inside the domain.

Parameters

  function | the Poisson reconstruction function
  bounding_object | object bounding the meshable domain and its center is inside the domain.
  np | an optional sequence of Named Parameters among the ones listed below:

Optional Named Parameters

  is the relative error bound, relative to the diameter of the box of the image. Default: FT(1e-3) |