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

CGAL 6.1.2 - 2D Convex Hulls and Extreme Points

Loading...
Searching...
No Matches
Functions
Convexity Checking
Reference Manual

##

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

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