\( \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.5 - 3D Convex Hulls
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
ConvexHullPolyhedron_3 Concept Reference

Definition

Requirements of the polyhedron type built by the function CGAL::convex_hull_3().

Has Models:
CGAL::Polyhedron_3

Types

typedef unspecified_type Point_3
 type of point stored in a vertex
 
typedef unspecified_type Vertex
 a model of ConvexHullPolyhedronVertex_3
 
typedef unspecified_type Halfedge
 a model of ConvexHullPolyhedronHalfedge_3
 
typedef unspecified_type Facet
 a model of ConvexHullPolyhedronFacet_3
 
typedef unspecified_type Halfedge_data_structure
 halfedge data structure
 
typedef unspecified_type Halfedge_handle
 handle to halfedge
 
typedef unspecified_type Halfedge_iterator
 iterator for halfedge
 
typedef unspecified_type Facet_handle
 handle to facet
 
typedef unspecified_type Facet_iterator
 iterator for facet
 

Creation

Only a default constructor is required.

 ConvexHullPolyhedron_3 ()
 

Operations

Facet_iterator facets_begin ()
 iterator over all facets (excluding holes).
 
Facet_iterator facets_end ()
 past-the-end iterator.
 
Halfedge_iteratorhalfedges_begin ()
 iterator over all halfedges.
 
Halfedge_iteratorhalfedges_end ()
 past-the-end iterator.
 
Halfedge_handle make_tetrahedron (Point_3 p1, Point_3 p2, Point_3 p3, Point_3 p4)
 adds a new tetrahedron to the polyhedral surface with its vertices initialized with p1, p2, p3 and p4. More...
 
void erase_facet (Halfedge_handle h)
 removes the incident facet of h and changes all halfedges incident to the facet into border edges or removes them from the polyhedral surface if they were already border edges.
 
Halfedge_handle add_vertex_and_facet_to_border (Halfedge_handle h, Halfedge_handle g)
 creates a new facet within the hole incident to h and g by connecting the tip of g with the tip of h with two new halfedges and a new vertex and filling this separated part of the hole with a new facet, such that the new facet is incident to g. More...
 
Halfedge_handle add_facet_to_border (Halfedge_handle h, Halfedge_handle g)
 creates a new facet within the hole incident to h and g by connecting the tip of g with the tip of h with a new halfedge and filling this separated part of the hole with a new facet, such that the new facet is incident to g. More...
 
Halfedge_handle fill_hole (Halfedge_handle h)
 fills a hole with a newly created facet. More...
 
void delegate (Modifier_base< Halfedge_data_structure > &m)
 calls the operator() of the modifier m. More...
 

Member Function Documentation

Halfedge_handle ConvexHullPolyhedron_3::add_facet_to_border ( Halfedge_handle  h,
Halfedge_handle  g 
)

creates a new facet within the hole incident to h and g by connecting the tip of g with the tip of h with a new halfedge and filling this separated part of the hole with a new facet, such that the new facet is incident to g.

Returns the halfedge of the new edge that is incident to the new facet.

Halfedge_handle ConvexHullPolyhedron_3::add_vertex_and_facet_to_border ( Halfedge_handle  h,
Halfedge_handle  g 
)

creates a new facet within the hole incident to h and g by connecting the tip of g with the tip of h with two new halfedges and a new vertex and filling this separated part of the hole with a new facet, such that the new facet is incident to g.

Returns the halfedge of the new edge that is incident to the new facet and the new vertex.

void ConvexHullPolyhedron_3::delegate ( Modifier_base< Halfedge_data_structure > &  m)

calls the operator() of the modifier m.

See Modifier_base for a description of modifier design and its usage.

Halfedge_handle ConvexHullPolyhedron_3::fill_hole ( Halfedge_handle  h)

fills a hole with a newly created facet.

Makes all border halfedges of the hole denoted by h incident to the new facet. Returns h.

Halfedge_handle ConvexHullPolyhedron_3::make_tetrahedron ( Point_3  p1,
Point_3  p2,
Point_3  p3,
Point_3  p4 
)

adds a new tetrahedron to the polyhedral surface with its vertices initialized with p1, p2, p3 and p4.

Returns that halfedge of the tetrahedron which incident vertex is initialized with p1, the incident vertex of the next halfedge with p2, and the vertex thereafter with p3. The remaining fourth vertex is initialized with p4.