|
CGAL 4.7 - Combinatorial Maps
|
#include <CGAL/Combinatorial_map.h>
Inherited by CGAL::Linear_cell_complex< class, class, class, class, class >.
The class Combinatorial_map represents a dD combinatorial map.
Darts and non void attributes are stored in memory using Compact_container, using Alloc as allocator.
| d | is an integer for the dimension of the map. |
| Items | must be a model of the CombinatorialMapItems concept. |
| Alloc | has to match the standard allocator requirements. The rebind mechanism Alloc will be used to create appropriate allocators internally with value type Dart. |
There are two default template arguments: Combinatorial_map_min_items<d> for Items and CGAL_ALLOCATOR(int) from the <CGAL/memory.h> header file for Alloc.
Complexity
The complexity of sew and unsew is in O( \( |\)S \( |\) \( \times\) \( |\)c \( |\)), S being the set of darts of the orbit \( \langle{}\) \( \beta_1\), \( \ldots\), \( \beta_{i-2}\), \( \beta_{i+2}\), \( \ldots\), \( \beta_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(unsigned int i) is in O( \( |\)D \( |\)), D being the set of darts of the combinatorial 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 combinatorial 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.
CombinatorialMapItems Dart Types | |
| typedef Combinatorial_map< d, Items, Alloc > | Self |
| typedef Items::Dart_wrapper < Self >::Dart | Dart |
| typedef Items::Dart_wrapper<Self>::Dart CGAL::Combinatorial_map< d, Items, Alloc >::Dart |
| typedef Combinatorial_map<d,Items,Alloc> CGAL::Combinatorial_map< d, Items, Alloc >::Self |