\( \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.11.3 - Interval Skip List
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Interval Skip List Reference

query.png
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-18b
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

Classes

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