## CGAL::Fair<Traits, SpatialSeparator>

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

#include <CGAL/Splitters.h>

### Parameters

Expects for the first template argument a model of the concept SearchTraits, for example Cartesian_d<double>.

Expects for the second template argument a model of the concept Separator. It has as default value the type, CGAL::Plane_separator<Traits::FT>.

### Is Model for the Concept

Splitter

### Types

Traits::FT | FT; | Number type.

### Creation

Fair<Traits, SpatialSeparator> s;
| Default constructor.

Fair<Traits, SpatialSeparator> s ( | unsigned int bucket_size, FT aspect_ratio=FT(3));

| Constructor.

### Operations

FT | s.aspect_ratio () | Returns the maximal ratio between the largest and smallest side of a cell allowed for fair splitting.
unsigned int | s.bucket_size () | Returns the bucket size of the leaf nodes.

### See Also

Splitter,
SpatialSeparator