summaryrefslogtreecommitdiff
path: root/libs/geometry/doc/introduction.qbk
blob: 1762a169d85fa536429a36f54638045f343903bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
[/============================================================================
  Boost.Geometry (aka GGL, Generic Geometry Library)

  Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands.
  Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
  Copyright (c) 2009-2012 Bruno Lalande, Paris, France.

  Use, modification and distribution is subject to the Boost Software License,
  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]


[section Introduction]

__boost_geometry__  (aka Generic Geometry Library, GGL), part of collection of
the Boost C++ Libraries, defines concepts, primitives and algorithms for solving
geometry problems.

__boost_geometry__  contains a dimension-agnostic, coordinate-system-agnostic
and scalable kernel, based on concepts, meta-functions and tag dispatching.
On top of that kernel, algorithms are built: area, length, perimeter, centroid,
convex hull, intersection (clipping), within (point in polygon), distance,
envelope (bounding box), simplify, transform, and much more.
The library supports high precision arithmetic numbers, such as __ttmath__.

__boost_geometry__  contains instantiable geometry classes, but library users can
also use their own. Using registration macros or traits classes their geometries
can be adapted to fulfil __boost_geometry__  concepts.

__boost_geometry__  might be used in all domains where geometry plays a role:
mapping and GIS, game development, computer graphics and widgets, robotics,
astronomy and more. The core is designed to be as generic as possible and support
those domains. For now, the development has been mostly GIS-oriented.

The library follows existing conventions:

* conventions from boost
* conventions from the std library
* conventions and names from one of the __ogc__ standards on geometry and, more
    specificly, from the __ogc_sf__

The library was first released with Boost 1.47.0 and from that point on it is 
officially part of the Boost C++ Libraries.

Latest stable version of the source code is included in the 
[@http://www.boost.org/users/download/ Boost packaged releases].
It can also be downloaded from the [@http://github.com/boostorg/boost Boost GitHub repository] (master branch).

The library development upstream is available from the 
[@https://github.com/boostorg/geometry/tree/develop Boost.Geometry (develop branch)].

Note that the library [*extensions] are not distributed in the official Boost 
releases, but only available
in the [@https://github.com/boostorg/geometry/tree/develop Boost.Geometry (develop branch)] 
and that they are subject to change.

__boost_geometry__ was accepted by Boost at November 28, 2009
([@http://permalink.gmane.org/gmane.comp.lib.boost.announce/246 review report]).

There is a __boost_geometry__ [@http://lists.boost.org/mailman/listinfo.cgi/geometry 
mailing list]. The mailing list and its messages are also accessible from  
[@http://boost-geometry.203548.n3.nabble.com/ Nabble] as Boost Geometry. Also on 
the [@http://lists.boost.org/mailman/listinfo.cgi/boost 
Boost Developers list] and on the [@http://lists.boost.org/mailman/listinfo.cgi/boost-users 
Boost Users list] __boost_geometry__ is discussed.

[endsect]