review round 6 Mael (ref manual 1st part)

This commit is contained in:
Jane Tournois 2025-06-12 13:53:34 +02:00
parent 0aa7d00247
commit 8ebfd91d8e
6 changed files with 32 additions and 24 deletions

View File

@ -25,11 +25,11 @@
\cgalPkgSummaryBegin \cgalPkgSummaryBegin
\cgalPkgAuthors{Laurent Rineau and Jane Tournois} \cgalPkgAuthors{Laurent Rineau and Jane Tournois}
\cgalPkgDesc{This package implements the construction of a 3D Constrained Delaunay triangulation, \cgalPkgDesc{This package implements the construction of a 3D Constrained Delaunay triangulation.
conforming to the set of faces of a 3D Piecewise Linear Complex. This triangulation is a generalization of a 3D Delaunay Triangulation which conforms to the set of faces
The algorithm builds such a triangulation. The constrained triangulation does not always exist, of a 3D Piecewise Linear Complex (PLC), ensuring that these faces are part of the triangulation.
and it may be necessary As not all PLCs are tetrahedralizable,
to add Steiner points to the PLC to make it tetrahedralizable. the algorithm may insert Steiner points to construct the constrained triangulation.
} }
\cgalPkgManuals{Chapter_CT_3,PkgConstrainedTriangulation3Ref} \cgalPkgManuals{Chapter_CT_3,PkgConstrainedTriangulation3Ref}
\cgalPkgSummaryEnd \cgalPkgSummaryEnd
@ -58,6 +58,7 @@ to add Steiner points to the PLC to make it tetrahedralizable.
- \link PkgConstrainedTriangulation3FunctionsPolygonSoupOrMesh `CGAL::make_conforming_constrained_Delaunay_triangulation_3()` \endlink: the main function to create - \link PkgConstrainedTriangulation3FunctionsPolygonSoupOrMesh `CGAL::make_conforming_constrained_Delaunay_triangulation_3()` \endlink: the main function to create
a conforming constrained Delaunay triangulation in 3D, an instance of the class template a conforming constrained Delaunay triangulation in 3D, an instance of the class template
`CGAL::Conforming_constrained_Delaunay_triangulation_3`. `CGAL::Conforming_constrained_Delaunay_triangulation_3`.
- `CGAL::Tetrahedral_remeshing::get_remeshing_triangulation()`
\cgalCRPSubsection{Classes} \cgalCRPSubsection{Classes}
@ -67,10 +68,10 @@ a conforming constrained Delaunay triangulation in 3D, an instance of the class
\cgalCRPSection{Draw a 3D Constrained Triangulation} \cgalCRPSection{Draw a 3D Constrained Triangulation}
- \link PkgDrawCDT_3 CGAL::draw() \endlink - \link PkgDrawCDT_3 `CGAL::draw()` \endlink
\cgalCRPSection{Output Functions} \cgalCRPSection{Output Functions}
- \link PkgCDT3IOFunctions CGAL::IO::write_MEDIT() \endlink - \link PkgCDT3IOFunctions `CGAL::IO::write_MEDIT()` \endlink
*/ */

View File

