CGAL 5.6.3 - 3D Envelopes

Loading...
Searching...
No Matches
Modules | Classes | Functions
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-25b
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

- `CGAL::lower_envelope_3`
- `CGAL::upper_envelope_3`
- `CGAL::lower_envelope_xy_monotone_3`
- `CGAL::upper_envelope_xy_monotone_3`

## Concepts

- `EnvelopeTraits_3`

## Classes

- `CGAL::Envelope_diagram_2<EnvTraits>`
- `CGAL::Env_triangle_traits_3<Kernel>`
- `CGAL::Env_sphere_traits_3<ConicTraits>`
- `CGAL::Env_plane_traits_3<Kernel>`
- `CGAL::Env_surface_data_traits_3<Traits,XyData,SData,Cnv>`

## Modules
| Concepts

## Classes
class | CGAL::Env_plane_traits_3< Kernel >
| The traits class `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 >
| The traits class `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

  Traits | must 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

  Traits | must 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

  Traits | must 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

  Traits | must be a model of `EnvelopeTraits_3`. InputIterator must be an input iterator with value type `Traits::Xy_monotone_surface_3`.