\( \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.8 - dD Spatial Searching

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::Fair< Traits, SpatialSeparator > Class Template Reference
Splitter Classes

`#include <CGAL/Splitters.h>`

## Definition

Implements the fair splitting rule.

This splitting rule is a compromise between the median of rectangle splitting rule and the midpoint of rectangle splitting rule. This splitting rule maintains an upper bound on the maximal allowed ratio of the longest and shortest side of a rectangle (the value of this upper bound is set in the constructor of the fair splitting rule). Among the splits that satisfy this bound, it selects the one in which the points have the largest spread. It then splits the points in the most even manner possible, subject to maintaining the bound on the ratio of the resulting rectangles.

Template Parameters

  Traits | must be a model of the concept `SearchTraits`, for example `CGAL::Search_traits_2`.
  SpatialSeparator | must be a model of the concept `SpatialSeparator`. It has as default value the type `Plane_separator<Traits::FT>`.

Is Model Of:
  `Splitter`

See Also
  `Splitter`
  `SpatialSeparator`

Examples:
  Spatial_searching/using_fair_splitting_rule.cpp.

## Types
typedef Traits::FT | FT
| Number type.

## Creation
| Fair ()
| Default constructor.
| Fair (unsigned int bucket_size, FT aspect_ratio=FT(3))
| Constructor.