|
CGAL - Generalized Maps
|
#include <CGAL/Generalized_map.h>
Inherited by CGAL::Linear_cell_complex_for_generalized_map< typename d, typename d2, typename LCCTraits, typename Items, typename Alloc >.
The class Generalized_map represents a dD generalized map.
Two versions exist: one where darts and non void attributes are stored in memory using Compact_container, using Alloc as allocator, and use handles as descriptors; a second one where darts and non void attributes are stored in an internal std::vector like data-structure, and use indices as descriptors. The choice between the two versions is done through the item class.
GeneralizedMap | d | the dimension of the map. |
| Items | a model of the GenericMapItems concept. Equal to Generic_map_min_items by default. |
| Alloc | has to match the standard allocator requirements. The rebind mechanism Alloc will be used to create appropriate allocators internally with value type Dart. Equal to CGAL_ALLOCATOR(int) from <CGAL/memory.h> by default. |
Complexity
The complexity of sew and unsew is in O( \( | \) S \( | \) \( \times \) \( | \) c \( | \) ), S being the set of darts of the orbit \( \langle{}\) \( \alpha_0\), \( \ldots\), \( \alpha_{i-2}\), \( \alpha_{i+2}\), \( \ldots\), \( \alpha_d\) \( \rangle{}\) for the considered dart, and c the biggest j-cell merged or split during the sew such that j-attributes are non void. The complexity of is_sewable is in O( \( | \) S \( | \) ).
The complexity of set_attribute is in O( \( | \) c \( | \) ), c being the i-cell containing the considered dart.
The complexity of is_without_boundary(i) is in O( \( | \) D \( | \) ), D being the set of darts of the generalized map, and the complexity of is_without_boundary() is in O( \( | \) D \( | \) \( \times \) d ).
The complexity of unmark_all and free_mark is in O( 1 ) if all the darts of the generalized map have the same mark, and in O( \( | \) D \( | \) ) otherwise.
The complexity of is_valid is in O( \( | \) D \( | \) \( \times \) d \( ^2\) ).
The complexity of clear is in O( \( | \) D \( | \) \( \times \) d ).
Other methods have all a constant time complexity.
GenericMapItems Types | |
| typedef Generalized_map< d, Items, Alloc > | Self |
| typedef Items::Dart_wrapper< Self >::Dart_info | Dart_info |
| Information associated with darts. | |
| typedef Items::Dart_wrapper< Self >::Attributes | Attributes |
| The tuple of cell attributes. | |
Constants | |
| static const unsigned int | dimension = d |
| The dimension of the generalized map. | |
| typedef Items::Dart_wrapper<Self>::Attributes CGAL::Generalized_map< d, Items, Alloc >::Attributes |
The tuple of cell attributes.
Equal to std::tuple<> if Attributes is not defined in the items class.
| typedef Items::Dart_wrapper<Self>::Dart_info CGAL::Generalized_map< d, Items, Alloc >::Dart_info |
Information associated with darts.
Equal to void if Dart_info is not defined in the items class.