diff --git a/Combinatorial_map/doc/Combinatorial_map/CGAL/Dart.h b/Combinatorial_map/doc/Combinatorial_map/CGAL/Combinatorial_map_dart.h similarity index 78% rename from Combinatorial_map/doc/Combinatorial_map/CGAL/Dart.h rename to Combinatorial_map/doc/Combinatorial_map/CGAL/Combinatorial_map_dart.h index a1ff0d1e015..d67aa781328 100644 --- a/Combinatorial_map/doc/Combinatorial_map/CGAL/Dart.h +++ b/Combinatorial_map/doc/Combinatorial_map/CGAL/Combinatorial_map_dart.h @@ -4,24 +4,21 @@ namespace CGAL { /*! \ingroup PkgCombinatorialMapsClasses -The class `Dart` represents a dD dart in a combinatorial map. +The class `Combinatorial_map_dart` represents a dD dart in a combinatorial map. -\f$ \beta_i\f$ pointers are coded in a array of d+1 \link Dart::Dart_handle `Dart_handle`\endlink -(because we describe also the \f$ \beta_0\f$ link). Attributes are -associated to each dart by \link Attribute_handle `Attribute_handle`\endlink, one for each -non void i-attribute. +\f$ \beta_i\f$ pointers are coded in a array of d+1 \link Combinatorial_map_dart::Dart_handle `Dart_handle`\endlink (because we describe also the \f$ \beta_0\f$ link). Attributes are associated to each dart by \link Attribute_handle `Attribute_handle`\endlink, one for each non void i-attribute. -\cgalModels `::BasicDart` +\cgalModels `Dart` -\tparam d an integer for the dimension of the dart. +\tparam d the dimension of the dart. -\tparam CMap must be a model of the `CombinatorialMap` concept. +\tparam CMap a model of the `CombinatorialMap` concept. \sa `CombinatorialMap` */ template< typename d, typename CMap > -class Dart { +class Combinatorial_map_dart { public: /// \name Types @@ -82,5 +79,5 @@ Returns \f$ \beta_i^{-1}\f$(`*this`) when the dart is const. */ Dart_const_handle beta_inv(unsigned int i) const; -}; /* end Dart */ +}; /* end Combinatorial_map_dart */ } /* end namespace CGAL */ diff --git a/Combinatorial_map/doc/Combinatorial_map/CGAL/Combinatorial_map_min_items.h b/Combinatorial_map/doc/Combinatorial_map/CGAL/Combinatorial_map_min_items.h index 9e36463e9cd..5cdd594857c 100644 --- a/Combinatorial_map/doc/Combinatorial_map/CGAL/Combinatorial_map_min_items.h +++ b/Combinatorial_map/doc/Combinatorial_map/CGAL/Combinatorial_map_min_items.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCombinatorialMapsClasses -The class `Combinatorial_map_min_items` is a model of the `BasicMapItems` concept. It defines the type of darts which is a `Dart`. The `Combinatorial_map_min_items` has a template argument for the dimension of the combinatorial map. In this class, no attribute is enabled. +The class `Combinatorial_map_min_items` is a model of the `BasicMapItems` concept. It defines the type of darts which is a `Combinatorial_map_dart`. The `Combinatorial_map_min_items` has a template argument for the dimension of the combinatorial map. In this class, no attribute is enabled. \cgalModels `BasicMapItems` @@ -21,17 +21,17 @@ struct Combinatorial_map_min_items template struct Dart_wrapper { - typedef CGAL::Dart Dart; + typedef CGAL::Combinatorial_map_dart Dart; typedef CGAL::cpp11::tuple<> Attributes; }; }; \endcode \sa `Combinatorial_map` -\sa `Dart` +\sa `Combinatorial_map_dart` */ -template< typename d > +template< unsigned int d > class Combinatorial_map_min_items { public: diff --git a/Combinatorial_map/doc/Combinatorial_map/Combinatorial_map.txt b/Combinatorial_map/doc/Combinatorial_map/Combinatorial_map.txt index 46140d57a76..53bc356be11 100644 --- a/Combinatorial_map/doc/Combinatorial_map/Combinatorial_map.txt +++ b/Combinatorial_map/doc/Combinatorial_map/Combinatorial_map.txt @@ -191,19 +191,19 @@ All information associated to darts (\f$ \beta\f$ links and attributes) can be a \subsection ssecitem Combinatorial Map Items -\tred{The `BasicMapItems` concept defines dart and attribute types of a combinatorial map. It contains one inner class named \link BasicMapItems::Dart_wrapper `Dart_wrapper`\endlink, having one template parameter, `BMap`, a model of `BasicMap` concept. The \link BasicMapItems::Dart_wrapper `Dart_wrapper`\endlink class provides two local types: `%Dart` which must be a model of the `::BasicDart` concept, and `%Attributes` which defines the attributes and their types.} +\tred{The `BasicMapItems` concept defines dart and attribute types of a combinatorial map. It contains one inner class named \link BasicMapItems::Dart_wrapper `Dart_wrapper`\endlink, having one template parameter, `BMap`, a model of `BasicMap` concept. The \link BasicMapItems::Dart_wrapper `Dart_wrapper`\endlink class provides two local types: `%Dart` which must be a model of the `::Dart` concept, and `%Attributes` which defines the attributes and their types.} The `%Attributes` tuple must contain at most d+1 types (one for each possible cell dimension of the combinatorial map). Each type of the tuple must be either a model of the `CellAttribute` concept or `void`. The first type corresponds to 0-attributes, the second to 1-attributes and so on. If the i th type in the tuple is `void`, (i-1)-attributes are disabled: we say that (i-1)-attributes are void. Otherwise, (i-1)-attributes are enabled and have the given type: we say (i-1)-attributes are non void. If the size of the tuple is k, with k\f$ <\f$dimension+1, \f$ \forall\f$i: k\f$ \leq\f$i\f$ \leq\f$dimension, i-attributes are void. -The class `Combinatorial_map_min_items` is a model of the `BasicMapItems` concept which can be used for default behaviors. It defines `Dart` as type of dart, and `Attributes` as empty tuple. +The class `Combinatorial_map_min_items` is a model of the `BasicMapItems` concept which can be used for default behaviors. It defines `Combinatorial_map_dart` as type of dart, and `Attributes` as empty tuple. \subsection ssecdarts Darts -The class `Dart`, a model of the `BasicDart` concept, defines a dD dart for combinatorial maps. It has two template parameters standing for the dimension of the combinatorial map, and a model of the `CombinatorialMap` concept, which provides the two types \link BasicMap::Dart_handle `Dart_handle`\endlink and \link BasicMap::Dart_const_handle `Dart_const_handle`\endlink. +The class `Combinatorial_map_dart`, a model of the `Dart` concept, defines a dD dart for combinatorial maps. It has two template parameters standing for the dimension of the combinatorial map, and a model of the `CombinatorialMap` concept, which provides the two types \link BasicMap::Dart_handle `Dart_handle`\endlink and \link BasicMap::Dart_const_handle `Dart_const_handle`\endlink. -Each instance `d0` of `Dart` stores the \f$ \beta_i\f$ pointers in an array of d+1 `Dart_handle` (because we describe also the \f$ \beta_0\f$ pointer). It also stores the attributes associated to this dart in a tuple of \link BasicMap::Attribute_handle `CMap::Attribute_handle::type` \endlink, one for each non void i-attribute. +Each instance `d0` of `Combinatorial_map_dart` stores the \f$ \beta_i\f$ pointers in an array of d+1 `Dart_handle` (because we describe also the \f$ \beta_0\f$ pointer). It also stores the attributes associated to this dart in a tuple of \link BasicMap::Attribute_handle `CMap::Attribute_handle::type` \endlink, one for each non void i-attribute. -Note that the use of the `Dart` class is not hard wired in the combinatorial map class. Users can provide their own model of the `BasicDart` concept, and pass it to the combinatorial map with the help of a custom item class. +Note that the use of the `Combinatorial_map_dart` class is not hard wired in the combinatorial map class. Users can provide their own model of the `Dart` concept, and pass it to the combinatorial map with the help of a custom item class. \subsection ssecattributes Cell Attributes @@ -219,7 +219,7 @@ What we said for the dart also holds for the cell attribute. The combinatorial m \subsection ssecexampledef Example of Combinatorial Map Definition -Here comes an example of two combinatorial map definitions. The first case `Example_cmap4` defines a 4D combinatorial map which uses all the default values (`Dart` and `Combinatorial_map_min_items`). The second example `Example_custom_cmap3` uses its own model of the `BasicMapItems` concept. In this model, the type of dart is `Dart<3,CMap>`, thus a dart is in 3D, and an attribute containing an integer is associated to edges. +Here comes an example of two combinatorial map definitions. The first case `Example_cmap4` defines a 4D combinatorial map which uses all the default values (`Combinatorial_map_min_items`). The second example `Example_custom_cmap3` uses its own model of the `BasicMapItems` concept. In this model, the type of dart is `Combinatorial_map_dart<3,CMap>`, thus a dart is in 3D, and an attribute containing an integer is associated to edges. \code{.cpp} @@ -230,7 +230,7 @@ struct Example_items_3 template struct Dart_wrapper { - typedef CGAL::Dart<3, CMap> Dart; + typedef CGAL::Combinatorial_map_dart<3, CMap> Dart; typedef CGAL::Cell_attribute Edge_attrib; typedef CGAL::cpp11::tuple Attributes; }; @@ -461,7 +461,7 @@ The output is: \subsection sseccombimapwithcolor Combinatorial Map With Attributes -In the following example, we illustrate how to specify the 2-attributes in a 3D combinatorial map. For that, we define our own item class using `Dart<3,CMap>` as type of dart, and \link Cell_attribute `Cell_attribute`\endlink as attributes which contain an `int` and which are associated to 2-cells of the combinatorial map. +In the following example, we illustrate how to specify the 2-attributes in a 3D combinatorial map. For that, we define our own item class using `Combinatorial_map_dart<3,CMap>` as type of dart, and \link Cell_attribute `Cell_attribute`\endlink as attributes which contain an `int` and which are associated to 2-cells of the combinatorial map. Functors `Sum_functor` and `Divide_by_two_functor` define a custom behavior: when two attributes `ca1` and `ca2` are merged into `ca1`, the value of `ca1` is the sum of the two initial values. When an attribute `ca1` is split in the two attributes `ca1` and `ca2`, the value of each attribute is half of the first value. diff --git a/Combinatorial_map/doc/Combinatorial_map/Concepts/BasicMap.h b/Combinatorial_map/doc/Combinatorial_map/Concepts/BasicMap.h index 11e86f41fad..e831458f07e 100644 --- a/Combinatorial_map/doc/Combinatorial_map/Concepts/BasicMap.h +++ b/Combinatorial_map/doc/Combinatorial_map/Concepts/BasicMap.h @@ -38,17 +38,17 @@ BasicMap(const BMap& bmap); /// @{ /*! -%Dart type, a model of the `BasicDart` concept. +%Dart type, a model of the `Dart` concept. */ typedef unspecified_type Dart; /*! -%Dart handle type, equal to `BasicDart::Dart_handle`. +%Dart handle type, equal to `Dart::Dart_handle`. */ typedef unspecified_type Dart_handle; /*! -%Dart const handle type, equal to `BasicDart::Dart_const_handle`. +%Dart const handle type, equal to `Dart::Dart_const_handle`. */ typedef unspecified_type Dart_const_handle; @@ -63,7 +63,7 @@ typedef unspecified_type size_type; /// @{ /*! -The dimension d of the basic map, equal to `BasicDart::dimension`. +The dimension d of the basic map, equal to `Dart::dimension`. */ static const unsigned int dimension; @@ -107,7 +107,7 @@ typedef unspecified_type Attributes; using Attribute_type = unspecified_type; /*! - `Attribute_handle::%type` is a handle to i-attributes, equal to \link BasicDart::Attribute_handle `Dart::Attribute_handle::type` \endlink. + `Attribute_handle::%type` is a handle to i-attributes, equal to \link Dart::Attribute_handle `Dart::Attribute_handle::type` \endlink. \pre 0\f$ \leq\f$i\f$ \leq\f$\link BasicMap::dimension `dimension`\endlink and i-attributes are non void. \note It can be implemented using a nested template class. @@ -116,7 +116,7 @@ typedef unspecified_type Attributes; using Attribute_handle = unspecified_type; /*! - `Attribute_handle::%type` is a const handle to i-attributes, equal to \link BasicDart::Attribute_const_handle `Dart::Attribute_const_handle::type` \endlink. + `Attribute_handle::%type` is a const handle to i-attributes, equal to \link Dart::Attribute_const_handle `Dart::Attribute_const_handle::type` \endlink. \pre 0\f$ \leq\f$i\f$ \leq\f$\link BasicMap::dimension `dimension`\endlink and i-attributes are non void. \note It can be implemented using a nested template class. diff --git a/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h b/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h index 4a5fa0a6d93..6fa2b8a5c7a 100644 --- a/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h +++ b/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h @@ -20,7 +20,11 @@ A combinatorial map is valid (see Sections \ref sec_definition and \ref sseccomb - `d` is 0-free, or \f$ \beta_1(\beta_0(d))=d\f$; - `d` is 1-free, or \f$ \beta_0(\beta_1(d))=d\f$; - \f$ \forall\f$i, 2\f$ \leq\f$i\f$ \leq\f$\link BasicMap::dimension `dimension`\endlink: `d` is i-free, or \f$ \beta_i(\beta_i(d))=d\f$; -- \f$ \forall\f$i, j, 0\f$ \leq\f$i\f$ <\f$i+2\f$ \leq\f$j\f$ \leq\f$\link BasicMap::dimension `dimension`\endlink such that j\f$ \geq\f$ 3: \f$ \beta_j(\beta_i(d))=\varnothing\f$ or ; \f$ \beta_j(\beta_i(\beta_j(\beta_i(d))))=d\f$; + +- \f$ \forall\f$i, \f$ \forall\f$ j, such that 0\f$ \leq\f$i\f$ \leq\f$\link BasicMap::dimension `dimension`\endlink-2 +and i+2\f$ \leq\f$j\f$ \leq\f$\link BasicMap::dimension `dimension`\endlink: +\f$ \beta_j(\beta_i(d))=\varnothing\f$ or ; \f$ \beta_j(\beta_i(\beta_j(\beta_i(d))))=d\f$; + - \f$ \forall\f$i, 0\f$ \leq\f$i\f$ \leq\f$\link BasicMap::dimension `dimension`\endlink such that i-attributes are non void: + \f$ \forall\f$d2 in the same i-cell than d: d and d2 have the same i-attribute; diff --git a/Combinatorial_map/doc/Combinatorial_map/Concepts/BasicDart.h b/Combinatorial_map/doc/Combinatorial_map/Concepts/Dart.h similarity index 82% rename from Combinatorial_map/doc/Combinatorial_map/Concepts/BasicDart.h rename to Combinatorial_map/doc/Combinatorial_map/Concepts/Dart.h index 4450e2fa18f..a4dfbe4c20b 100644 --- a/Combinatorial_map/doc/Combinatorial_map/Concepts/BasicDart.h +++ b/Combinatorial_map/doc/Combinatorial_map/Concepts/Dart.h @@ -3,18 +3,18 @@ \ingroup PkgCombinatorialMapsConcepts \cgalConcept -The concept `BasicDart` defines a d-dimensional dart for basic maps. A dart mainly stores handles to the darts linked with itself by \tred{the different applications of the basic map}. Moreover, it stores also handles to each non void attribute associated with itself. +The concept `Dart` defines a d-dimensional dart for basic maps. A dart mainly stores handles to the darts linked with itself by \tred{the different applications of the basic map}. Moreover, it stores also handles to each non void attribute associated with itself. \cgalHeading{Creation} A dart `d0` is never constructed directly, but always created within a basic map `bm` by using the method \link BasicMap::create_dart `bm.create_dart()`\endlink. A new dart is initialized to be i-free, \f$ \forall\f$i: 0\f$ \leq\f$i\f$ \leq\f$dimension, and having all its attribute handles initialized to `NULL`, for each non `void` attribute. -\cgalHasModel \link CGAL::Dart `CGAL::Dart`\endlink -\cgalHasModel \link CGAL::GMap_dart `CGAL::GMap_dart`\endlink +\cgalHasModel \link CGAL::Combinatorial_map_dart `CGAL::Combinatorial_map_dart`\endlink +\cgalHasModel \link CGAL::Generalized_map_dart `CGAL::Generalized_map_dart`\endlink */ -class BasicDart { +class Dart { public: /// \name Constants @@ -76,4 +76,4 @@ Attribute_const_handle::type attribute() const; /// @} -}; /* end BasicDart */ +}; /* end Dart */ diff --git a/Combinatorial_map/doc/Combinatorial_map/PackageDescription.txt b/Combinatorial_map/doc/Combinatorial_map/PackageDescription.txt index 3453fffdce9..7811d795614 100644 --- a/Combinatorial_map/doc/Combinatorial_map/PackageDescription.txt +++ b/Combinatorial_map/doc/Combinatorial_map/PackageDescription.txt @@ -42,7 +42,7 @@ \cgalClassifedRefPages ## Concepts ## -- `BasicDart` +- `Dart` - `BasicMap` - `BasicMapItems` - `CellAttribute` @@ -50,9 +50,9 @@ ## Classes ## - `CGAL::Combinatorial_map` -- `CGAL::Dart` -- `CGAL::Cell_attribute` +- `CGAL::Combinatorial_map_dart` - `CGAL::Combinatorial_map_min_items` +- `CGAL::Cell_attribute` ## Global Functions ## ### Constructions for Combinatorial Maps ### diff --git a/Combinatorial_map/include/CGAL/Dart.h b/Combinatorial_map/include/CGAL/Combinatorial_map_dart.h similarity index 100% rename from Combinatorial_map/include/CGAL/Dart.h rename to Combinatorial_map/include/CGAL/Combinatorial_map_dart.h diff --git a/Generalized_map/doc/Generalized_map/CGAL/GMap_dart.h b/Generalized_map/doc/Generalized_map/CGAL/Generalized_map_dart.h similarity index 54% rename from Generalized_map/doc/Generalized_map/CGAL/GMap_dart.h rename to Generalized_map/doc/Generalized_map/CGAL/Generalized_map_dart.h index 9b9203749ab..d920091fe54 100644 --- a/Generalized_map/doc/Generalized_map/CGAL/GMap_dart.h +++ b/Generalized_map/doc/Generalized_map/CGAL/Generalized_map_dart.h @@ -4,21 +4,21 @@ namespace CGAL { /*! \ingroup PkgGeneralizedMapsClasses -The class `GMap_dart` represents a dD dart in a generalized map. +The class `Generalized_map_dart` represents a dD dart in a generalized map. -\f$ \alpha_i\f$ pointers are coded in a array of d+1 \link GMap_dart::Dart_handle `Dart_handle`\endlink. Attributes are associated to each dart by \link Attribute_handle `Attribute_handle`\endlink, one for each non void i-attribute. +\f$ \alpha_i\f$ pointers are coded in a array of d+1 \link Generalized_map_dart::Dart_handle `Dart_handle`\endlink. Attributes are associated to each dart by \link Attribute_handle `Attribute_handle`\endlink, one for each non void i-attribute. -\cgalModels `::BasicDart` +\cgalModels `Dart` -\tparam d an integer for the dimension of the dart. +\tparam d the dimension of the dart. -\tparam GMap must be a model of the `GeneralizedMap` concept. +\tparam GMap a model of the `GeneralizedMap` concept. \sa `GeneralizedMap` */ template< typename d, typename GMap > -class GMap_dart { +class Generalized_map_dart { public: /// \name Types @@ -48,5 +48,5 @@ using Attribute_const_handle = GMap::Attribute_const_handle; /// @} -}; /* end GMap_dart */ +}; /* end Generalized_map_dart */ } /* end namespace CGAL */ diff --git a/Generalized_map/doc/Generalized_map/CGAL/Generalized_map_min_items.h b/Generalized_map/doc/Generalized_map/CGAL/Generalized_map_min_items.h index 6e7bcd0fd06..23f028e191f 100644 --- a/Generalized_map/doc/Generalized_map/CGAL/Generalized_map_min_items.h +++ b/Generalized_map/doc/Generalized_map/CGAL/Generalized_map_min_items.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgGeneralizedMapsClasses -The class `Generalized_map_min_items` is a model of the `BasicMapItems` concept. It defines the type of darts which is a `GMap_dart`. The `Generalized_map_min_items` has a template argument for the dimension of the generalized map. In this class, no attribute is enabled. +The class `Generalized_map_min_items` is a model of the `BasicMapItems` concept. It defines the type of darts which is a `Generalized_map_dart`. The `Generalized_map_min_items` has a template argument for the dimension of the generalized map. In this class, no attribute is enabled. \cgalModels `BasicMapItems` @@ -21,17 +21,17 @@ struct Generalized_map_min_items template struct Dart_wrapper { - typedef CGAL::GMap_dart Dart; + typedef CGAL::Generalized_map_dart Dart; typedef CGAL::cpp11::tuple<> Attributes; }; }; \endcode \sa `Generalized_map` -\sa `GMap_dart` +\sa `Generalized_map_dart` */ -template< typename d > +template< unsigned int d > class Generalized_map_min_items { public: diff --git a/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h b/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h index f2a278a4251..8b37ea021fb 100644 --- a/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h +++ b/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h @@ -14,11 +14,14 @@ For a generalized map, the function \link BasicMap::next `next`\endlink is equal \cgalHeading{Validity} -The function \link BasicMap::is_valid `is_valid`\endlink returns iff the generalized map is valid. +The function \link BasicMap::is_valid `is_valid`\endlink returns true iff the generalized map is valid. A generalized map is valid (see Sections \ref sec_definition_gmap and \ref ssecgenmapvalidity) if for all its darts `d` \f$\in\f$`darts()`: - \f$ \forall\f$i, 0\f$ \leq\f$i\f$ \leq\f$\link BasicMap::dimension `dimension`\endlink: \f$ \alpha_i(\alpha_i(d))=d\f$; -- \f$ \forall\f$i, j, 0\f$ \leq\f$i\f$ <\f$i+2\f$ \leq\f$j\f$ \leq\f$\link BasicMap::dimension `dimension`\endlink such that j\f$ \geq\f$ 3: \f$ \alpha_j(\alpha_i(\alpha_j(\alpha_i(d))))=d\f$; +- \f$ \forall\f$i, \f$ \forall\f$ j such that +0\f$ \leq\f$i\f$ \leq\f$\link BasicMap::dimension `dimension`\endlink-2 +and i+2\f$ \leq\f$j\f$ \leq\f$\link BasicMap::dimension `dimension`\endlink: +\f$ \alpha_j(\alpha_i(\alpha_j(\alpha_i(d))))=d\f$; - \f$ \forall\f$i, 0\f$ \leq\f$i\f$ \leq\f$\link BasicMap::dimension `dimension`\endlink such that i-attributes are non void: + \f$ \forall\f$d2 in the same i-cell than d: d and d2 have the same i-attribute; + \f$ \forall\f$d2 in a different i-cell than d: d and d2 have different i-attributes. diff --git a/Generalized_map/doc/Generalized_map/Generalized_map.txt b/Generalized_map/doc/Generalized_map/Generalized_map.txt index fdaff20926a..63cb38698d8 100644 --- a/Generalized_map/doc/Generalized_map/Generalized_map.txt +++ b/Generalized_map/doc/Generalized_map/Generalized_map.txt @@ -193,19 +193,19 @@ All information associated to darts \tred{(\f$ \alpha\f$ links and attributes)} \subsection ssecitemgmap Generalized Map Items -\tred{The `BasicMapItems` concept defines dart and attribute types of a generalized map. It contains one inner class named \link BasicMapItems::Dart_wrapper `Dart_wrapper`\endlink, having one template parameter, `BMap`, a model of `BasicMap` concept. The \link BasicMapItems::Dart_wrapper `Dart_wrapper`\endlink class provides two local types: `%Dart` which must be a model of the `::BasicDart` concept, and `%Attributes` which defines the attributes and their types.} +\tred{The `BasicMapItems` concept defines dart and attribute types of a generalized map. It contains one inner class named \link BasicMapItems::Dart_wrapper `Dart_wrapper`\endlink, having one template parameter, `BMap`, a model of `BasicMap` concept. The \link BasicMapItems::Dart_wrapper `Dart_wrapper`\endlink class provides two local types: `%Dart` which must be a model of the `Dart` concept, and `%Attributes` which defines the attributes and their types.} The `%Attributes` tuple must contain at most d+1 types (one for each possible cell dimension of the generalized map). Each type of the tuple must be either a model of the `CellAttribute` concept or `void`. The first type corresponds to 0-attributes, the second to 1-attributes and so on. If the i th type in the tuple is `void`, (i-1)-attributes are disabled: we say that (i-1)-attributes are void. Otherwise, (i-1)-attributes are enabled and have the given type: we say (i-1)-attributes are non void. If the size of the tuple is k, with k\f$ <\f$dimension+1, \f$ \forall\f$i: k\f$ \leq\f$i\f$ \leq\f$dimension, i-attributes are void. -The class `Generalized_map_min_items` is a model of the `BasicMapItems` concept which can be used for default behaviors. It defines \tred{`GMap_dart`} as type of dart, and `Attributes` as empty tuple. +The class `Generalized_map_min_items` is a model of the `BasicMapItems` concept which can be used for default behaviors. It defines \tred{`Generalized_map_dart`} as type of dart, and `Attributes` as empty tuple. \subsection ssecdartsgmap Darts -The class \tred{`GMap_dart`}, a model of the `BasicDart` concept, defines a dD dart for generalized maps. It has two template parameters standing for the dimension of the generalized map, and a model of the `GeneralizedMap` concept, which provides the two types \link BasicMap::Dart_handle `Dart_handle`\endlink and \link BasicMap::Dart_const_handle `Dart_const_handle`\endlink. +The class \tred{`Generalized_map_dart`}, a model of the `Dart` concept, defines a dD dart for generalized maps. It has two template parameters standing for the dimension of the generalized map, and a model of the `GeneralizedMap` concept, which provides the two types \link BasicMap::Dart_handle `Dart_handle`\endlink and \link BasicMap::Dart_const_handle `Dart_const_handle`\endlink. -Each instance `d0` of `GMap_dart` stores the \f$ \alpha_i\f$ pointers in an array of d+1 `Dart_handle`. It also stores the attributes associated to this dart in a tuple of \link BasicMap::Attribute_handle `GMap::Attribute_handle::type`\endlink, one for each non void i-attribute. +Each instance `d0` of `Generalized_map_dart` stores the \f$ \alpha_i\f$ pointers in an array of d+1 `Dart_handle`. It also stores the attributes associated to this dart in a tuple of \link BasicMap::Attribute_handle `GMap::Attribute_handle::type`\endlink, one for each non void i-attribute. -Note that the use of the `GMap_dart` class is not hard wired in the generalized map class. Users can provide their own model of the `BasicDart` concept, and pass it to the generalized map with the help of a custom item class. +Note that the use of the `Generalized_map_dart` class is not hard wired in the generalized map class. Users can provide their own model of the `Dart` concept, and pass it to the generalized map with the help of a custom item class. \subsection ssecattributesgmap Cell Attributes @@ -221,7 +221,7 @@ What we said for the dart also holds for the cell attribute. The generalized map \subsection ssecexampledefgmap Example of Generalized Map Definition -Here comes an example of two generalized map definitions. The first case `Example_gmap4` defines a 4D generalized map which uses all the default values (`GMap_dart` and `Generalized_map_min_items`). The second example `Example_custom_gmap3` uses its own model of the `BasicMapItems` concept. In this model, the type of dart is `GMap_dart<3,GMap>`, thus a dart is in 3D, and an attribute containing an integer is associated to edges. +Here comes an example of two generalized map definitions. The first case `Example_gmap4` defines a 4D generalized map which uses all the default values (`Generalized_map_min_items`). The second example `Example_custom_gmap3` uses its own model of the `BasicMapItems` concept. In this model, the type of dart is `Generalized_map_dart<3,GMap>`, thus a dart is in 3D, and an attribute containing an integer is associated to edges. \code{.cpp} @@ -232,7 +232,7 @@ struct Example_items_3 template struct Dart_wrapper { - typedef CGAL::GMap_dart<3, GMap> Dart; + typedef CGAL::Generalized_map_dart<3, GMap> Dart; typedef CGAL::Cell_attribute Edge_attrib; typedef CGAL::cpp11::tuple Attributes; }; @@ -478,7 +478,7 @@ The output is: \subsection ssecgenmapwithcolor Generalized Map With Attributes -In the following example, we illustrate how to specify the 2-attributes in a 3D generalized map. For that, we define our own item class using `Dart<3,GMap>` as type of dart, and \link Cell_attribute `Cell_attribute`\endlink as attributes which contain an `int` and which are associated to 2-cells of the generalized map. +In the following example, we illustrate how to specify the 2-attributes in a 3D generalized map. For that, we define our own item class using `Generalized_map_dart<3,GMap>` as type of dart, and \link Cell_attribute `Cell_attribute`\endlink as attributes which contain an `int` and which are associated to 2-cells of the generalized map. Functors `Sum_functor` and `Divide_by_two_functor` define a custom behavior: when two attributes `ca1` and `ca2` are merged into `ca1`, the value of `ca1` is the sum of the two initial values. When an attribute `ca1` is split in the two attributes `ca1` and `ca2`, the value of each attribute is half of the first value. diff --git a/Generalized_map/doc/Generalized_map/PackageDescription.txt b/Generalized_map/doc/Generalized_map/PackageDescription.txt index 20023fca188..06a68669cbe 100644 --- a/Generalized_map/doc/Generalized_map/PackageDescription.txt +++ b/Generalized_map/doc/Generalized_map/PackageDescription.txt @@ -25,7 +25,7 @@ \cgalClassifedRefPages ## Concepts ## -- `BasicDart` +- `Dart` - `BasicMap` - `BasicMapItems` - `CellAttribute` @@ -33,9 +33,9 @@ ## Classes ## - `CGAL::Generalized_map` -- `CGAL::GMap_dart` -- `CGAL::Cell_attribute` +- `CGAL::Generalized_map_dart` - `CGAL::Generalized_map_min_items` +- `CGAL::Cell_attribute` */ diff --git a/Generalized_map/include/CGAL/GMap_dart.h b/Generalized_map/include/CGAL/Generalized_map_dart.h similarity index 100% rename from Generalized_map/include/CGAL/GMap_dart.h rename to Generalized_map/include/CGAL/Generalized_map_dart.h diff --git a/Linear_cell_complex/doc/Linear_cell_complex/CGAL/GMap_linear_cell_complex.h b/Linear_cell_complex/doc/Linear_cell_complex/CGAL/GMap_linear_cell_complex.h index b46b56f8dff..9aa8936ab85 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/CGAL/GMap_linear_cell_complex.h +++ b/Linear_cell_complex/doc/Linear_cell_complex/CGAL/GMap_linear_cell_complex.h @@ -50,7 +50,7 @@ static unsigned int ambient_dimension = d2; typedef GMap_linear_cell_complex Self; /*! -The type of dart, must satisfy \link BasicDart::dimension `Dart::dimension`\endlink`==d`. +The type of dart, must satisfy \link Dart::dimension `Dart::dimension`\endlink`==d`. */ typedef Items::Dart_wrapper::Dart Dart; diff --git a/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex.h b/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex.h index 68c5af643d8..f2a8fe29150 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex.h +++ b/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex.h @@ -50,7 +50,7 @@ static const unsigned int ambient_dimension = d2; typedef Linear_cell_complex Self; /*! -The type of dart, must satisfy \link BasicDart::dimension `Dart::dimension`\endlink`==d`. +The type of dart, must satisfy \link Dart::dimension `Dart::dimension`\endlink`==d`. */ typedef Items::Dart_wrapper::Dart Dart;