CGAL 4.7 - 2D Convex Hulls and Extreme Points: Convexity Checking

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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
Convexity Checking
2D Convex Hulls and Extreme Points Reference

##

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

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.

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.

`#include <CGAL/convexity_check_2.h>`

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.

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.

`#include <CGAL/convexity_check_2.h>`