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

'''<indexterm><primary>buffer_side_selector</primary></indexterm>'''
'''<indexterm><primary>buffer_side_left</primary></indexterm>'''
'''<indexterm><primary>buffer_side_right</primary></indexterm>'''
Enumerates options for side of buffer (left/right w.r.t. directed segment) 

[heading Description]
Around a linestring, a buffer can be defined left or right. Around a polygon, assumed clockwise internally, a buffer is either on the left side (inflates the polygon), or on the right side (deflates the polygon) 

[heading Synopsis]
``enum buffer_side_selector {buffer_side_left, buffer_side_right};``

[heading Values]

[table
[[Value] [Description] ]
[[buffer_side_left] []]
[[buffer_side_right] []]
]


[heading Header]
`#include <boost/geometry/strategies/buffer.hpp>`


[endsect]

[section:closure_selector closure_selector]

'''<indexterm><primary>closure_selector</primary></indexterm>'''
'''<indexterm><primary>open</primary></indexterm>'''
'''<indexterm><primary>closed</primary></indexterm>'''
'''<indexterm><primary>closure_undertermined</primary></indexterm>'''
Enumerates options for defining if polygons are open or closed. 

[heading Description]
The enumeration closure\u005fselector describes options for if a polygon is open or closed. In a closed polygon the very first point (per ring) should be equal to the very last point. The specific closing property of a polygon type is defined by the closure metafunction. The closure metafunction defines a value, which is one of the values enumerated in the closure\u005fselector

[heading Synopsis]
``enum closure_selector {open = 0, closed = 1, closure_undertermined = -1};``

[heading Values]

[table
[[Value] [Description] ]
[[open] [Rings are open: first point and last point are different, algorithms close them explicitly on the fly ]]
[[closed] [Rings are closed: first point and last point must be the same. ]]
[[closure_undertermined] [(Not yet implemented): algorithms first figure out if ring must be closed on the fly ]]
]


