\( \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::Sliding_midpoint< Traits, SpatialSeparator > Class Template Reference
Splitter Classes

`#include <CGAL/Splitters.h>`

## Definition

Implements the sliding midpoint splitting rule.

This is a modification of the `Midpoint_of_rectangle` splitting rule. It first attempts to perform a midpoint of rectangle split as described above. If data points lie on both sides of the separating plane the sliding midpoint rule computes the same separator as the midpoint of rectangle rule. If the data points lie only on one side it avoids this by sliding the separator, computed by the midpoint of rectangle rule, to the nearest data point.

Parameters

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

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

Is Model Of:
  `Splitter`

See Also
  `Splitter`
  `SpatialSeparator`

Examples:
  Spatial_searching/splitter_worst_cases.cpp.

## Creation
| Sliding_midpoint (unsigned int bucket_size)
| Constructor.

## Operations
unsigned int | bucket_size ()
| Returns the bucket size of the leaf nodes.