Skip to content

Commit

Permalink
issue CGAL#7395 Improvement of layout of model relations
Browse files Browse the repository at this point in the history
- based on review
  • Loading branch information
albert-github committed Jul 15, 2023
1 parent a0320dd commit 4e5578d
Show file tree
Hide file tree
Showing 403 changed files with 1,354 additions and 831 deletions.
2 changes: 2 additions & 0 deletions AABB_tree/doc/AABB_tree/Concepts/AABBGeomTraits.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ and the primitives stored in the AABB tree.
\cgalRefines{SearchGeomTraits_3}
\cgalHasModelsBegin
\cgalHasModelsBare{All models of the concept `Kernel`}
\cgalHasModelsEnd
\sa `CGAL::AABB_traits<AABBGeomTraits,AABBPrimitive>`
\sa `CGAL::AABB_tree<AABBTraits>`
Expand Down
11 changes: 6 additions & 5 deletions AABB_tree/doc/AABB_tree/Concepts/AABBPrimitive.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,12 @@ The concept `AABBPrimitive` describes the requirements for the primitives stored
The `Primitive` type can be, e.g., a wrapper around a `Handle`. Assume for instance that the input objects are the triangle faces of a mesh stored as a `CGAL::Polyhedron_3`. The `Datum` would be a `Triangle_3` and the `Id` would be a polyhedron `Face_handle`. Method `datum()` can return either a `Triangle_3` constructed on the fly from the face handle or a `Triangle_3` stored internally. This provides a way for the user to trade memory for efficiency.
\cgalHasModelsBegin CGAL::AABB_primitive<Id,ObjectPropertyMap,PointPropertyMap,Tag_false,CacheDatum>
\cgalHasModels CGAL::AABB_segment_primitive<Iterator,CacheDatum>
\cgalHasModels CGAL::AABB_triangle_primitive<Iterator,CacheDatum>
\cgalHasModels CGAL::AABB_halfedge_graph_segment_primitive<HalfedgeGraph,VertexPointPMap,Tag_false,CacheDatum>
\cgalHasModels CGAL::AABB_face_graph_triangle_primitive<FaceGraph,VertexPointPMap,Tag_false,CacheDatum>
\cgalHasModelsBegin
\cgalModels{CGAL::AABB_primitive<Id,ObjectPropertyMap,PointPropertyMap,Tag_false,CacheDatum>}
\cgalModels{CGAL::AABB_segment_primitive<Iterator,CacheDatum>}
\cgalModels{CGAL::AABB_triangle_primitive<Iterator,CacheDatum>}
\cgalModels{CGAL::AABB_halfedge_graph_segment_primitive<HalfedgeGraph,VertexPointPMap,Tag_false,CacheDatum>}
\cgalModels{CGAL::AABB_face_graph_triangle_primitive<FaceGraph,VertexPointPMap,Tag_false,CacheDatum>}
\cgalHasModelsEnd
*/

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,10 @@ The `Datum` would be a `Triangle_3` and the `Id` a `std::size_t`. The shared dat
`std::vector<Triangle_3>`.
The method `datum(const Shared_data&)` then returns a triangle from the vector.
\cgalHasModelsBegin CGAL::AABB_primitive<Id,ObjectPropertyMap,PointPropertyMap,Tag_true,CacheDatum>
\cgalHasModels CGAL::AABB_halfedge_graph_segment_primitive<HalfedgeGraph,VertexPointPMap,Tag_true,CacheDatum>
\cgalHasModels CGAL::AABB_face_graph_triangle_primitive<FaceGraph,VertexPointPMap,Tag_true,CacheDatum>
\cgalHasModelsBegin
\cgalModels{CGAL::AABB_primitive<Id,ObjectPropertyMap,PointPropertyMap,Tag_true,CacheDatum>}
\cgalModels{CGAL::AABB_halfedge_graph_segment_primitive<HalfedgeGraph,VertexPointPMap,Tag_true,CacheDatum>}
\cgalModels{CGAL::AABB_face_graph_triangle_primitive<FaceGraph,VertexPointPMap,Tag_true,CacheDatum>}
\cgalHasModelsEnd
*/

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ define the Intersection_distance functor.
\cgalRefines{AABBGeomTraits}
\cgalHasModelsBegin
\cgalHasModelsBare{All models of the concept `Kernel`}
\cgalHasModelsEnd
\sa `CGAL::AABB_traits<AABBGeomTraits,AABBPrimitive>`
\sa `CGAL::AABB_tree<AABBTraits>`
Expand Down
3 changes: 2 additions & 1 deletion AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionTraits.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ The concept `AABBRayIntersectionTraits` is a refinement of the concept
`AABBTraits` it also requires function objects to calculate the
distance of an intersection along a ray.
\cgalHasModelsBegin CGAL::AABB_traits<AABBGeomTraits,AABBPrimitive>
\cgalHasModelsBegin
\cgalModels{CGAL::AABB_traits<AABBGeomTraits,AABBPrimitive>}
\cgalHasModelsEnd
\sa `CGAL::AABB_tree<AABBTraits>`
Expand Down
3 changes: 2 additions & 1 deletion AABB_tree/doc/AABB_tree/Concepts/AABBTraits.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
The concept `AABBTraits` provides the geometric primitive types and methods for the class `CGAL::AABB_tree<AABBTraits>`.
\cgalHasModelsBegin CGAL::AABB_traits<AABBGeomTraits,AABBPrimitive>
\cgalHasModelsBegin
\cgalModels{CGAL::AABB_traits<AABBGeomTraits,AABBPrimitive>}
\cgalHasModelsEnd
\cgalRefines{SearchGeomTraits_3}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ together with a few geometric predicates and constructions on these objects.
\cgalRefines{DelaunayTriangulationTraits_3}
\cgalHasModelsBegin
\cgalHasModelsBare{All models of the concept `Kernel`}
\cgalHasModelsEnd
*/
class AdvancingFrontSurfaceReconstructionTraits_3
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ algebraic operations within that structure.
\sa `CGAL::Field_with_kth_root_tag`
\sa `CGAL::Field_with_root_of_tag`
\cgalHasModelsBegin CGAL::Algebraic_structure_traits<T>
\cgalHasModelsBegin
\cgalModels{CGAL::Algebraic_structure_traits<T>}
\cgalHasModelsEnd
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,17 @@ for Cartesian kernels.
\cgalRefines{Field,RealEmbeddable}
\cgalHasModelsBegin float
\cgalHasModels double
\cgalHasModels CGAL::Gmpq
\cgalHasModels CGAL::Interval_nt
\cgalHasModels CGAL::Interval_nt_advanced
\cgalHasModels CGAL::Lazy_exact_nt<FieldNumberType>
\cgalHasModels CGAL::Quotient<RingNumberType>
\cgalHasModels leda_rational
\cgalHasModels leda_bigfloat
\cgalHasModels leda_real
\cgalHasModelsBegin
\cgalModels{float}
\cgalModels{double}
\cgalModels{CGAL::Gmpq}
\cgalModels{CGAL::Interval_nt}
\cgalModels{CGAL::Interval_nt_advanced}
\cgalModels{CGAL::Lazy_exact_nt<FieldNumberType>}
\cgalModels{CGAL::Quotient<RingNumberType>}
\cgalModels{leda_rational}
\cgalModels{leda_bigfloat}
\cgalModels{leda_real}
\cgalHasModelsEnd
\sa `RingNumberType`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ A model of `FractionTraits` is associated with a type `Type`.
In case the associated type is a `Fraction`, a model of `FractionTraits` provides the relevant functionality for decomposing and re-composing as well
as the numerator and denominator type.
\cgalHasModelsBegin CGAL::Fraction_traits<T>
\cgalHasModelsBegin
\cgalModels{CGAL::Fraction_traits<T>}
\cgalHasModelsEnd
\sa `FractionTraits_::Decompose`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@
A model of the concept `FromIntConstructible` is required
to be constructible from int.
\cgalHasModelsBegin int
\cgalHasModels long
\cgalHasModels double
\cgalHasModelsBegin
\cgalModels{int}
\cgalModels{long}
\cgalModels{double}
\cgalHasModelsEnd
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ A model of `RealEmbeddableTraits` is associated to a number type
`Type` and reflects the properties of this type with respect
to the concept `RealEmbeddable`.
\cgalHasModelsBegin CGAL::Real_embeddable_traits<T>
\cgalHasModelsBegin
\cgalModels{CGAL::Real_embeddable_traits<T>}
\cgalHasModelsEnd
*/

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,20 @@ for Homogeneous kernels.
\cgalRefines{IntegralDomainWithoutDivision,RealEmbeddable}
\cgalHasModelsBareBegin{\cpp built-in number types} CGAL::Gmpq
\cgalHasModels CGAL::Gmpz
\cgalHasModels CGAL::Interval_nt
\cgalHasModels CGAL::Interval_nt_advanced
\cgalHasModels CGAL::Lazy_exact_nt<RingNumberType>
\cgalHasModels CGAL::MP_Float
\cgalHasModels CGAL::Gmpzf
\cgalHasModels CGAL::Quotient<RingNumberType>
\cgalHasModels leda_integer
\cgalHasModels leda_rational
\cgalHasModels leda_bigfloat
\cgalHasModels leda_real
\cgalHasModelsBegin
\cgalHasModelsBare{\cpp built-in number types}
\cgalHasModels{CGAL::Gmpq}
\cgalHasModels{CGAL::Gmpz}
\cgalHasModels{CGAL::Interval_nt}
\cgalHasModels{CGAL::Interval_nt_advanced}
\cgalHasModels{CGAL::Lazy_exact_nt<RingNumberType>}
\cgalHasModels{CGAL::MP_Float}
\cgalHasModels{CGAL::Gmpzf}
\cgalHasModels{CGAL::Quotient<RingNumberType>}
\cgalHasModels{leda_integer}
\cgalHasModels{leda_rational}
\cgalHasModels{leda_bigfloat}
\cgalHasModels{leda_real}
\cgalHasModelsEnd
\sa `FieldNumberType`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@ algebraic functionalities on univariate polynomials of general degree \f$ d\f$.
\cgalRefines{CopyConstructible,Assignable}
\cgalHasModelsBegin CGAL::Algebraic_kernel_rs_gmpz_d_1
\cgalHasModels CGAL::Algebraic_kernel_rs_gmpq_d_1
\cgalHasModelsBegin
\cgalModels{CGAL::Algebraic_kernel_rs_gmpz_d_1}
\cgalModels{CGAL::Algebraic_kernel_rs_gmpq_d_1}
\cgalHasModelsEnd
\sa `AlgebraicKernel_d_2`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ The concept `AlphaShapeFace_2` describes the requirements for the base face of a
RegularTriangulationFaceBase_2 if the underlying triangulation of the alpha shape is a regular triangulation,
Periodic_2TriangulationFaceBase_2 if the underlying triangulation of the alpha shape is a periodic triangulation}
\cgalHasModelsBegin CGAL::Alpha_shape_face_base_2 (templated with the appropriate triangulation face base class)
\cgalHasModelsBegin
\cgalModels{CGAL::Alpha_shape_face_base_2 (templated with the appropriate triangulation face base class)}
\cgalHasModelsEnd
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ class of the underlying Delaunay triangulation of a basic alpha shape.
\cgalRefines{DelaunayTriangulationTraits_2 if the underlying triangulation of the alpha shape is a Delaunay triangulation,
Periodic_2DelaunayTriangulationTraits_2 if the underlying triangulation of the alpha shape is a periodic Delaunay triangulation}
\cgalHasModelsBare{All models of `Kernel`,Projection traits such as `CGAL::Projection_traits_xy_3<K>`}
\cgalHasModelsBegin
\cgalHasModelsBare{All models of `Kernel`}
\cgalHasModelsBare{Projection traits such as `CGAL::Projection_traits_xy_3<K>`}
\cgalHasModelsEnd
\sa `CGAL::Exact_predicates_inexact_constructions_kernel` (recommended kernel)
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ The concept `AlphaShapeVertex_2` describes the requirements for the base vertex
RegularTriangulationVertexBase_2 if the underlying triangulation of the alpha shape is a regular triangulation,
Periodic_2TriangulationVertexBase_2 if the underlying triangulation of the alpha shape is a periodic triangulation}
\cgalHasModelsBegin
\cgalHasModelsBare{`CGAL::Alpha_shape_vertex_base_2` (templated with the appropriate triangulation vertex base class)}
\cgalHasModelsEnd
*/
class AlphaShapeVertex_2 {
public:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ of the underlying regular triangulation of a weighted alpha shape.
\cgalRefines{RegularTriangulationTraits_2 if the underlying triangulation of the alpha shape is a regular triangulation.}
\cgalHasModelsBare{All models of `Kernel`,Projection traits such as `CGAL::Projection_traits_xy_3<K>`}
\cgalHasModelsBegin
\cgalHasModelsBare{All models of `Kernel`,}
\cgalHasModelsBare{Projection traits such as `CGAL::Projection_traits_xy_3<K>`}
\cgalHasModelsEnd
\sa `CGAL::Exact_predicates_inexact_constructions_kernel` (recommended kernel)
*/
Expand Down
2 changes: 2 additions & 0 deletions Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeCell_3.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ The concept `AlphaShapeCell_3` describes the requirements for the base cell of a
RegularTriangulationCellBase_3 if the underlying triangulation of the alpha shape is a regular triangulation,
Periodic_3TriangulationDSCellBase_3 if the underlying triangulation of the alpha shape is a periodic triangulation}
\cgalHasModelsBegin
\cgalHasModelsBare{`CGAL::Alpha_shape_cell_base_3` (templated with the appropriate triangulation cell base class)}
\cgalHasModelsEnd
\sa `CGAL::Alpha_status`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ of the underlying Delaunay triangulation of a basic alpha shape.
\cgalRefines{DelaunayTriangulationTraits_3 if the underlying triangulation of the alpha shape is a Delaunay triangulation,
Periodic_3DelaunayTriangulationTraits_3 if the underlying triangulation of the alpha shape is a periodic Delaunay triangulation}
\cgalHasModelsBegin
\cgalHasModelsBare{All models of `Kernel`}
\cgalHasModelsEnd
\sa `CGAL::Exact_predicates_inexact_constructions_kernel` (recommended kernel)
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ The concept `AlphaShapeVertex_3` describes the requirements for the base vertex
RegularTriangulationVertexBase_3 if the underlying triangulation of the alpha shape is a regular triangulation.
Periodic_3TriangulationDSVertexBase_3 if the underlying triangulation of the alpha shape is a periodic triangulation}
\cgalHasModelsBegin
\cgalHasModelsBare{`CGAL::Alpha_shape_vertex_base_3` (templated with the appropriate triangulation vertex base class)}
\cgalHasModelsEnd
\sa `CGAL::Alpha_status`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ The concept `FixedAlphaShapeCell_3` describes the requirements for the base cell
RegularTriangulationCellBase_3 if the underlying triangulation of the alpha shape is a regular triangulation,
Periodic_3TriangulationDSCellBase_3 if the underlying triangulation of the alpha shape is a periodic triangulation}
\cgalHasModelsBegin
\cgalHasModelsBare{`CGAL::Fixed_alpha_shape_cell_base_3` (templated with the appropriate triangulation cell base class)}
\cgalHasModelsEnd
*/
class FixedAlphaShapeCell_3 {
public:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ of the underlying Delaunay triangulation of a basic alpha shape with a fixed val
\cgalRefines{DelaunayTriangulationTraits_3 if the underlying triangulation of the alpha shape is a Delaunay triangulation,
Periodic_3DelaunayTriangulationTraits_3 if the underlying triangulation of the alpha shape is a periodic Delaunay triangulation}
\cgalHasModelsBegin
\cgalHasModelsBare{All models of `Kernel`}
\cgalHasModelsEnd
\sa CGAL::Exact_predicates_inexact_constructions_kernel (recommended kernel)
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ The concept `FixedAlphaShapeVertex_3` describes the requirements for the base ve
RegularTriangulationVertexBase_3 if the underlying triangulation of the alpha shape is a regular triangulation,
Periodic_3TriangulationDSVertexBase_3 if the underlying triangulation of the alpha shape is a periodic triangulation}
\cgalHasModelsBegin
\cgalHasModelsBare{`CGAL::Fixed_alpha_shape_vertex_base_3` (templated with the appropriate triangulation vertex base class)}
\cgalHasModelsEnd
*/

