CGAL 4.7 - dD Spatial Searching: Splitter Concept Reference

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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
Splitter Concept Reference
Concepts

## Definition

Advanced

The concept `Splitter` defines the requirements for a function object class implementing a splitting rule.

Has Models:

  `CGAL::Fair<Traits, SpatialSeparator>`

  `CGAL::Median_of_rectangle<Traits, SpatialSeparator>`

  `CGAL::Median_of_max_spread<Traits, SpatialSeparator>`

  `CGAL::Midpoint_of_rectangle<Traits, SpatialSeparator>`

  `CGAL::Midpoint_of_max_spread<Traits, SpatialSeparator>`

  `CGAL::Sliding_fair<Traits, SpatialSeparator>`

  `CGAL::Sliding_midpoint<Traits, SpatialSeparator>`

Examples:
  Spatial_searching/searching_polyhedron_vertices.cpp, Spatial_searching/searching_surface_mesh_vertices.cpp, Spatial_searching/searching_with_point_with_info_inplace.cpp, and Spatial_searching/searching_with_point_with_info_pmap.cpp.

## Types

The parameters `aspect_ratio` and `bucket_size` define the way in which \(k\) - \(d\) tree is constructed.
typedef unspecified_type | FT
| Number type.
typedef unspecified_type | Separator
| Separator.
typedef unspecified_type | Container
| Typedef to an instantiation of `CGAL::Point_container<Traits>`.

## Operations

FT | aspect_ratio () const
| Returns the maximal ratio between the largest and smallest side of a cell allowed for fair splitting.
unsigned int | bucket_size () const
| Returns the bucket size of the leaf nodes.
void | operator() (Separator &sep, Container &c0, Container &c1) const
| Sets up `sep` and splits points of `c0` into `c0` and `c1` using `sep`. More...

## Member Function Documentation

void Splitter::operator() | ( | Separator & | sep,
|  | Container & | c0,
|  | Container & | c1
| ) |  | const

Sets up `sep` and splits points of `c0` into `c0` and `c1` using `sep`.

Container `c0` should contain at least two points and `c1` must be empty.