Files
geometry/doc/concept/box.qbk
ivanpanch 91700dca22 Fix mistakes (#1429)
* Update geometry.qbk

* Update introduction.qbk

* Update compiling.qbk

* Update design_rationale.qbk

* Update introduction.qbk

* Update quickstart.qbk

* Update creation.qbk

* Update query.qbk

* Update reference.qbk

* Update

* Update

* Update

* Update

* Update buffer_with_strategies.qbk

* Update expand.qbk

* Update expand.qbk

* Update union.hpp

* Update point.qbk

* Update box.qbk

* Update cs.hpp

* Update closure.hpp

* Update point.hpp

* Update rtree.hpp

* Update choose_next_node.hpp

* Update iterator.hpp

* Update point_in_poly_winding.hpp

* Update spatial_query.hpp

* Update imw_p.hpp

* Update remove.hpp

* Update redistribute_elements.hpp

* Update redistribute_elements.hpp

* Update insert.hpp

* Update redistribute_elements.hpp

* Update point_in_poly_crossings_multiply.hpp

* Update closeable_view.hpp

* Update example_adapting_a_legacy_geometry_object_model.qbk

* Update acknowledgments.qbk

* Update indexable.hpp

* Update for_each.hpp

* Update iterators.hpp

* Update spatial_query.hpp

* Update query_iterators.hpp
2025-10-09 19:58:48 +02:00

43 lines
1.9 KiB
Plaintext

[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands.
Copyright (c) 2009-2012 Bruno Lalande, Paris, France.
Use, modification and distribution is subject to the Boost Software License,
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[section:concept_box Box Concept]
[heading Description]
[concept Box..box]
A box is a geometry with (usually) two or three dimensions, having its axis aligned to the coordinate system.
The box is not one of the basic types in Boost.Geometry (point, linestring, polygon) but it is a ['helper type].
The main reasons for the box existence are its usefulness for indexing (a spatial index, or splitting a geometry
into monotonic sections) and it is the output of the [link geometry.reference.algorithms.envelope envelope] algorithm.
Therefore, a box is axis aligned (the envelope is also called aabb, axis aligned bounding box).
[heading Concept Definition]
The Box Concept is defined as following:
* there must be a specialization of `traits::tag`, defining `box_tag` as type
* there must be a specialization of `traits::point_type` to define the underlying point type
(even if it does not consist of points, it should define this type, to indicate the points it can work with)
* there must be a specialization of `traits::indexed_access`, per index (`min_corner`, `max_corner`) and per dimension, with two functions:
* `get` to get a coordinate value
* `set` to set a coordinate value (this one is not checked for ConstBox)
[heading Available Models]
* [link geometry.reference.models.model_box model::box]
[endsect]