## ConvexHullPolyhedron_3

### Definition

The requirements of the polyhedron type to be built by the function convex_hull_3.

### Has Models

CGAL::Polyhedron_3<Traits>

### Types

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

### Creation

Only a default constructor is required.

ConvexHullPolyhedron_3 p;

### Operations

Facet_iterator | p.facets_begin () | iterator over all facets (excluding holes).
Facet_iterator | p.facets_end () | past-the-end iterator.
Halfedge_iterator P.
| p.halfedges_begin ()
|  | iterator over all halfedges.
Halfedge_iterator P.
| p.halfedges_end () | past-the-end iterator.

Halfedge_handle

p.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.
void | p.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

p.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.

Halfedge_handle

p.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 | p.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.
void | p.delegate ( Modifier_base<Halfedge_data_structure>& m)
|  | calls the operator() of the modifier m. See Modifier_base in the Support Library Manual for a description of modifier design and its usage.