\( \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.12 - 3D Polyhedral Surface
CGAL::Polyhedron_traits_3< Kernel > Class Template 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::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.