moving Poisson_mesh_domain_3 to Poisson reconstruction package

This commit is contained in:
Sven Oesau 2025-03-05 11:22:11 +01:00
parent 5a4e42c0ab
commit 45d2053a7d
1 changed files with 66 additions and 69 deletions

View File

@ -25,26 +25,25 @@
namespace CGAL {
///!
//\ingroup PkgMesh3Domains
//
//\brief 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:
// <ul><li>`create_Poisson_mesh_domain()`, to create a domain from a `Poisson_reconstruction_function`</ ul>
//
//\tparam 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`.
//
// This class is a model of concept `MeshDomain_3`.
//\cgalModels{MeshDomain_3}
//
//\sa `CGAL::Labeled_mesh_domain_3`
//\sa `CGAL::make_mesh_3()`
//
///
/*!
\ingroup PkgMesh3Domains
\brief 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:
<ul><li>`create_Poisson_mesh_domain()`, to create a domain from a `Poisson_reconstruction_function`</ ul>
\tparam 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`.
This class is a model of concept `MeshDomain_3`.
\cgalModels{MeshDomain_3}
\sa `CGAL::Labeled_mesh_domain_3`
\sa `CGAL::make_mesh_3()`
*/
template<class BGT,
class Subdomain_index_ = int,
class Surface_patch_index_ = std::pair<Subdomain_index_,
@ -114,27 +113,27 @@ public:
Function poisson_function;
/// \name Creation
/// \name Creation
/// @{
///! \brief Construction from a function, a bounding object and a relative error bound.
//
// \tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters"
// \tparam Bounding_object either a bounding sphere (of type `Sphere_3`), a bounding box (type `Bbox_3`),
// or a bounding `Iso_cuboid_3`
//
// \param function the Poisson reconstruction function
// \param bounding_object the bounding object bounding the meshable space.
// \param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below:
//
// \cgalNamedParamsBegin
// \cgalParamNBegin{relative_error_bound}
// \cgalParamDescription{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.}
// \cgalParamDefault{FT(1e-3)}
// \cgalParamNEnd
// \cgalNamedParamsEnd
///
/*! \brief Construction from a function, a bounding object and a relative error bound.
*
* \tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters"
* \tparam Bounding_object either a bounding sphere (of type `Sphere_3`), a bounding box (type `Bbox_3`),
* or a bounding `Iso_cuboid_3`
*
* \param function the Poisson reconstruction function
* \param bounding_object the bounding object bounding the meshable space.
* \param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below:
*
* \cgalNamedParamsBegin
* \cgalParamNBegin{relative_error_bound}
* \cgalParamDescription{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.}
* \cgalParamDefault{FT(1e-3)}
* \cgalParamNEnd
* \cgalNamedParamsEnd
*/
template<typename Bounding_object, typename CGAL_NP_TEMPLATE_PARAMETERS>
Poisson_mesh_domain_3(const Function& function,
const Bounding_object& bounding_object,
@ -171,35 +170,33 @@ public:
/// \name Creation of domains from Poisson implicit functions
/// @{
///!
// \brief Construction from a Poisson implicit function
//
// This static method is a <em>named constructor</em>. 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.
//
// The method takes as argument a bounding sphere which is required to
// circumscribe the surface and to have its center inside the domain.
//
// \tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters"
// \tparam Bounding_object either a bounding sphere (of type `Sphere_3`), a bounding box (type `Bbox_3`),
// or a bounding `Iso_cuboid_3`
//
// \param function the Poisson reconstruction function
// \param bounding_object object boundint the meshable domain and its center is inside the domain.
// \param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below:
//
// \cgalNamedParamsBegin
// \cgalParamNBegin{relative_error_bound}
// \cgalParamDescription{ is the relative error
// bound, relative to the diameter of the box of the image.}
// \cgalParamDefault{FT(1e-3)}
// \cgalParamNEnd
// \cgalNamedParamsEnd
//
///
/*! \brief Construction from a Poisson implicit function
*
* This static method is a <em>named constructor</em>. 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.
*
* The method takes as argument a bounding sphere which is required to
* circumscribe the surface and to have its center inside the domain.
*
* \tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters"
* \tparam Bounding_object either a bounding sphere (of type `Sphere_3`), a bounding box (type `Bbox_3`),
* or a bounding `Iso_cuboid_3`
*
* \param function the Poisson reconstruction function
* \param bounding_object object boundint the meshable domain and its center is inside the domain.
* \param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below:
*
* \cgalNamedParamsBegin
* \cgalParamNBegin{relative_error_bound}
* \cgalParamDescription{ is the relative error
* bound, relative to the diameter of the box of the image.}
* \cgalParamDefault{FT(1e-3)}
* \cgalParamNEnd
* \cgalNamedParamsEnd
*
*/
template<typename Bounding_object, typename CGAL_NP_TEMPLATE_PARAMETERS>
static Poisson_mesh_domain_3 create_Poisson_mesh_domain(const Function& function,
const Bounding_object& bounding_object,