CGAL 5.6.1 - Combinatorial Maps
|
The concept GenericMapItems
allows to customize a dD generic map by choosing the information associated with darts, by enabling and disabling some attributes, and by choosing to use indices or handles. For that, it defines an inner class template named Dart_wrapper
, with one template parameter, Map
, a model of the GenericMap
concept. This inner class can define the two types Dart_info
and Attributes
.
GenericMap
Example
The following examples show two possible models of the GenericMapItems
concept: the first one for a generic map without dart information, nor enabled attributes, the second one for a generic map that uses std::uint16_t as indices, with a double
associated with each dart, and edge attributes enabled, and associated with a Cell_attribute
containing an int
.
Public Types | |
typedef unspecified_type | Use_index |
If Use_index is CGAL::Tag_true , uses indices as descriptors. More... | |
typedef unspecified_type | Index_type |
Number type used for indices when Use_index is CGAL::Tag_true. More... | |
template<typename Map > | |
using | Dart_wrapper = unspecified_type |
Wrapper class defining type of information associated with darts and types of attributes. More... | |
using GenericMapItems::Dart_wrapper = unspecified_type |
Wrapper class defining type of information associated with darts and types of attributes.
The class Dart_wrapper<Map>
must provide:
Dart_wrapper<Map>::Dart_info
, the type of information associated with darts. Not defined or equal to void
to have no information.Dart_wrapper<Map>::Attributes
The tuple of attributes, containing at most Map::dimension+1
types (one for each possible cell of the generic 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^{\mbox{th}}\) type in the tuple is void
, (i-1)-attributes are disabled. Otherwise, (i-1)-attributes are enabled and have the given type. If the size of the tuple is k, with k<Map::dimension
+1, \( \forall\)i: k \( \leq\)i \( \leq\)Map::dimension
, i-attributes are disabled. If this type is not defined, all attributes are disabled.Number type used for indices when Use_index is CGAL::Tag_true.
By default, use std::uint32_t.
If Use_index
is CGAL::Tag_true
, uses indices as descriptors.
Otherwise (if this type is not defined or different from CGAL::Tag_true
), use handles.