CGAL 6.0 - 3D Envelopes
|
#include <CGAL/Env_surface_data_traits_3.h>
Traits.
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<SData,XyData> |
EnvelopeTraits_3
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... | |