• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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