#### /Src/Dependencies/Boost/libs/geometry/doc/concept/point.qbk

text | 49 lines | 37 code | 12 blank | 0 comment | 0 complexity | 1e97382dd8d9931c173f67739ec18f59 MD5 | raw file
``` 1[/============================================================================
2  Boost.Geometry (aka GGL, Generic Geometry Library)
3
4  Copyright (c) 2009-2011 Mateusz Loskot, London, UK.
5  Copyright (c) 2009-2011 Barend Gehrels, Amsterdam, the Netherlands.
6  Copyright (c) 2009-2011 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
11=============================================================================/]
12
13[section:concept_point Point Concept]
14
16[concept Point..point]
17
18A point is ['an entity that has a location in space or on a plane, but has no extent] ([@http://en.wikipedia.org/wiki/Point_(geometry) wiki]).
19The point is the most basic geometry of Boost.Geometry, most other geometries consist of points.
20['(Exceptions are box and segment, which might consist of two points but that is not necessarily the case.)]
21
23
24The Point Concept is defined as following:
25
26* there must be a specialization of `traits::tag`, defining `point_tag` as type
27* there must be a specialization of `traits::coordinate_type`, defining the type of its coordinates
28* there must be a specialization of `traits::coordinate_system`, defining its coordinate system
29	 (cartesian, spherical, etc)
30* there must be a specialization of `traits::dimension`, defining its number of dimensions (2, 3, ...)
31	(hint: derive it conveniently from `boost::mpl::int_<X>` for X Dimensional)
32* there must be a specialization of `traits::access`, per dimension, with two functions:
33	* `get` to get a coordinate value
34	* `set` to set a coordinate value (this one is not checked for ConstPoint)
35