CGAL 4.7 - Combinatorial Maps
|
The concept CombinatorialMapItems
allows to customize a dD combinatorial map by choosing the type of darts, and by enabling and disabling some attributes. For that, it defines an inner class template named Dart_wrapper, with one template parameter, CMap
, a model of the CombinatorialMap
concept. This inner class must define two types: Dart
and Attributes
.
CombinatorialMap
Dart
Example
The following examples show two possible models of the CombinatorialMapItems
concept: the first one for a 4D combinatorial map without enabled attributes, the second one for a 3D combinatorial map with edge attributes enabled, and associated with a Cell_attribute containing an int
.
Public Types | |
template<typename CMap > | |
using | Dart_wrapper = unspecified_type |
Wrapper class defining type of darts and types of attributes. More... | |
using CombinatorialMapItems::Dart_wrapper = unspecified_type |
Wrapper class defining type of darts and types of attributes.
The class Dart_wrapper<CMap>
must provide:
Dart_wrapper<CMap>::Dart
, the type of dart, a model of the Dart
concept.Dart_wrapper<CMap>::Attributes
The tuple of attributes, containing at most CMap::dimension+1 types (one for each possible cell 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^{\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<CMap::dimension+1, \( \forall\)i: k \( \leq\)i \( \leq\)CMap::dimension, i-attributes are disabled.