CGAL 4.12 - Combinatorial Maps
|
#include <CGAL/Combinatorial_map.h>
Inherited by CGAL::Linear_cell_complex_for_combinatorial_map< 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 | 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{}\) \( \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(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.
GenericMapItems
Items
had to define the type of dart used, and the default class was Combinatorial_map_min_items
. This is now deprecated, the Dart
type is no more defined in the item class, but replaced by the Dart_info
type. CGAL_CMAP_DART_DEPRECATED
can be defined to keep the old behavior.Constants | |
static const unsigned int | dimension = d |
The dimension of the combinatorial map. | |
Types | |
typedef Combinatorial_map< d, Items, Alloc > | Self |
typedef Items::Dart_wrapper< Self >::Dart_info | Dart_info |
Information associated with darts. More... | |
typedef Items::Dart_wrapper< Self >::Attributes | Attributes |
The tuple of cell attributes. More... | |
typedef Items::Dart_wrapper<Self>::Attributes CGAL::Combinatorial_map< d, Items, Alloc >::Attributes |
The tuple of cell attributes.
Equal to CGAL::cpp11::tuple<>
if Attributes
is not defined in the items class.
typedef Items::Dart_wrapper<Self>::Dart_info CGAL::Combinatorial_map< d, Items, Alloc >::Dart_info |
Information associated with darts.
Equal to void
if Dart_info
is not defined in the items class.