\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.10-I-196 - Generalized Maps
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Generalized_map< d, Items, Alloc > Class Template Reference

#include <CGAL/Generalized_map.h>

Definition

The class Generalized_map represents a dD generalized map.

Darts and non void attributes are stored in memory using Compact_container, using Alloc as allocator.

Is Model Of:
GeneralizedMap
Template Parameters
dthe dimension of the map.
Itemsa model of the GenericMapItems concept. Equal to Generic_map_min_items by default.
Allochas 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_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.

Constants

static const unsigned int dimension = d
 The dimension of the generalized map.
 

Types

typedef Generalized_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...
 

Member Typedef Documentation

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 CGAL::cpp11::tuple<> if Attributes is not defined in the items class.

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.