[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

`#include <boost/geometry/core/closure.hpp>`

[heading See also]
[link geometry.reference.core.closure The closure metafunction]


[endsect]

[section:join_selector join_selector]

'''<indexterm><primary>join_selector</primary></indexterm>'''
'''<indexterm><primary>join_convex</primary></indexterm>'''
'''<indexterm><primary>join_concave</primary></indexterm>'''
'''<indexterm><primary>join_continue</primary></indexterm>'''
'''<indexterm><primary>join_spike</primary></indexterm>'''
Enumerates types of joins. 

[heading Synopsis]
``enum join_selector {join_convex, join_concave, join_continue, join_spike};``

[heading Values]

[table
[[Value] [Description] ]
[[join_convex] []]
[[join_concave] []]
[[join_continue] []]
[[join_spike] []]
]


[heading Header]
`#include <boost/geometry/strategies/buffer.hpp>`


[endsect]

[section:order_selector order_selector]

'''<indexterm><primary>order_selector</primary></indexterm>'''
'''<indexterm><primary>clockwise</primary></indexterm>'''
'''<indexterm><primary>counterclockwise</primary></indexterm>'''
'''<indexterm><primary>order_undetermined</primary></indexterm>'''
Enumerates options for the order of points within polygons. 

[heading Description]
The enumeration order\u005fselector describes options for the order of points within a polygon. Polygons can be ordered either clockwise or counterclockwise. The specific order of a polygon type is defined by the point\u005forder metafunction. The point\u005forder metafunction defines a value, which is one of the values enumerated in the order\u005fselector

[heading Synopsis]
``enum order_selector {clockwise = 1, counterclockwise = 2, order_undetermined = 0};``

[heading Values]

[table
[[Value] [Description] ]
[[clockwise] [Points are ordered clockwise. ]]
[[counterclockwise] [Points are ordered counter clockwise. ]]
[[order_undetermined] [Points might be stored in any order, algorithms will determine it on the fly (not yet supported) ]]
]


[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

`#include <boost/geometry/core/point_order.hpp>`

[heading See also]
[link geometry.reference.core.point_order The point_order metafunction]


[endsect]

[section:piece_type piece_type]

'''<indexterm><primary>piece_type</primary></indexterm>'''
'''<indexterm><primary>buffered_segment</primary></indexterm>'''
'''<indexterm><primary>buffered_join</primary></indexterm>'''
'''<indexterm><primary>buffered_round_end</primary></indexterm>'''
'''<indexterm><primary>buffered_flat_end</primary></indexterm>'''
'''<indexterm><primary>buffered_point</primary></indexterm>'''
'''<indexterm><primary>buffered_concave</primary></indexterm>'''
'''<indexterm><primary>piece_type_unknown</primary></indexterm>'''
Enumerates types of pieces (parts of buffer) around geometries. 

[heading Synopsis]
``enum piece_type
{
    buffered_segment,
    buffered_join,
    buffered_round_end,
    buffered_flat_end,
    buffered_point,
    buffered_concave,
    piece_type_unknown
};``

[heading Values]

[table
[[Value] [Description] ]
[[buffered_segment] []]
[[buffered_join] []]
[[buffered_round_end] []]
[[buffered_flat_end] []]
[[buffered_point] []]
[[buffered_concave] []]
[[piece_type_unknown] []]
]


[heading Header]
`#include <boost/geometry/strategies/buffer.hpp>`


[endsect]

[section:result_code result_code]

'''<indexterm><primary>result_code</primary></indexterm>'''
'''<indexterm><primary>result_normal</primary></indexterm>'''
'''<indexterm><primary>result_error_numerical</primary></indexterm>'''
'''<indexterm><primary>result_no_output</primary></indexterm>'''
Enumerates types of result codes from buffer strategies. 

[heading Synopsis]
``enum result_code {result_normal, result_error_numerical, result_no_output};``

[heading Values]

[table
[[Value] [Description] ]
[[result_normal] []]
[[result_error_numerical] []]
[[result_no_output] []]
]


[heading Header]
`#include <boost/geometry/strategies/buffer.hpp>`


[endsect]

[section:validity_failure_type validity_failure_type]

'''<indexterm><primary>validity_failure_type</primary></indexterm>'''
'''<indexterm><primary>no_failure</primary></indexterm>'''
'''<indexterm><primary>failure_few_points</primary></indexterm>'''
'''<indexterm><primary>failure_wrong_topological_dimension</primary></indexterm>'''
'''<indexterm><primary>failure_spikes</primary></indexterm>'''
'''<indexterm><primary>failure_duplicate_points</primary></indexterm>'''
'''<indexterm><primary>failure_not_closed</primary></indexterm>'''
'''<indexterm><primary>failure_self_intersections</primary></indexterm>'''
'''<indexterm><primary>failure_wrong_orientation</primary></indexterm>'''
'''<indexterm><primary>failure_interior_rings_outside</primary></indexterm>'''
'''<indexterm><primary>failure_nested_interior_rings</primary></indexterm>'''
'''<indexterm><primary>failure_disconnected_interior</primary></indexterm>'''
'''<indexterm><primary>failure_intersecting_interiors</primary></indexterm>'''
'''<indexterm><primary>failure_wrong_corner_order</primary></indexterm>'''
'''<indexterm><primary>failure_invalid_coordinate</primary></indexterm>'''
Enumerates the possible validity failure types for a geometry. 

[heading Description]
The enumeration validity\u005ffailure\u005ftype enumerates the possible reasons for which a geometry may be found as invalid by the is\u005fvalid algorithm. Besides the values that indicate invalidity, there is an additional value (no\u005ffailure) that indicates validity.

[heading Synopsis]
``enum validity_failure_type
{
    no_failure = 0,
    failure_few_points = 10,
    failure_wrong_topological_dimension = 11,
    failure_spikes = 12,
    failure_duplicate_points = 13,
    failure_not_closed = 20,
    failure_self_intersections = 21,
    failure_wrong_orientation = 22,
    failure_interior_rings_outside = 30,
    failure_nested_interior_rings = 31,
    failure_disconnected_interior = 32,
    failure_intersecting_interiors = 40,
    failure_wrong_corner_order = 50,
    failure_invalid_coordinate = 60
};``

[heading Values]

[table
[[Value] [Description] ]
[[no_failure] [The geometry is valid ]]
[[failure_few_points] [The geometry has a very small number of points, e.g., less than 2 for linestrings, less than 3 for open rings, a closed multi-polygon that contains a polygon with less than 4 points, etc. (applies to linestrings, rings, polygons, multi-linestrings and multi-polygons) ]]
[[failure_wrong_topological_dimension] [The topological dimension of the geometry is smaller than its dimension, e.g., a linestring with 3 identical points, an open polygon with an interior ring consisting of 3 collinear points, etc. (applies to linear and areal geometries, including segments and boxes) ]]
[[failure_spikes] [The geometry contains spikes (applies to linear and areal geometries) ]]
[[failure_duplicate_points] [The geometry has (consecutive) duplicate points (applies to areal geometries only) ]]
[[failure_not_closed] [The geometry is defined as closed, the starting/ending points are not equal (applies to areal geometries only) ]]
[[failure_self_intersections] [The geometry has invalid self-intersections. (applies to areal geometries only) ]]
[[failure_wrong_orientation] [The actual orientation of the geometry is different from the one defined (applies to areal geometries only) ]]
[[failure_interior_rings_outside] [The geometry contains interior rings that lie outside the exterior ring (applies to polygons and multi-polygons only) ]]
[[failure_nested_interior_rings] [The geometry has nested interior rings (applies to polygons and multi-polygons only) ]]
[[failure_disconnected_interior] [The interior of the geometry is disconnected (applies to polygons and multi-polygons only) ]]
[[failure_intersecting_interiors] [The multi-polygon contains polygons whose interiors are not disjoint (applies to multi-polygons only) ]]
[[failure_wrong_corner_order] [The top-right corner of the box is lexicographically smaller than its bottom-left corner (applies to boxes only) ]]
[[failure_invalid_coordinate] [The geometry has at least one point with an invalid coordinate (for example, the coordinate is a NaN) ]]
]


[heading Header]
`#include <boost/geometry/algorithms/validity_failure_type.hpp>`

[heading See also]
[link geometry.reference.algorithms.is_valid The is_valid
algorithm taking a reference to validity_failure_type as second argument]


[endsect]

