CGAL - Generalized Maps
|
#include <CGAL/Generalized_map.h>
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.