[/============================================================================
  Boost.Geometry (aka GGL, Generic Geometry Library)

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

  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)
=============================================================================/]


[/ Generated by doxygen_xml2qbk 1.1.1, don't change, will be overwritten automatically]
[/ Generated from doxy/doxygen_output/xml/group__buffer.xml]
[section:buffer_4 buffer]

'''<indexterm><primary>buffer</primary></indexterm>'''
Calculates the buffer of a geometry. 

[heading Description]
The free function buffer calculates the buffer (a polygon being the spatial point set collection within a specified maximum distance from a geometry) of a geometry. 

[heading Synopsis]
``template<typename Input, typename Output, typename Distance>
void buffer(Input const & geometry_in, Output & geometry_out, Distance const & distance,
            Distance const & chord_length = -1)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Input const &] [Any type fulfilling a Geometry Concept ] [geometry_in] [A model of the specified concept ]]
[[Output &] [Any type fulfilling a Geometry Concept ] [geometry_out] [A model of the specified concept ]]
[[Distance const &] [numerical type (int, double, ttmath, ...) ] [distance] [The distance to be used for the buffer ]]
[[Distance const &] [numerical type (int, double, ttmath, ...) ] [chord_length] [(optional) The length of the chord's in the generated arcs around points or bends]]
]


[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

`#include <boost/geometry/algorithms/buffer.hpp>`

[include reference/algorithms/buffer.qbk]


[endsect]

[section:buffer_7_with_strategies buffer (with strategies)]

'''<indexterm><primary>buffer</primary></indexterm>'''
Calculates the buffer of a geometry. 

[heading Description]
The free function buffer calculates the buffer (a polygon being the spatial point set collection within a specified maximum distance from a geometry) of a geometry. 

[heading Synopsis]
``template<typename GeometryIn, typename MultiPolygon, typename DistanceStrategy, typename SideStrategy,
         typename JoinStrategy, typename EndStrategy, typename PointStrategy>
void buffer(GeometryIn const & geometry_in, MultiPolygon & geometry_out, DistanceStrategy const & distance_strategy,
            SideStrategy const & side_strategy, JoinStrategy const & join_strategy, EndStrategy const & end_strategy,
            PointStrategy const & point_strategy)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[GeometryIn const &] [Any type fulfilling a Geometry Concept ] [geometry_in] [A model of the specified concept ]]
[[MultiPolygon &] [A type fulfilling the MultiPolygon Concept ] [geometry_out] [output multi polygon (or std:: collection of polygons), will contain a buffered version of the input geometry ]]
[[DistanceStrategy const &] [A strategy defining distance (or radius) ] [distance_strategy] [The distance strategy to be used ]]
[[SideStrategy const &] [A strategy defining creation along sides ] [side_strategy] [The side strategy to be used ]]
[[JoinStrategy const &] [A strategy defining creation around convex corners ] [join_strategy] [The join strategy to be used ]]
[[EndStrategy const &] [A strategy defining creation at linestring ends ] [end_strategy] [The end strategy to be used ]]
[[PointStrategy const &] [A strategy defining creation around points ] [point_strategy] [The point strategy to be used]]
]


[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

`#include <boost/geometry/algorithms/buffer.hpp>`

[include reference/algorithms/buffer_with_strategies.qbk]


[endsect]

[section:return_buffer return_buffer]

'''<indexterm><primary>return_buffer</primary></indexterm>'''
Calculates the buffer of a geometry. 

[heading Description]
The free function return\u005fbuffer calculates the buffer (a polygon being the spatial point set collection within a specified maximum distance from a geometry) of a geometry. This version with the return\u005f prefix returns the buffer, and a template parameter must therefore be specified in the call.. 

[heading Synopsis]
``template<typename Output, typename Input, typename Distance>
Output return_buffer(Input const & geometry, Distance const & distance, Distance const & chord_length = -1)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Output] [Any type fulfilling a Geometry Concept ] [ - ] [Must be specified]]
[[Input const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
[[Distance const &] [numerical type (int, double, ttmath, ...) ] [distance] [The distance to be used for the buffer ]]
[[Distance const &] [numerical type (int, double, ttmath, ...) ] [chord_length] [(optional) The length of the chord's in the generated arcs around points or bends (RESERVED, NOT YET USED) ]]
]


[heading Returns]
The calculated \1 

[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

`#include <boost/geometry/algorithms/buffer.hpp>`


[endsect]

