Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Main.js
 
CGAL 6.0.1 - 3D Envelopes
All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
Loading...
Searching...
No Matches
3D Envelopes Reference

Dan Halperin, Michal Meyerovitch, Ron Wein, and Baruch Zukerman
This package consists of functions that compute the lower (or upper) envelope of a set of arbitrary surfaces in 3D. The output is represented as an 2D envelope diagram, namely a planar subdivision such that the identity of the surfaces that induce the envelope over each diagram cell is unique.
Introduced in: CGAL 3.3
Depends on: 2D Arrangements
BibTeX: cgal:mwz-e3-24b
License: GPL

This package consists of functions that compute the lower (or upper) envelope of a set of arbitrary surfaces in 3D. The output is represented as an 2D envelope diagram - a planar subdivision such that the identity of the surfaces that induce the envelope over each diagram cell is unique.

Classified Reference Pages

Functions

Concepts

Classes

Modules

 Concepts
 

Classes

class  CGAL::Env_plane_traits_3< Kernel, ArrLinearTraits >
 The traits class template Env_plane_traits_3 models the EnvelopeTraits_3 concept, and is used for the construction of lower and upper envelopes of planes and half planes in the space. More...
 
class  CGAL::Env_sphere_traits_3< ConicTraits >
 The traits class Env_sphere_traits_3 models the EnvelopeTraits_3 concept, and is used for the construction of lower and upper envelopes of spheres. More...
 
class  CGAL::Env_surface_data_traits_3< Traits, XyData, SData, Cnv >
 The class Env_surface_data_traits_3 is a model of the EnvelopeTraits_3 concept and serves as a decorator class that allows the extension of the surfaces defined by the base traits-class (the Traits parameter), which serves as a geometric traits-class (a model of the EnvelopeTraits_3 concept), with extraneous (non-geometric) data fields. More...
 
class  CGAL::Env_triangle_traits_3< Kernel, ArrSegmentTraits >
 The traits class template Env_triangle_traits_3 models the EnvelopeTraits_3 concept, and is used for the construction of lower and upper envelopes of triangles in the space. More...
 
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. More...
 

Functions

template<class InputIterator , class Traits >
void CGAL::lower_envelope_3 (InputIterator begin, InputIterator end, Envelope_diagram_2< Traits > &diag)
 Computes the lower envelope of a set of surfaces in \mathbb{R}^3, as given by the range [begin, end).
 
template<class InputIterator , class Traits >
void CGAL::lower_envelope_xy_monotone_3 (InputIterator begin, InputIterator end, Envelope_diagram_2< Traits > &diag)
 Computes the lower envelope of a set of xy-monotone surfaces in \mathbb{R}^3, as given by the range [begin, end).
 
template<class InputIterator , class Traits >
void CGAL::upper_envelope_3 (InputIterator begin, InputIterator end, Envelope_diagram_2< Traits > &diag)
 Computes the upper envelope of a set of surfaces in \mathbb{R}^3, as given by the range [begin, end).
 
template<class InputIterator , class Traits >
void CGAL::upper_envelope_xy_monotone_3 (InputIterator begin, InputIterator end, Envelope_diagram_2< Traits > &diag)
 Computes the upper envelope of a set of xy-monotone surfaces in \mathbb{R}^3, as given by the range [begin, end).
 

Function Documentation

◆ lower_envelope_3()

template<class InputIterator , class Traits >
void CGAL::lower_envelope_3 ( InputIterator  begin,
InputIterator  end,
Envelope_diagram_2< Traits > &  diag 
)

#include <CGAL/envelope_3.h>

Computes the lower envelope of a set of surfaces in \mathbb{R}^3, as given by the range [begin, end).

The lower envelope is represented using the output minimization diagram diag.

Template Parameters
Traitsmust be a model of EnvelopeTraits_3. InputIterator must be an input iterator with value type Traits::Surface_3.
Examples
Envelope_3/envelope_planes.cpp, Envelope_3/envelope_spheres.cpp, and Envelope_3/envelope_triangles.cpp.

◆ lower_envelope_xy_monotone_3()

template<class InputIterator , class Traits >
void CGAL::lower_envelope_xy_monotone_3 ( InputIterator  begin,
InputIterator  end,
Envelope_diagram_2< Traits > &  diag 
)

#include <CGAL/envelope_3.h>

Computes the lower envelope of a set of xy-monotone surfaces in \mathbb{R}^3, as given by the range [begin, end).

The lower envelope is represented using the output minimization diagram diag.

Template Parameters
Traitsmust be a model of EnvelopeTraits_3. InputIterator must be an input iterator with value type Traits::Xy_monotone_surface_3.

◆ upper_envelope_3()

template<class InputIterator , class Traits >
void CGAL::upper_envelope_3 ( InputIterator  begin,
InputIterator  end,
Envelope_diagram_2< Traits > &  diag 
)

#include <CGAL/envelope_3.h>

Computes the upper envelope of a set of surfaces in \mathbb{R}^3, as given by the range [begin, end).

The upper envelope is represented using the output maximization diagram diag.

Template Parameters
Traitsmust be a model of EnvelopeTraits_3. InputIterator must be an input iterator with value type Traits::Surface_3.
Examples
Envelope_3/envelope_planes.cpp, and Envelope_3/envelope_triangles.cpp.

◆ upper_envelope_xy_monotone_3()

template<class InputIterator , class Traits >
void CGAL::upper_envelope_xy_monotone_3 ( InputIterator  begin,
InputIterator  end,
Envelope_diagram_2< Traits > &  diag 
)

#include <CGAL/envelope_3.h>

Computes the upper envelope of a set of xy-monotone surfaces in \mathbb{R}^3, as given by the range [begin, end).

The lower envelope is represented using the output maximization diagram diag.

Template Parameters
Traitsmust be a model of EnvelopeTraits_3. InputIterator must be an input iterator with value type Traits::Xy_monotone_surface_3.