\( \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
Convexity Checking

Functions

template<class Polyhedron , class Traits >
bool CGAL::is_strongly_convex_3 (Polyhedron &P, const Traits &traits=Default_traits)
 determines if the vertices of a given polyhedron represents a strongly convex set of points or not. More...
 

Function Documentation

template<class Polyhedron , class Traits >
bool CGAL::is_strongly_convex_3 ( Polyhedron &  P,
const Traits &  traits = Default_traits 
)

determines if the vertices of a given polyhedron represents a strongly convex set of points or not.

A set of points is said to be strongly convex if it consists of only extreme points (i.e., vertices of the convex hull).

The default traits class is the kernel in which the type Polyhedron::Point_3 is defined.

Requirements

  1. Polyhedron::Point_3 is equivalent to Traits::Point_3.
  2. Traits is a model of the concept IsStronlyConvexTraits_3
  3. Polyhedron must define the following types:
    • Polyhedron::Facet_iterator
    • Polyhedron::Vertex_iterator
    and the following member functions:
    • facets_begin()
    • facets_end()
    • vertices_begin()
    • vertices_end()
    The vertex type of Polyhedron must be a model of ConvexHullPolyhedronVertex_3; the facet type must be ConvexHullPolyhedronFacet_3.

Implementation

This function implements the tests described in [3] to determine convexity and requires \( O(e + f)\) time for a polyhedron with \( e\) edges and \( f\) faces.

determines if the set of vertices of the polyhedron P represent a strongly convex set of points or not.

Precondition
The equations of the facet planes of the polyhedron must have already been computed.

#include <CGAL/convexity_check_3.h>