@ -568,13 +568,11 @@ private:
public: public:
using Vertex_handle = typename Triangulation::Vertex_handle; using Vertex_handle = typename Triangulation::Vertex_handle;
#ifdef DOXYGEN_RUNNING #ifndef DOXYGEN_RUNNING
using Constrained_polyline_id = unspecified_type;
#else
using Constrained_polyline_id = typename CDT_3_impl::Constrained_polyline_id; using Constrained_polyline_id = typename CDT_3_impl::Constrained_polyline_id;
#endif // not DOXYGEN_RUNNING #endif // not DOXYGEN_RUNNING
using size_type = typename Triangulation::size_type; using size_type = typename Triangulation::size_type;
s
public: public:
/** \name Constructors /** \name Constructors
@{ @{
@ -594,7 +592,7 @@ public:
// ----------------------- // -----------------------
/*! /*!
* \brief %default constructor. * \brief %Default constructor.
* *
* This constructor initializes an empty `Conforming_constrained_Delaunay_triangulation_3` object. * This constructor initializes an empty `Conforming_constrained_Delaunay_triangulation_3` object.
*/ */
@ -4037,7 +4035,10 @@ namespace Tetrahedral_remeshing {
* \cgalNamedParamsBegin * \cgalNamedParamsBegin
* \cgalParamNBegin{edge_is_constrained_map} * \cgalParamNBegin{edge_is_constrained_map}
* \cgalParamDescription{a property map containing the constrained-or-not status of each edge `e` of * \cgalParamDescription{a property map containing the constrained-or-not status of each edge `e` of
* `ccdt.triangulation()`. Sets if the edge `e` is at the border of a polygonal constraint.} * `ccdt.triangulation()`.
* If the edge `e` is at the boundary of an input polygonal constraint,
* then the corresponding value in the property map is `true`.
* Otherwise, the value is `false`.}
* \cgalParamType{a class model of `ReadWritePropertyMap` * \cgalParamType{a class model of `ReadWritePropertyMap`
* with `std::pair<Vertex_handle, Vertex_handle>` (where `Vertex_handle` is the vertex handle type of `ccdt.triangulation()`) * with `std::pair<Vertex_handle, Vertex_handle>` (where `Vertex_handle` is the vertex handle type of `ccdt.triangulation()`)
* as key type and `bool` as value type. * as key type and `bool` as value type.

View File

@ -21,9 +21,6 @@ namespace CGAL {
/** /**
* @ingroup PkgConstrainedTriangulation3Classes * @ingroup PkgConstrainedTriangulation3Classes
* \brief Signed integral type to store the index of constraints. * \brief Signed integral type to store the index of constraints.
* @see `Conforming_constrained_Delaunay_triangulation_cell_data_3`
* @see `Conforming_constrained_Delaunay_triangulation_vertex_base_3`
*
*/ */
using CDT_3_signed_index = int; // must be signed using CDT_3_signed_index = int; // must be signed

View File

@ -35,7 +35,13 @@ namespace IO
* *
* \cgalNamedParamsBegin * \cgalNamedParamsBegin
* \cgalParamNBegin{with_plc_face_id} * \cgalParamNBegin{with_plc_face_id}
* \cgalParamDescription{a Boolean activating the numbering of PLC face identifiers in the output} * \cgalParamDescription{a Boolean activating the numbering of PLC face identifiers in the output.
* If `ccdt` was constructed with the `plc_face_id` property map given as a named parameter,
* and this parameter is set to `true`,
* the output will contain the corresponding patch identifier for each facet of the triangulation.
* If this parameter is set to `false`, the output will not contain any patch identifier.
* If `ccdt` was not constructed with the `plc_face_id` property map, and this parameter is
* set to `true`, the output will contain a patch identifier for each facet of the triangulation.}
* \cgalParamType{Boolean} * \cgalParamType{Boolean}
* \cgalParamDefault{`false`} * \cgalParamDefault{`false`}
* \cgalParamNEnd * \cgalParamNEnd

View File

@ -22,14 +22,15 @@ namespace CGAL {
/*! /*!
\ingroup PkgDrawCDT_3 \ingroup PkgDrawCDT_3
opens a new window and draws the constrained triangulation. opens a new `CGAL::Qt::Basic_viewer` window and draws the constrained triangulation.
A call to this function blocks the execution of the program until the drawing window is closed. This function requires `CGAL_Qt6`, and is only available if the macro `CGAL_USE_BASIC_VIEWER` is defined. A call to this function blocks the execution of the program until the drawing window is closed. This function requires `CGAL_Qt6`,
and is only available if the macro `CGAL_USE_BASIC_VIEWER` is defined.
Linking with the cmake target `CGAL::CGAL_Basic_viewer` will link with `CGAL_Qt6` and add the definition `CGAL_USE_BASIC_VIEWER`. Linking with the cmake target `CGAL::CGAL_Basic_viewer` will link with `CGAL_Qt6` and add the definition `CGAL_USE_BASIC_VIEWER`.
*/ */
template <typename Traits, typename Tr> template <typename Traits, typename Tr>
void draw(const Conforming_constrained_Delaunay_triangulation_3<Traits, Tr>& ccdt, void draw(const Conforming_constrained_Delaunay_triangulation_3<Traits, Tr>& ccdt,
const char *title="Constrained 3D Triangulation Basic Viewer") const char *title="3D Constrained Triangulation")
{ {
using Tr_ = CGAL::cpp20::remove_cvref_t<decltype(ccdt.triangulation())>; using Tr_ = CGAL::cpp20::remove_cvref_t<decltype(ccdt.triangulation())>;
using Vertex_handle = typename Tr_::Vertex_handle; using Vertex_handle = typename Tr_::Vertex_handle;
@ -74,7 +75,7 @@ A shortcut to \link PkgDrawTriangulation3 `CGAL::draw(ccdt.triangulation(), gs_o
template <typename Traits, typename Tr, typename GSOptions> template <typename Traits, typename Tr, typename GSOptions>
void draw(const Conforming_constrained_Delaunay_triangulation_3<Traits, Tr>& ccdt, void draw(const Conforming_constrained_Delaunay_triangulation_3<Traits, Tr>& ccdt,
const GSOptions& gs_options, const GSOptions& gs_options,
const char *title="Constrained 3D Triangulation Basic Viewer") const char *title="3D Constrained Triangulation")
{ {
draw(ccdt.triangulation(), gs_options, title); draw(ccdt.triangulation(), gs_options, title);
} }

View File

@ -115,7 +115,7 @@ namespace CGAL {
* \cgalParamDescription{a property map associating a patch identifier to each facet of `mesh`. * \cgalParamDescription{a property map associating a patch identifier to each facet of `mesh`.
* Each identifier corresponds to a planar surface patch. Each surface * Each identifier corresponds to a planar surface patch. Each surface
* patch can be composed of several facets of `mesh`, forming a planar polygon.} * patch can be composed of several facets of `mesh`, forming a planar polygon.}
* \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits<PolygonMesh>::%face_descriptor` * \cgalParamType{a class model of `ReadablePropertyMap` with `boost::graph_traits<PolygonMesh>::%face_descriptor`
* as key type and with any value type that is a *regular* type (model of `Regular`)} * as key type and with any value type that is a *regular* type (model of `Regular`)}
* \cgalParamExtra{If this parameter is omitted, each facet of `mesh` is considered a separate patch. * \cgalParamExtra{If this parameter is omitted, each facet of `mesh` is considered a separate patch.
* Faces with the same patch identifier are considered part of the same surface patch.} * Faces with the same patch identifier are considered part of the same surface patch.}
@ -183,7 +183,9 @@ auto make_conforming_constrained_Delaunay_triangulation_3(const PolygonMesh &mes
* *
* \cgalParamNBegin{point_map} * \cgalParamNBegin{point_map}
* \cgalParamDescription{a property map associating points to the elements of the range `points`} * \cgalParamDescription{a property map associating points to the elements of the range `points`}
* \cgalParamType{a model of `ReadablePropertyMap` whose value type is convertible to the point type of the traits class} * \cgalParamType{a model of `ReadablePropertyMap` whose
* key type is the value type of `PointRange`, and
* value type is convertible to the point type of the geometric traits class}
* \cgalParamDefault{`CGAL::Identity_property_map`} * \cgalParamDefault{`CGAL::Identity_property_map`}
* \cgalParamNEnd * \cgalParamNEnd
* *
@ -191,7 +193,7 @@ auto make_conforming_constrained_Delaunay_triangulation_3(const PolygonMesh &mes
* \cgalParamDescription{a property map associating a patch identifier to each facet of `soup`. * \cgalParamDescription{a property map associating a patch identifier to each facet of `soup`.
* Each identifier corresponds to a planar surface patch. Each surface * Each identifier corresponds to a planar surface patch. Each surface
* patch can be composed of several faces of `soup`, forming a planar polygon.} * patch can be composed of several faces of `soup`, forming a planar polygon.}
* \cgalParamType{a class model of `ReadWritePropertyMap` with `std::size_t` * \cgalParamType{a class model of `ReadablePropertyMap` with `std::size_t`
* as key type and with any value type that is a *regular* type (model of `Regular`)} * as key type and with any value type that is a *regular* type (model of `Regular`)}
* \cgalParamExtra{If this parameter is omitted, each facet of the polygon soup is considered a separate patch.} * \cgalParamExtra{If this parameter is omitted, each facet of the polygon soup is considered a separate patch.}
* \cgalParamExtra{Otherwise facets with the same patch identifier are considered part of the same surface patch.} * \cgalParamExtra{Otherwise facets with the same patch identifier are considered part of the same surface patch.}