]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/geometry/doc/concept/box.qbk
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / geometry / doc / concept / box.qbk
CommitLineData
7c673cae
FG
1[/============================================================================
2 Boost.Geometry (aka GGL, Generic Geometry Library)
3
4 Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
5 Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands.
6 Copyright (c) 2009-2012 Bruno Lalande, Paris, France.
7
8 Use, modification and distribution is subject to the Boost Software License,
9 Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
10 http://www.boost.org/LICENSE_1_0.txt)
11=============================================================================/]
12
13[section:concept_box Box Concept]
14
15[heading Description]
16[concept Box..box]
17
18A box is a geometry with (usually) two or three dimensions, having its axis aligned to the coordinate system.
19
20The box is not one of the basic types in Boost.Geometry (point, linestring, polygon) but it is a ['helper type].
21The main reasons for the box existance are its usefulness for indexing (a spatial index, or splitting a geometry
22into monotonic sections) and it is the output of the [link geometry.reference.algorithms.envelope envelope] algorithm.
23
24Therefore, a box is axis aligned (the envelope is also called aabb, axis aligned bounding box).
25
26[heading Concept Definition]
27
28The Box Concept is defined as following:
29
30* there must be a specialization of `traits::tag`, defining `box_tag` as type
31* there must be a specialization of `traits::point_type` to define the underlying point type
32 (even if it does not consist of points, it should define this type, to indicate the points it can work with)
33* there must be a specialization of `traits::indexed_access`, per index (`min_corner`, `max_corner`) and per dimension, with two functions:
34 * `get` to get a coordinate value
35 * `set` to set a coordinate value (this one is not checked for ConstBox)
36
37
38[heading Available Models]
39* [link geometry.reference.models.model_box model::box]
40
41[endsect]
42