\( \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.8 - Interval Skip List

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Modules | Classes
Interval Skip List Reference

##

Andreas Fabri
An interval skip list is a data structure for finding all intervals that contain a point, and for stabbing queries, that is for answering the question whether a given point is contained in an interval or not. For a triangulated terrain, this allows to quickly identify the triangles which intersect an iso line.

Introduced in: CGAL 3.0
BibTeX: cgal:f-isl-16a
License: GPL

This chapter presents the interval skip list introduced by Hanson [1], and derived from the skip list data structure [2].

The data structure stores intervals and allows to perform stabbing queries, that is to test whether a point is covered by any of the intervals. It further allows to find all intervals that contain a point.

The interval skip list is, as far as its functionality is concerned, related to the `Segment_tree_d`. Both allow to do stabbing queries and both allow to find all intervals that contain a given point. The implementation of segment trees in CGAL works in higher dimensions, whereas the interval skip list is limited to the 1D case. However, this interval skip list implementation is fully dynamic, whereas the segment tree implementation in CGAL is static, that is all intervals must be known in advance.

This package has one concept, namely for the interval with which the interval skip list class is parameterized.

## Classified Reference Pages

## Concepts

- `Interval`

## Classes

- `CGAL::Interval_skip_list<Interval>`
- `CGAL::Interval_skip_list_interval<Value>`
- `CGAL::Level_interval<FaceHandle>`

## Modules
| Concepts

## Classes
class | CGAL::Interval_skip_list< Interval >
| The class `Interval_skip_list` is a dynamic data structure that allows to find all members of a set of intervals that overlap a point. More...
class | CGAL::Interval_skip_list_interval< Value >
| The class `Interval_skip_list_interval` represents intervals with lower and upper bound of type `Value`. More...
class | CGAL::Level_interval< FaceHandle >
| The class `Level_interval` represents intervals for the minimum and maximum value of the `z`-coordinate of a face of a triangulation. More...