\( \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.7 - Combinatorial Maps
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Dart Concept Reference

Definition

The concept Dart defines a d-dimensional dart. A dart mainly stores handles to the darts linked with itself by \( \beta_i\), \( \forall\)i, 0 \( \leq\)i \( \leq\)d. Moreover, it stores also handles to each non void attribute associated with itself.

Creation

A dart d0 is never constructed directly, but always created within a combinatorial map cm by using the method cm.create_dart(). A new dart is initialized to be i-free, \( \forall\)i: 0 \( \leq\)i \( \leq\)dimension, and having all its attribute handles initialized to NULL, for each non void attribute.

Has Models:
CGAL::Dart<d,CMap>
Deprecated:
Since CGAL 4.4, CombinatorialMap::null_dart_handle is no longer a static data member. This implies to move the following methods of Dart concept into CombinatorialMap concept: is_free, highest_nonfree_dimension, opposite and other_extremity. You can define the CGAL_CMAP_DEPRECATED macro to keep the old behavior.
Examples:
Combinatorial_map/map_3_dynamic_onmerge.cpp, and Combinatorial_map/map_3_with_colored_facets.cpp.

Constants

static unsigned int dimension
 The dimension of the dart.
 

Types

typedef unspecified_type Dart_handle
 Dart handle type. More...
 
typedef unspecified_type Dart_const_handle
 Dart const handle type. More...
 
template<unsigned int i>
using Attribute_handle = unspecified_type
 Attribute_handle<i>::type is a handle to i-attributes, with 0 \( \leq \) i \( \leq \) dimension. More...
 
template<unsigned int i>
using Attribute_const_handle = unspecified_type
 Attribute_const_handle<i>::type is a const handle to i-attributes, with 0 \( \leq \) i \( \leq \) dimension. More...
 

Access Member Functions

Dart_handle beta (unsigned int i)
 To simplify a future implementation, it is recommended to not use this function and to use cmap.beta(dh,i) instead. More...
 
Dart_const_handle beta (unsigned int i) const
 To simplify a future implementation, it is recommended to not use this function and to use cmap.beta(dh,i) instead. More...
 
Dart_handle beta_inv (unsigned int i)
 To simplify a future implementation, it is recommended to not use this function and to use cmap.beta(dh,CGAL_BETAINV(i)) instead. More...
 
Dart_const_handle beta_inv (unsigned int i) const
 To simplify a future implementation, it is recommended to not use this function and to use cmap.beta(dh,CGAL_BETAINV(i)) instead. More...
 
template<unsigned int i>
Attribute_handle< i >::type attribute ()
 To simplify a future implementation, it is recommended to not use this function and to use cmap.attribute(dh) instead. More...
 
template<unsigned int i>
Attribute_const_handle< i >::type attribute () const
 To simplify a future implementation, it is recommended to not use this function and to use cmap.attribute(dh) instead. More...
 

Member Typedef Documentation

template<unsigned int i>
using Dart::Attribute_const_handle = unspecified_type

Attribute_const_handle<i>::type is a const handle to i-attributes, with 0 \( \leq \) i \( \leq \) dimension.

Must be a model of ConstHandle concept.

Note
It can be implemented using a nested template class.
template<unsigned int i>
using Dart::Attribute_handle = unspecified_type

Attribute_handle<i>::type is a handle to i-attributes, with 0 \( \leq \) i \( \leq \) dimension.

Must be a model of Handle concept.

Note
It can be implemented using a nested template class.

Dart const handle type.

Must be a model of ConstHandle concept.

Dart handle type.

Must be a model of Handle concept.

Member Function Documentation

template<unsigned int i>
Attribute_handle<i>::type Dart::attribute ( )

To simplify a future implementation, it is recommended to not use this function and to use cmap.attribute(dh) instead.

Returns a handle to the i-attribute associated to the dart.

Precondition
0 \( \leq\)i \( \leq\)dimension, and i-attributes are non void.
template<unsigned int i>
Attribute_const_handle<i>::type Dart::attribute ( ) const

To simplify a future implementation, it is recommended to not use this function and to use cmap.attribute(dh) instead.

Returns a const handle to the i-attribute associated to the dart, when the dart is const.

Precondition
0 \( \leq\)i \( \leq\)dimension, and i-attributes are non void.
Dart_handle Dart::beta ( unsigned int  i)

To simplify a future implementation, it is recommended to not use this function and to use cmap.beta(dh,i) instead.

Returns \( \beta_i\)(*this).

Precondition
0 \( \leq\)i \( \leq\)dimension.
Dart_const_handle Dart::beta ( unsigned int  i) const

To simplify a future implementation, it is recommended to not use this function and to use cmap.beta(dh,i) instead.

Returns \( \beta_i\)(*this) when the dart is const.

Precondition
0 \( \leq\)i \( \leq\)dimension.
Dart_handle Dart::beta_inv ( unsigned int  i)

To simplify a future implementation, it is recommended to not use this function and to use cmap.beta(dh,CGAL_BETAINV(i)) instead.

Returns \( \beta_i^{-1}\)(*this).

Precondition
0 \( \leq\)i \( \leq\)dimension.
Dart_const_handle Dart::beta_inv ( unsigned int  i) const

To simplify a future implementation, it is recommended to not use this function and to use cmap.beta(dh,CGAL_BETAINV(i)) instead.

Returns \( \beta_i^{-1}\)(*this) when the dart is const.

Precondition
0 \( \leq\)i \( \leq\)dimension.