The class Env_surface_data_traits_3<Traits,XyData,SData,Cnv> 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 -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> |
#include <CGAL/Env_surface_data_traits_3.h>
|
| the base traits-class. |
| ||
| the base surface. | |
| ||
| the base -monotone surface surface. | |
|
| the conversion functor. |
|
| the type of data associated with surfaces. |
|
| the type of data associated with -monotone surfaces. |
The Surface_3 class nested within the surface-data traits extends the Base_traits_3::Surface_3 type with an extra data field.
| |
default constructor.
| |
| |
constructs surface from the given base surface with uninitialized
data field.
| |
| |
constructs surface from the given base surface with an attached
data field.
|
|
| returns the data field (a non-const version, which returns a reference to the data object, is also available). |
|
| sets the data field. |
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.
| |||
default constructor.
| |||
| |||
constructs an -monotone surface from the given base surface with
uninitialized data field.
| |||
| |||
constructs an -monotone surface from the given base -monotone
surface with an attached data field.
|