\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.8 - 3D Polyhedral Surface

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::Polyhedron_traits_3< Kernel > Class Template Reference
3D Polyhedral Surface Reference

`#include <CGAL/Polyhedron_traits_3.h>`

## Definition

The class `Polyhedron_traits_3` is a model of the `PolyhedronTraits_3` concept.

It defines the geometric types and primitive operations used in the polyhedral surface data structure `Polyhedron_3<PolyhedronTraits_3>` in terms of the CGAL `Kernel`. It keeps a local copy of the kernel which makes it suitable for kernels with local state.

Is Model Of:
  `PolyhedronTraits_3`

See Also
  `CGAL::Polyhedron_traits_with_normals_3<Kernel>`

Implementation

Since the `PolyhedronTraits_3` concept is a subset of the concept Kernel, this class just forwards the relevant types and access member functions from its template argument. However, it is useful for testing sufficiency of requirements.

Example

Instantiation of a polyhedral surface with the Cartesian kernel based on double coordinates.

File Polyhedron/polyhedron_prog_simple.cpp

#include <CGAL/Simple_cartesian.h>
#include <CGAL/Polyhedron_3.h>
typedef CGAL::Simple_cartesian<double> Kernel;
typedef CGAL::Polyhedron_3<Kernel> Polyhedron;
typedef Polyhedron::Halfedge_handle Halfedge_handle;
int main() {
Polyhedron P;
Halfedge_handle h = P.make_tetrahedron();
if ( P.is_tetrahedron(h))
return 0;
return 1;
}

## Types
typedef unspecified_type | Kernel
| the `Kernel` model.
typedef Kernel::Point_3 | Point_3
typedef Kernel::Plane_3 | Plane_3
typedef Kernel::Construct_opposite_plane_3 | Construct_opposite_plane_3

## Creation
| Polyhedron_traits_3 ()
| default constructor, uses `Kernel()` as local reference to the kernel.
| Polyhedron_traits_3 (const Kernel &kernel)
| stores `kernel` as local reference.

## Operations
Construct_opposite_plane_3 | construct_opposite_plane_3_object ()
| forwarded to `kernel`.