## CGAL::is_strongly_convex_3

### Definition

The function is_strongly_convex_3 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).

#include <CGAL/convexity_check_3.h>

template<class Polyhedron_3, class Traits>

bool

is_strongly_convex_3 ( | Polyhedron_3& P, Traits traits = Default_traits)

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

The default traits class is the kernel in which the type Polyhedron_3::Point_3 is deinfed.

### Requirements

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

### See Also

CGAL::is_ccw_strongly_convex_2
CGAL::is_cw_strongly_convex_2

### Implementation

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