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 { namespace CGAL {
///! /*!
//\ingroup PkgMesh3Domains \ingroup PkgMesh3Domains
//
//\brief The class `Poisson_mesh_domain_3` derives from `Labeled_mesh_domain_3` for the handling of `Poisson_reconstruction_function`. \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 This class has a constructor taking a labeling function. It has also a static template member
// function that acts as named constructor: function that acts as named constructor:
// <ul><li>`create_Poisson_mesh_domain()`, to create a domain from a `Poisson_reconstruction_function`</ ul> <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 \tparam BGT is a geometric traits class that provides
// the basic operations to implement intersection tests and intersection computations through a bisection 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`. method.This parameter must be instantiated with a model of the concept `BisectionGeometricTraits_3`.
//
// This class is a model of concept `MeshDomain_3`. This class is a model of concept `MeshDomain_3`.
//\cgalModels{MeshDomain_3} \cgalModels{MeshDomain_3}
//
//\sa `CGAL::Labeled_mesh_domain_3` \sa `CGAL::Labeled_mesh_domain_3`
//\sa `CGAL::make_mesh_3()` \sa `CGAL::make_mesh_3()`
// */
///
template<class BGT, template<class BGT,
class Subdomain_index_ = int, class Subdomain_index_ = int,
class Surface_patch_index_ = std::pair<Subdomain_index_, class Surface_patch_index_ = std::pair<Subdomain_index_,
@ -114,27 +113,27 @@ public:
Function poisson_function; Function poisson_function;
/// \name Creation /// \name Creation
/// @{ /// @{
///! \brief Construction from a function, a bounding object and a relative error bound. /*! \brief Construction from a function, a bounding object and a relative error bound.
// *
// \tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" * \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`), * \tparam Bounding_object either a bounding sphere (of type `Sphere_3`), a bounding box (type `Bbox_3`),
// or a bounding `Iso_cuboid_3` * or a bounding `Iso_cuboid_3`
// *
// \param function the Poisson reconstruction function * \param function the Poisson reconstruction function
// \param bounding_object the bounding object bounding the meshable space. * \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: * \param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below:
// *
// \cgalNamedParamsBegin * \cgalNamedParamsBegin
// \cgalParamNBegin{relative_error_bound} * \cgalParamNBegin{relative_error_bound}
// \cgalParamDescription{the relative error bound used to compute intersection points between the implicit surface and query segments. * \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 * 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.} * of `relative_error_bound` by the diameter of the bounding object.}
// \cgalParamDefault{FT(1e-3)} * \cgalParamDefault{FT(1e-3)}
// \cgalParamNEnd * \cgalParamNEnd
// \cgalNamedParamsEnd * \cgalNamedParamsEnd
/// */
template<typename Bounding_object, typename CGAL_NP_TEMPLATE_PARAMETERS> template<typename Bounding_object, typename CGAL_NP_TEMPLATE_PARAMETERS>
Poisson_mesh_domain_3(const Function& function, Poisson_mesh_domain_3(const Function& function,
const Bounding_object& bounding_object, const Bounding_object& bounding_object,
@ -171,35 +170,33 @@ public:
/// \name Creation of domains from Poisson implicit functions /// \name Creation of domains from Poisson implicit functions
/// @{ /// @{
/*! \brief Construction from a Poisson implicit function
///! *
// \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
// This static method is a <em>named constructor</em>. It constructs a domain * function. The domain to be discretized is assumed to be the domain where
// whose bounding surface is described implicitly as the zero level set of a * the function has negative values.
// 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.
// 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`),
// \tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" * or a bounding `Iso_cuboid_3`
// \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 function the Poisson reconstruction function * \param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below:
// \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}
// \cgalNamedParamsBegin * \cgalParamDescription{ is the relative error
// \cgalParamNBegin{relative_error_bound} * bound, relative to the diameter of the box of the image.}
// \cgalParamDescription{ is the relative error * \cgalParamDefault{FT(1e-3)}
// bound, relative to the diameter of the box of the image.} * \cgalParamNEnd
// \cgalParamDefault{FT(1e-3)} * \cgalNamedParamsEnd
// \cgalParamNEnd *
// \cgalNamedParamsEnd */
//
///
template<typename Bounding_object, typename CGAL_NP_TEMPLATE_PARAMETERS> template<typename Bounding_object, typename CGAL_NP_TEMPLATE_PARAMETERS>
static Poisson_mesh_domain_3 create_Poisson_mesh_domain(const Function& function, static Poisson_mesh_domain_3 create_Poisson_mesh_domain(const Function& function,
const Bounding_object& bounding_object, const Bounding_object& bounding_object,