\( \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.12 - 2D Convex Hulls and Extreme Points

Functions

template<class ForwardIterator , class Traits >
bool CGAL::is_ccw_strongly_convex_2 (ForwardIterator first, ForwardIterator beyond, const Traits &ch_traits=Default_traits)
 The function is_ccw_strongly_convex_2() determines if a given sequence of points defines a counterclockwise-oriented, strongly convex polygon. More...
 
template<class ForwardIterator , class Traits >
bool CGAL::is_cw_strongly_convex_2 (ForwardIterator first, ForwardIterator beyond, const Traits &ch_traits=Default_traits)
 The function is_cw_strongly_convex_2() determines if a given sequence of points defines a clockwise-oriented, strongly convex polygon. More...
 

Function Documentation

◆ is_ccw_strongly_convex_2()

template<class ForwardIterator , class Traits >
bool CGAL::is_ccw_strongly_convex_2 ( ForwardIterator  first,
ForwardIterator  beyond,
const Traits &  ch_traits = Default_traits 
)

#include <CGAL/convexity_check_2.h>

The function is_ccw_strongly_convex_2() determines if a given sequence of points defines a counterclockwise-oriented, strongly convex polygon.

It returns true, iff the point elements in [first,beyond) form a counterclockwise-oriented strongly convex polygon.

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 Default_traits is the kernel in which the value type of ForwardIterator is defined.

Requirements

Traits contains the following subset of types from the concept ConvexHullTraits_2 and their corresponding member functions that return instances of these types:

  • Traits::Less_xy_2,
  • Traits::Equal_2,
  • Traits::Left_turn_2.
See also
CGAL::is_cw_strongly_convex_2()
CGAL::is_strongly_convex_3()

Implementation

The algorithm requires \( O(n)\) time for a set of \( n\) input points.

◆ is_cw_strongly_convex_2()

template<class ForwardIterator , class Traits >
bool CGAL::is_cw_strongly_convex_2 ( ForwardIterator  first,
ForwardIterator  beyond,
const Traits &  ch_traits = Default_traits 
)

#include <CGAL/convexity_check_2.h>

The function is_cw_strongly_convex_2() determines if a given sequence of points defines a clockwise-oriented, strongly convex polygon.

It returns true, iff the point elements in [first,beyond) form a clockwise-oriented strongly convex polygon.

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 Default_traits is the kernel in which the value type of ForwardIterator is defined.

Requirements

Traits contains the following subset of types from the concept ConvexHullTraits_2 and their corresponding member functions that return instances of these types:

  • Traits::Equal_2,
  • Traits::Less_xy_2,
  • Traits::Left_turn_2.
See also
CGAL::is_ccw_strongly_convex_2()
CGAL::is_strongly_convex_3()

Implementation

The algorithm requires \( O(n)\) time for a set of \( n\) input points.