[/============================================================================
  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__assign.xml]
[section:assign assign]

'''<indexterm><primary>assign</primary></indexterm>'''
Assigns one geometry to another geometry. 

[heading Description]
The assign algorithm assigns one geometry, e.g. a BOX, to another geometry, e.g. a RING. This only works if it is possible and applicable.

[heading Synopsis]
``template<typename Geometry1, typename Geometry2>
void assign(Geometry1 & geometry1, Geometry2 const & geometry2)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Geometry1 &] [Any type fulfilling a Geometry Concept ] [geometry1] [A model of the specified concept (target) ]]
[[Geometry2 const &] [Any type fulfilling a Geometry Concept ] [geometry2] [A model of the specified concept (source)]]
]


[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

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

[heading Example]
[assign] [assign_output]

[heading See also]
* [link geometry.reference.algorithms.convert convert]


[endsect]

[section:assign_inverse assign_inverse]

'''<indexterm><primary>assign_inverse</primary></indexterm>'''
assign to a box inverse infinite 

[heading Description]
The assign\u005finverse function initialize a 2D or 3D box with large coordinates, the min corner is very large, the max corner is very small. This is a convenient starting point to collect the minimum bounding box of a geometry.

[heading Synopsis]
``template<typename Geometry>
void assign_inverse(Geometry & geometry)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Geometry &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept]]
]


[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

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

[heading Example]
[assign_inverse] [assign_inverse_output]

[heading See also]
* [link geometry.reference.algorithms.make.make_inverse make_inverse]


[endsect]

[section:assign_points assign_points]

'''<indexterm><primary>assign_points</primary></indexterm>'''
Assign a range of points to a linestring, ring or polygon. 

[heading Synopsis]
``template<typename Geometry, typename Range>
void assign_points(Geometry & geometry, Range const & range)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Geometry &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
[[Range const &] [Any type fulfilling a Range Concept where it range_value type fulfills the Point Concept ] [range] [A range containg points fulfilling range and point concepts]]
]


[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

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

[heading Notes]
[note Assign automatically clears the geometry before assigning (use append if you don't want that)]
[heading Example]
[assign_points] [assign_points_output]

[heading See also]
* [link geometry.reference.algorithms.append append]


[endsect]

[section:assign_values_3_2_coordinate_values assign_values (2 coordinate values)]

'''<indexterm><primary>assign_values</primary></indexterm>'''
Assign two coordinates to a geometry (usually a 2D point) 

[heading Synopsis]
``template<typename Geometry, typename Type>
void assign_values(Geometry & geometry, Type const & c1, Type const & c2)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Geometry &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
[[Type const &] [numerical type (int, double, ttmath, ...) to specify the coordinates ] [c1] [First coordinate (usually x-coordinate) ]]
[[Type const &] [numerical type (int, double, ttmath, ...) to specify the coordinates ] [c2] [Second coordinate (usually y-coordinate)]]
]


[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

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

[heading Example]
[assign_2d_point] [assign_2d_point_output]

[heading See also]
* [link geometry.reference.algorithms.make.make_2_2_coordinate_values make]


[endsect]

[section:assign_values_4_3_coordinate_values assign_values (3 coordinate values)]

'''<indexterm><primary>assign_values</primary></indexterm>'''
Assign three values to a geometry (usually a 3D point) 

[heading Synopsis]
``template<typename Geometry, typename Type>
void assign_values(Geometry & geometry, Type const & c1, Type const & c2,
                   Type const & c3)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Geometry &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
[[Type const &] [numerical type (int, double, ttmath, ...) to specify the coordinates ] [c1] [First coordinate (usually x-coordinate) ]]
[[Type const &] [numerical type (int, double, ttmath, ...) to specify the coordinates ] [c2] [Second coordinate (usually y-coordinate) ]]
[[Type const &] [numerical type (int, double, ttmath, ...) to specify the coordinates ] [c3] [Third coordinate (usually z-coordinate)]]
]


[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

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

[heading Example]
[assign_3d_point] [assign_3d_point_output]

[heading See also]
* [link geometry.reference.algorithms.make.make_3_3_coordinate_values make]


[endsect]

[section:assign_values_5_4_coordinate_values assign_values (4 coordinate values)]

'''<indexterm><primary>assign_values</primary></indexterm>'''
Assign four values to a geometry (usually a box or segment) 

[heading Synopsis]
``template<typename Geometry, typename Type>
void assign_values(Geometry & geometry, Type const & c1, Type const & c2,
                   Type const & c3, Type const & c4)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Geometry &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
[[Type const &] [numerical type (int, double, ttmath, ...) to specify the coordinates ] [c1] [First coordinate (usually x1) ]]
[[Type const &] [numerical type (int, double, ttmath, ...) to specify the coordinates ] [c2] [Second coordinate (usually y1) ]]
[[Type const &] [numerical type (int, double, ttmath, ...) to specify the coordinates ] [c3] [Third coordinate (usually x2) ]]
[[Type const &] [numerical type (int, double, ttmath, ...) to specify the coordinates ] [c4] [Fourth coordinate (usually y2)]]
]


[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

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


[endsect]

[section:assign_zero assign_zero]

'''<indexterm><primary>assign_zero</primary></indexterm>'''
assign zero values to a box, point 

[heading Description]
The assign\u005fzero function initializes a 2D or 3D point or box with coordinates of zero 

[heading Synopsis]
``template<typename Geometry>
void assign_zero(Geometry & geometry)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Geometry &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
]


[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

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


[endsect]

