\( \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 - 2D Envelopes

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Envelope_diagram_1< Traits > Class Template Reference
2D Envelopes Reference

`#include <CGAL/Envelope_diagram_1.h>`

## Definition

This class is the default envelope-diagram class used by envelope functions to represent the minimization or the maximization diagram of a set of curves.

It represents the diagram as a doubly-linked list of interleaved vertices and edges. Thus, all operations provided by the envelope diagram take constant time, and the space needed to store the diagram class is linear in the complexity of the envelope.

The envelope-diagram class is parameterized by a traits class, which is a model of the `ArrangementXMonotoneTraits_2` concept, in case we handle only envelopes of \( x\)-monotone curves, or of the refined `ArrangementTraits_2` concept in case we handle arbitrary planar curves.

Is Model Of:
  `EnvelopeDiagram_1`

Examples:
  Envelope_2/convex_hull.cpp, Envelope_2/envelope_circles.cpp, and Envelope_2/envelope_segments.cpp.