CGAL 6.1.2 - 3D Envelopes: CGAL::Envelope_diagram_2< EnvTraits > Class Template Reference

CGAL 6.1.2 - 3D Envelopes

Loading...
Searching...
No Matches
List of all members | Classes
CGAL::Envelope_diagram_2< EnvTraits > Class Template Reference
Reference Manual

`#include <CGAL/envelope_3.h>`

## Inherits from

CGAL::Arrangement_2< EnvTraits >.

## Definition

template<typename EnvTraits>
class CGAL::Envelope_diagram_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.

Examples
  Envelope_3/envelope_planes.cpp, Envelope_3/envelope_spheres.cpp, and Envelope_3/envelope_triangles.cpp.

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

## Additional Inherited Members
Public Types inherited from CGAL::Arrangement_2< EnvTraits >
typedef Traits | Geometry_traits
typedef Default_planar_topology< Geometry_traits, Dcel >::Traits | Topology_traits
typedef Arrangement_on_surface_2< Geometry_traits, Topology_traits > | Base
typedef Base::Point_2 | Point_2
typedef Base::X_monotone_curve_2 | X_monotone_curve_2
typedef Base::Curve_2 | Curve_2
typedef Base::Size | Size
typedef Base::Vertex | Vertex
typedef Base::Halfedge | Halfedge
typedef Base::Face | Face
typedef Base::Vertex_handle | Vertex_handle
typedef Base::Halfedge_handle | Halfedge_handle
typedef Base::Face_handle | Face_handle
typedef Base::Vertex_iterator | Vertex_iterator
typedef Base::Halfedge_iterator | Halfedge_iterator
typedef Base::Edge_iterator | Edge_iterator
typedef Base::Face_iterator | Face_iterator
typedef Base::Unbounded_face_iterator | Unbounded_face_iterator
typedef Base::Halfedge_around_vertex_circulator | Halfedge_around_vertex_circulator
typedef Base::Ccb_halfedge_circulator | Ccb_halfedge_circulator
typedef Base::Hole_iterator | Hole_iterator
typedef Base::Isolated_vertex_iterator | Isolated_vertex_iterator
typedef Base::Vertex_handle | Vertex_const_handle
typedef Base::Halfedge_handle | Halfedge_const_handle
typedef Base::Face_handle | Face_const_handle
typedef Base::Vertex_iterator | Vertex_const_iterator
typedef Base::Halfedge_iterator | Halfedge_const_iterator
typedef Base::Edge_iterator | Edge_const_iterator
typedef Base::Face_iterator | Face_const_iterator
typedef Base::Unbounded_face_iterator | Unbounded_face_const_iterator
typedef Base::Halfedge_around_vertex_circulator | Halfedge_around_const_vertex_circulator
typedef Base::Ccb_halfedge_circulator | Ccb_halfedge_const_circulator
typedef Base::Hole_iterator | Hole_const_iterator
typedef Base::Isolated_vertex_iterator | Isolated_vertex_const_iterator
Public Member Functions inherited from CGAL::Arrangement_2< EnvTraits >
| Arrangement_2 ()
| Arrangement_2 (const Arrangement_2< Traits, Dcel > &other)
| Arrangement_2 (const Traits *traits)
Arrangement_2< Traits, Dcel > & | operator= (other)
void | assign (const Arrangement_2< Traits, Dcel > &other)
void | clear ()
Traits * | traits ()

## Member Typedef Documentation

## ◆ Surface_const_iterator

template<typename EnvTraits >

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