## "Fossies" - the Fresh Open Source Software Archive

### Member "doc_html/Envelope_3/classCGAL_1_1Env__surface__data__traits__3.html" (8 Nov 2019, 16930 Bytes) of package /linux/misc/CGAL-5.0-doc_html.tar.xz:

Caution: In this restricted "Fossies" environment the current HTML page may not be correctly presentated and may have some non-functional links. You can here alternatively try to browse the pure source code or just view or download the uninterpreted raw source code. If the rendering is insufficient you may try to find and view the page on the project site itself.

 CGAL 5.0 - 3D Envelopes
CGAL::Env_surface_data_traits_3< Traits, XyData, SData, Cnv > Class Template Reference

#include <CGAL/Env_surface_data_traits_3.h>

Traits.

## Definition

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.

The traits-class decorator extends the Surface_3 and the Xy_monotone_surface_3 types as detailed below. Each Surface_3 object is associated with a single data field of type SData, and each Xy_monotone_surface_3 object is associated with a single data field of type XyData. When a surface is subdivided into $$xy$$-monotone surfaces, its data field is converted using the conversion functor, which is specified by the Cnv template-parameter, and the resulting objects is copied to all Xy_monotone_surface_3 objects induced by this surface. The conversion functor should provide an operator with the following prototype:

XyData operator() (const SData& d) const;

By default, the two data types are the same, so the conversion operator is trivial and just copies the data object:

 SData = XyData Cnv = _Default_convert_functor
Is Model Of:
EnvelopeTraits_3
Examples:
Envelope_3/envelope_triangles.cpp.

## Classes

class  Surface_3
The Surface_3 class nested within the surface-data traits extends the Base_traits_3::Surface_3 type with an extra data field. More...

class  Xy_monotone_surface_3
The Xy_monotone_surface_3 class nested within the surface-data traits extends the Base_traits_3::Xy_monotone_surface_3 type with an extra data field. More...

## Types

typedef Traits Base_traits_3
the base traits-class.

typedef Base_traits_3::Surface_3 Base_surface_3
the base surface.

typedef Base_traits_3::Xy_monotone_surface_3 Base_xy_monotone_surface_3
the base $$xy$$-monotone surface surface.

typedef Cnv Convert
the conversion functor.

typedef SData Surface_data
the type of data associated with surfaces.

typedef XyData Xy_monotone_surface_data
the type of data associated with $$xy$$-monotone surfaces.