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_segment Segment Concept] 14 15[heading Description] 16[concept Segment..segment] 17 18 19[heading Concept Definition] 20 21* there must be a specialization of `traits::tag` defining `segment_tag` as type 22* there must be a specialization of `traits::point_type` to define the underlying point type 23 (even if it does not consist of points, it should define this type, to indicate the points it can work with) 24* there must be a specialization of `traits::indexed_access`, per index and per dimension, with two functions: 25 * `get` to get a coordinate value 26 * `set` to set a coordinate value (this one is not checked for ConstSegment) 27 28[note The segment concept is similar to the box concept, defining using another tag. 29However, the box concept assumes the index as `min_corner`, `max_corner`, while for the segment concept, there is no assumption.] 30 31[heading Available Models] 32* [link geometry.reference.models.model_segment model::segment] 33* [link geometry.reference.models.model_referring_segment referring segment] 34 35[endsect] 36