class FixedAlphaShapeVertex_3 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ for the geometric traits class of the underlying regular triangulation of a weig
\cgalRefines{RegularTriangulationTraits_3 if the underlying triangulation of the alpha shape is a regular triangulation,
Periodic_3RegularTriangulationTraits_3 if the underlying triangulation of the alpha shape is a periodic regular triangulation}
\cgalHasModelsBegin
\cgalHasModelsBare{All models of `Kernel`}
\cgalHasModelsEnd
\sa `CGAL::Exact_predicates_inexact_constructions_kernel` (recommended kernel)
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ of the underlying regular triangulation of a weighted alpha shape.
\cgalRefines{RegularTriangulationTraits_3 if the underlying triangulation of the alpha shape is a regular triangulation,
Periodic_3RegularTriangulationTraits_3 if the underlying triangulation of the alpha shape is a periodic regular triangulation}
\cgalHasModelsBegin
\cgalHasModelsBare{All models of `Kernel`}
\cgalHasModelsEnd
\sa `CGAL::Exact_predicates_inexact_constructions_kernel` (recommended kernel)
*/
Expand Down
9 changes: 5 additions & 4 deletions Alpha_wrap_3/doc/Alpha_wrap_3/Concepts/AlphaWrapOracle.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,11 @@ The concept `AlphaWrapOracle` defines the requirements for an Alpha Wrap <em>Ora
that answers a number of queries over the input of the algorithm.
The oracle is the template parameter of the class `CGAL::Alpha_wraps_3_::Alpha_wrap_3`.
\cgalHasModelsBegin CGAL::Alpha_wraps_3_::Point_set_oracle
\cgalHasModels CGAL::Alpha_wraps_3_::Segment_soup_oracle
\cgalHasModels CGAL::Alpha_wraps_3_::Triangle_mesh_oracle
\cgalHasModels CGAL::Alpha_wraps_3_::Triangle_soup_oracle
\cgalHasModelsBegin
\cgalModels{CGAL::Alpha_wraps_3_::Point_set_oracle}
\cgalModels{CGAL::Alpha_wraps_3_::Segment_soup_oracle}
\cgalModels{CGAL::Alpha_wraps_3_::Triangle_mesh_oracle}
\cgalModels{CGAL::Alpha_wraps_3_::Triangle_soup_oracle}
\cgalHasModelsEnd
*/
Expand Down
2 changes: 2 additions & 0 deletions Alpha_wrap_3/doc/Alpha_wrap_3/Concepts/AlphaWrapTraits_3.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ you require Kernel. Stitch_borders doesn't even have clear geometric traits requ
The concept `AlphaWrapTraits_3` defines the requirements for the geometric traits class
of an alpha wrap oracle.
\cgalHasModelsBegin
\cgalHasModelsBare{Any 3D %kernel is a model of this traits concept}
\cgalHasModelsEnd
*/

