Concept

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 for a description of modifier design and its usage.