Концепция коробки описывает требования к типу коробки. Алгоритмы в Boost. Геометрия будет проверять любые аргументы геометрии против требований концепции.
Коробка представляет собой геометрию с (обычно) двумя или тремя измерениями, ось которой выровнена с системой координат.
Коробка не является одним из основных типов в Boost. Геометрия (точка, струна, многоугольник), но этоТип помощника. Основными причинами существования коробки являются ее полезность для индексации (пространственный индекс или расщепление геометрии на монотонные секции) и выход алгоритмаконверт.
Поэтому коробка выровнена по оси (оболочка также называется aabb, ось выровнена по оси).
Концепция коробки определяется следующим образом:
- должна быть специализация<
traits::tag>, определяющая<box_tag>как тип
- должна быть специализация<
traits::point_type>для определения базового типа точки (даже если он не состоит из точек, он должен определить этот тип, чтобы указать точки, с которыми он может работать).
- должна быть специализация<
traits::indexed_access>, на индекс<min_corner>,<max_corner>и на размерность, с двумя функциями:- <
get>для получения координатного значения
- <
set>для установки координатного значения (это значение не проверяется для ConstBox).