class AlphaWrapTraits_3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ We only describe the additional requirements with respect to the
\cgalRefines{TriangulationDataStructure_2}
\cgalHasModelsBegin CGAL::Triangulation_data_structure_2<Vb,Fb>
\cgalHasModelsBegin
\cgalModels{CGAL::Triangulation_data_structure_2<Vb,Fb>}
\cgalHasModelsEnd
\sa `TriangulationDataStructure_2`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ next and previous level graphs.
`ApolloniusGraphHierarchyVertexBase_2` does not introduce any
types in addition to those of `ApolloniusGraphVertexBase_2`.
\cgalHasModelsBegin CGAL::Apollonius_graph_hierarchy_vertex_base_2<CGAL::Apollonius_graph_vertex_base_2<Gt,StoreHidden> >
\cgalHasModelsBegin
\cgalModels{CGAL::Apollonius_graph_hierarchy_vertex_base_2<CGAL::Apollonius_graph_vertex_base_2<Gt,StoreHidden> >}
\cgalHasModelsEnd
\sa `ApolloniusGraphDataStructure_2`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ it provides a type `Site_2`, which must be a model of the concept
constructions for sites and several function object
types for the predicates.
\cgalHasModelsBegin CGAL::Apollonius_graph_traits_2<K,Method_tag>
\cgalHasModels CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>
\cgalHasModelsBegin
\cgalModels{CGAL::Apollonius_graph_traits_2<K,Method_tag>}
\cgalModels{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
\cgalHasModelsEnd
\sa `CGAL::Apollonius_graph_2<Gt,Agds>`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ sites. The container stores the hidden sites related to the vertex.
\cgalRefines{TriangulationVertexBase_2}
\cgalHasModelsBegin CGAL::Apollonius_graph_vertex_base_2<Gt,StoreHidden>
\cgalHasModelsBegin
\cgalModels{CGAL::Apollonius_graph_vertex_base_2<Gt,StoreHidden>}
\cgalHasModelsEnd
\sa `ApolloniusGraphDataStructure_2`
Expand Down
Loading

0 comments on commit 4e5578d

Please sign in to comment.