Merge pull request #4508 from MaelRL/BGL-Fix_graph_has_property_doc-GF

BGL: fix doc of graph_has_property
This commit is contained in:
Laurent Rineau 2020-02-14 14:46:29 +01:00
commit d872e134b2
3 changed files with 36 additions and 52 deletions

View File

@ -4,11 +4,6 @@ namespace boost {
/// \ingroup PkgBGLProperties /// \ingroup PkgBGLProperties
/// @{ /// @{
/// The constant `edge_index` is a property tag which identifies the <i>index</i> property of an edge of a \sc{Bgl}
/// <a href="https://www.boost.org/libs/graph/doc/Graph.html"><code>Graph</code></a>.
/// \cgalModels <a href="https://www.boost.org/libs/graph/doc/PropertyTag.html"><code>PropertyTag</code></a>
enum edge_index_t { edge_index};
/// The constant `vertex_index` is a property tag which identifies the <i>index</i> property of a vertex of a \sc{Bgl} /// The constant `vertex_index` is a property tag which identifies the <i>index</i> property of a vertex of a \sc{Bgl}
/// <a href="https://www.boost.org/libs/graph/doc/Graph.html"><code>Graph</code></a>. /// <a href="https://www.boost.org/libs/graph/doc/Graph.html"><code>Graph</code></a>.
/// \cgalModels <a href="https://www.boost.org/libs/graph/doc/PropertyTag.html"><code>PropertyTag</code></a> /// \cgalModels <a href="https://www.boost.org/libs/graph/doc/PropertyTag.html"><code>PropertyTag</code></a>
@ -20,13 +15,17 @@ enum vertex_index_t { vertex_index };
/// \cgalModels <a href="https://www.boost.org/libs/graph/doc/PropertyTag.html"><code>PropertyTag</code></a> /// \cgalModels <a href="https://www.boost.org/libs/graph/doc/PropertyTag.html"><code>PropertyTag</code></a>
enum halfedge_index_t { halfedge_index }; enum halfedge_index_t { halfedge_index };
/// The constant `edge_index` is a property tag which identifies the <i>index</i> property of an edge of a \sc{Bgl}
/// <a href="https://www.boost.org/libs/graph/doc/Graph.html"><code>Graph</code></a>.
/// \cgalModels <a href="https://www.boost.org/libs/graph/doc/PropertyTag.html"><code>PropertyTag</code></a>
enum edge_index_t { edge_index };
/// The constant `face_index` is a property tag which identifies the <i>index</i> property of a face of a `FaceGraph`. /// The constant `face_index` is a property tag which identifies the <i>index</i> property of a face of a `FaceGraph`.
/// ///
/// This is a property tag introduced by \cgal. /// This is a property tag introduced by \cgal.
/// \cgalModels <a href="https://www.boost.org/libs/graph/doc/PropertyTag.html"><code>PropertyTag</code></a> /// \cgalModels <a href="https://www.boost.org/libs/graph/doc/PropertyTag.html"><code>PropertyTag</code></a>
enum face_index_t { face_index }; enum face_index_t { face_index };
/// The constant `vertex_point` is a property tag which refers to the geometric embedding property of /// The constant `vertex_point` is a property tag which refers to the geometric embedding property of
/// a vertex of a `HalfedgeGraph`. /// a vertex of a `HalfedgeGraph`.
/// ///
@ -34,12 +33,25 @@ enum face_index_t { face_index };
/// \cgalModels <a href="https://www.boost.org/libs/graph/doc/PropertyTag.html"><code>PropertyTag</code></a> /// \cgalModels <a href="https://www.boost.org/libs/graph/doc/PropertyTag.html"><code>PropertyTag</code></a>
enum vertex_point_t { vertex_point }; enum vertex_point_t { vertex_point };
/// @} /// @}
} // namespace boost } // namespace boost
namespace CGAL { namespace CGAL {
/// \ingroup PkgBGLProperties
///
/// \brief graph_has_property is used to indicate if a model of `HalfedgeGraph` or `FaceGraph`
/// has an internal property associated with the given `PropertyTag`.
///
/// It inherits from \link Tag_true `CGAL::Tag_true` \endlink if there is a
/// default internal property map for the corresponding property tag and from
/// \link Tag_false `CGAL::Tag_false` \endlink otherwise.
///
/// \tparam Graph a model of `HalfedgeGraph` or `FaceGraph`
/// \tparam PropertyTag the type of a property tag referring to the property of interest.
///
template<typename Graph, typename PropertyTag>
struct graph_has_property;
/// @{ /// @{

View File

@ -23,63 +23,35 @@
#include <CGAL/basic.h> #include <CGAL/basic.h>
#include <string> #include <string>
namespace CGAL{ namespace CGAL {
/// \ingroup PkgBGLProperties
/// \brief graph_has_property is used to indicate if
/// a model of `HalfedgeGraph` or `FaceGraph`
/// has an internal property associated with the
/// given `PropertyTag`.
///
/// It inherits from `CGAL::Tag_true` if there is a
/// default internal property map for the
/// corresponding property tag and from
/// `CGAL::Tag_false` otherwise.
///
/// \tparam Graph a model of `HalfedgeGraph` or `FaceGraph`
/// \tparam PropertyTag the type of a property tag
/// referring to the property of interest.
///
template<typename Graph, typename PropertyTag> template<typename Graph, typename PropertyTag>
struct graph_has_property struct graph_has_property : CGAL::Tag_false { };
#ifndef DOXYGEN_RUNNING
: CGAL::Tag_false } // namespace CGAL
#endif
{};
}
/// Boost Namespace
namespace boost { namespace boost {
/// \ingroup PkgBGLProperties
/// @{
/// A property tag which refers to the geometric embedding property
/// of a vertex of a \ref HalfedgeGraph.
enum vertex_point_t { vertex_point }; enum vertex_point_t { vertex_point };
enum vertex_external_index_t { vertex_external_index } ;
/// A property tag which refers to the property // vertex_index_t is defined in boost
/// of a halfedge of being a border halfedge. enum vertex_external_index_t { vertex_external_index };
enum edge_external_index_t { edge_external_index } ;
/// A property tag which identifies the *index* property of enum halfedge_index_t { halfedge_index };
/// a halfedge of a \ref HalfedgeGraph. enum halfedge_external_index_t { halfedge_external_index };
enum halfedge_index_t { halfedge_index };
enum halfedge_external_index_t { halfedge_external_index } ; // edge_index_t is defined in boost
enum edge_external_index_t { edge_external_index };
/// A property tag which identifies the *index* property of
/// a face of a \ref FaceGraph.
enum face_index_t { face_index }; enum face_index_t { face_index };
enum face_external_index_t { face_external_index } ; enum face_external_index_t { face_external_index };
struct cgal_no_property struct cgal_no_property
{ {
typedef bool type; typedef bool type;
typedef const bool const_type; typedef const bool const_type;
}; };
/// @}
// Introduce those two tags so we can use BOOST_INSTALL_PROPERTY // Introduce those two tags so we can use BOOST_INSTALL_PROPERTY
// macro. This is dangerous because we now rely on implementation // macro. This is dangerous because we now rely on implementation
// details. // details.

View File

@ -18,11 +18,11 @@ the number of edges effectively removed.
\cgalNamedParamsBegin \cgalNamedParamsBegin
\cgalParamBegin{vertex_point_map} the property map with the points associated to the vertices of the mesh. \cgalParamBegin{vertex_point_map} the property map with the points associated to the vertices of the mesh.
If this parameter is omitted, an internal property map for If this parameter is omitted, an internal property map for
`CGAL::vertex_point_t` should be available in `PolygonMesh` `CGAL::vertex_point_t` should be available in `TriangleMesh`.
\cgalParamEnd \cgalParamEnd
\cgalParamBegin{halfedge_index_map} the property map containing an index for each halfedge, \cgalParamBegin{halfedge_index_map} the property map containing an index for each halfedge,
initialized 0 to `num_halfedges(graph)` initialized 0 to `num_halfedges(graph)`.
\cgalParamEnd \cgalParamEnd
\cgalParamBegin{get_cost} \cgalParamBegin{get_cost}
@ -34,7 +34,7 @@ the number of edges effectively removed.
\cgalParamEnd \cgalParamEnd
\cgalParamBegin{edge_is_constrained_map} \cgalParamBegin{edge_is_constrained_map}
The property map containing the constrained-or-not status of each edge of `pmesh` The property map containing the constrained-or-not status of each edge of `pmesh`.
\cgalParamEnd \cgalParamEnd
\cgalParamBegin{visitor} \cgalParamBegin{visitor}