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