Beginning with CGAL R2.3, this package has a new design. The old design is still available for backwards compatibility and to support older compiler, such as MSVC++6.0. However its use is deprecated and the manual pages are not converted into this new manual format. Instead, see its old documentation in the manual of deprecated packages.
For the polyhedral surface, old and new design cannot be used simultaneously (they have identical include file names and class names). The include files select automatically the old design for MSVC++6.0 and the new design otherwise. This automatism can be overwritten by defining appropriate macros before the include files. The old design is selected with the CGAL_USE_POLYHEDRON_DESIGN_ONE macro. The new design is selected with the CGAL_USE_POLYHEDRON_DESIGN_TWO macro.
The new design differs from the old design in the following ways: The Polyhedron_3 has a different number of template parameters that require different concepts, such as the new HalfedgeDS concept, the new PolyhedronItems_3 concept, and the new PolyhedronTraits_3 concept. The Polyhedron_3 interface is backwards compatible with the old design except that the normal() member function in the facet and related types disappear. Please use the plane equation instead, see also Polyhedron_traits_with_normals_3.
Polyhedral surfaces in three dimensions are composed of vertices, edges, facets and an incidence relationship on them. The organization beneath is a halfedge data structure, which restricts the class of representable surfaces to orientable 2-manifolds - with and without boundary. If the surface is closed we call it a polyhedron.
The polyhedral surface is realized as a container class managing
vertices, halfedges, facets with their incidences, and maintaining the
combinatorial integrity of them. Its local types for the vertices,
halfedges and facets are documented separately. A default traits
class, a default items class and an incremental builder conclude the
references. The polyhedral surface is based on the highly flexible
design of the halfedge data structure, see the reference for
HalfedgeDS in Chapter
or [Ket99], but the default instantiation of the polyhedral
surface can be used without knowing the halfedge data structure.
PolyhedronTraits_3
PolyhedronItems_3
CGAL::Polyhedron_3<Traits>
CGAL::Polyhedron_3<Traits>::Vertex
CGAL::Polyhedron_3<Traits>::Halfedge
CGAL::Polyhedron_3<Traits>::Facet
CGAL::Polyhedron_traits_3<Kernel>
CGAL::Polyhedron_traits_with_normals_3<Kernel>
CGAL::Polyhedron_items_3
CGAL::Polyhedron_incremental_builder_3<HDS>
|
| ||
|
|
| |
| (go there) | ||
|
| ||
|
|
| |
| (go there) | ||