CGAL - Generalized Maps

Loading...
Searching...
No Matches
List of all members
CGAL::Generalized_map< d, Items, Alloc > Class Template Reference
Reference Manual » Classes

`#include <CGAL/Generalized_map.h>`

Inherited by CGAL::Linear_cell_complex_for_generalized_map< typename d, typename d2, typename LCCTraits, typename Items, typename Alloc >.

## Definition

template<unsigned int d, typename Items, typename Alloc>
class CGAL::Generalized_map< d, Items, 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.

Is model of
  `GeneralizedMap`

Template Parameters

  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.

See also
  `GenericMapItems`

Examples
  Generalized_map/gmap_2_moebius.cpp, Generalized_map/gmap_3_dynamic_onmerge.cpp, Generalized_map/gmap_3_index.cpp, Generalized_map/gmap_3_insert.cpp, Generalized_map/gmap_3_marks.cpp, Generalized_map/gmap_3_operations.cpp, Generalized_map/gmap_3_simple_example.cpp, Generalized_map/gmap_3_with_colored_facets.cpp, and Generalized_map/gmap_4_simple_example.cpp.

## 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.

## Member Typedef Documentation

## ◆ Attributes

template<unsigned int d, typename Items , typename Alloc >

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.

## ◆ Dart_info

template<unsigned int d, typename Items , typename Alloc >

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.