\( \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.13 - 2D Envelopes
CGAL::Envelope_diagram_1< Traits > Class Template Reference

#include <CGAL/Envelope_diagram_1.h>


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:
Envelope_2/convex_hull_2.cpp, Envelope_2/envelope_circles.cpp, and Envelope_2/envelope_segments.cpp.