Концепция точки описывает требования к типу точки. Алгоритмы в Boost. Геометрия будет проверять любые аргументы геометрии против требований концепции.
Точкой являетсясущность, которая имеет местоположение в пространстве или на плоскости, но не имеет протяженности(wiki). Точка — самая основная геометрия Boost. Геометрия, большинство других геометрий состоят из точек.(Исключения представляют собой коробку и сегмент, которые могут состоять из двух точек, но это не обязательно так.)
должна быть специализация<traits::tag>, определяющая<point_tag>как тип
должна быть специализация<traits::coordinate_type>, определяющая вид ее координат;
должна быть специализация<traits::coordinate_system>, определяющая ее систему координат (картезианскую, сферическую и т.д.).
должна быть специализация<traits::dimension>, определяющая его количество измерений (2, 3, ...) (подсказка: выводить его удобно из<boost::mpl::int_<X>>для X Dimensional)
должна быть специализация<traits::access>, на размерность, с двумя функциями:
<get>для получения координатного значения
<set>для установки координатного значения (это значение не проверяется для ConstPoint).
Статья Point Concept раздела Chapter 1. Geometry Concepts может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.