CGAL 5.6 - 3D Envelopes
|
#include <CGAL/envelope_3.h>
CGAL::Arrangement_2< EnvTraits >.
The class-template Envelope_diagram_2
represents the minimization diagram that corresponds to the lower envelope of a set of curves, or the maximization diagram that corresponds to their upper envelope.
It is parameterized by a traits class that must be a model of the EnvelopeTraits_3
concept, and is basically a planar arrangement of \( x\)-monotone curves, as defined by this traits class. These \( x\)-monotone curves are the projections of boundary curves of \( xy\)-monotone surfaces, or the intersection curves between such surfaces, onto the \( xy\)-plane. Thus, it is possible to traverse the envelope diagram using the methods inherited from the Arrangement_2
class.
The envelope diagram extends the arrangement features (namely the vertices, halfedges, and faces), such that each feature stores a container of originators - namely, the \( xy\)-monotone surfaces (instances of the type EnvTraits::Xy_monotone_surface_3
) that induce the lower envelope (or the upper envelope, in case of a maximization diagram) over this feature. The envelope diagram provides access methods to these originators.
Classes | |
class | Face |
class | Halfedge |
class | Vertex |
Types | |
typedef Envelope_diagram_2< EnvTraits > | Self |
typedef Arrangement_2< EnvTraits > | Base |
typedef unspecified_type | Surface_const_iterator |
an iterator for the \( xy\)-monotone surfaces that induce a diagram feature. | |
Creation | |
Envelope_diagram_2 () | |
constructs an empty diagram containing one unbounded face, which corresponds to the entire plane and has no originators. | |
Envelope_diagram_2 (const Self &other) | |
copy constructor. | |
Envelope_diagram_2 (EnvTraits *traits) | |
constructs an empty diagram that uses the given traits instance for performing the geometric predicates. | |
typedef unspecified_type CGAL::Envelope_diagram_2< EnvTraits >::Surface_const_iterator |
an iterator for the \( xy\)-monotone surfaces that induce a diagram feature.
Its value-type is EnvTraits::Xy_monotone_surface_3
.