• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1[/============================================================================
2  Boost.Geometry (aka GGL, Generic Geometry Library)
3
4  Copyright (c) 2007-2013 Barend Gehrels, Amsterdam, the Netherlands.
5  Copyright (c) 2008-2013 Bruno Lalande, Paris, France.
6  Copyright (c) 2009-2013 Mateusz Loskot, London, UK.
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
10  http://www.boost.org/LICENSE_1_0.txt)
11=============================================================================/]
12
13
14[/ Generated by doxygen_xml2qbk 1.1.1, don't change, will be overwritten automatically]
15[/ Generated from doxy/doxygen_output/xml/group__enum.xml]
16[section:buffer_side_selector buffer_side_selector]
17
18'''<indexterm><primary>buffer_side_selector</primary></indexterm>'''
19'''<indexterm><primary>buffer_side_left</primary></indexterm>'''
20'''<indexterm><primary>buffer_side_right</primary></indexterm>'''
21Enumerates options for side of buffer (left/right w.r.t. directed segment)
22
23[heading Description]
24Around 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)
25
26[heading Synopsis]
27``enum buffer_side_selector {buffer_side_left, buffer_side_right};``
28
29[heading Values]
30
31[table
32[[Value] [Description] ]
33[[buffer_side_left] []]
34[[buffer_side_right] []]
35]
36
37
38[heading Header]
39`#include <boost/geometry/strategies/buffer.hpp>`
40
41
42[endsect]
43
44[section:closure_selector closure_selector]
45
46'''<indexterm><primary>closure_selector</primary></indexterm>'''
47'''<indexterm><primary>open</primary></indexterm>'''
48'''<indexterm><primary>closed</primary></indexterm>'''
49'''<indexterm><primary>closure_undertermined</primary></indexterm>'''
50Enumerates options for defining if polygons are open or closed.
51
52[heading Description]
53The 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
54
55[heading Synopsis]
56``enum closure_selector {open = 0, closed = 1, closure_undertermined = -1};``
57
58[heading Values]
59
60[table
61[[Value] [Description] ]
62[[open] [Rings are open: first point and last point are different, algorithms close them explicitly on the fly ]]
63[[closed] [Rings are closed: first point and last point must be the same. ]]
64[[closure_undertermined] [(Not yet implemented): algorithms first figure out if ring must be closed on the fly ]]
65]
66
67
68[heading Header]
69Either
70
71`#include <boost/geometry.hpp>`
72
73
74Or
75
76`#include <boost/geometry/core/closure.hpp>`
77
78[heading See also]
79[link geometry.reference.core.closure The closure metafunction]
80
81
82[endsect]
83
84[section:join_selector join_selector]
85
86'''<indexterm><primary>join_selector</primary></indexterm>'''
87'''<indexterm><primary>join_convex</primary></indexterm>'''
88'''<indexterm><primary>join_concave</primary></indexterm>'''
89'''<indexterm><primary>join_continue</primary></indexterm>'''
90'''<indexterm><primary>join_spike</primary></indexterm>'''
91Enumerates types of joins.
92
93[heading Synopsis]
94``enum join_selector {join_convex, join_concave, join_continue, join_spike};``
95
96[heading Values]
97
98[table
99[[Value] [Description] ]
100[[join_convex] []]
101[[join_concave] []]
102[[join_continue] []]
103[[join_spike] []]
104]
105
106
107[heading Header]
108`#include <boost/geometry/strategies/buffer.hpp>`
109
110
111[endsect]
112
113[section:order_selector order_selector]
114
115'''<indexterm><primary>order_selector</primary></indexterm>'''
116'''<indexterm><primary>clockwise</primary></indexterm>'''
117'''<indexterm><primary>counterclockwise</primary></indexterm>'''
118'''<indexterm><primary>order_undetermined</primary></indexterm>'''
119Enumerates options for the order of points within polygons.
120
121[heading Description]
122The 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
123
124[heading Synopsis]
125``enum order_selector {clockwise = 1, counterclockwise = 2, order_undetermined = 0};``
126
127[heading Values]
128
129[table
130[[Value] [Description] ]
131[[clockwise] [Points are ordered clockwise. ]]
132[[counterclockwise] [Points are ordered counter clockwise. ]]
133[[order_undetermined] [Points might be stored in any order, algorithms will determine it on the fly (not yet supported) ]]
134]
135
136
137[heading Header]
138Either
139
140`#include <boost/geometry.hpp>`
141
142
143Or
144
145`#include <boost/geometry/core/point_order.hpp>`
146
147[heading See also]
148[link geometry.reference.core.point_order The point_order metafunction]
149
150
151[endsect]
152
153[section:piece_type piece_type]
154
155'''<indexterm><primary>piece_type</primary></indexterm>'''
156'''<indexterm><primary>buffered_segment</primary></indexterm>'''
157'''<indexterm><primary>buffered_join</primary></indexterm>'''
158'''<indexterm><primary>buffered_round_end</primary></indexterm>'''
159'''<indexterm><primary>buffered_flat_end</primary></indexterm>'''
160'''<indexterm><primary>buffered_point</primary></indexterm>'''
161'''<indexterm><primary>buffered_concave</primary></indexterm>'''
162'''<indexterm><primary>piece_type_unknown</primary></indexterm>'''
163Enumerates types of pieces (parts of buffer) around geometries.
164
165[heading Synopsis]
166``enum piece_type
167{
168    buffered_segment,
169    buffered_join,
170    buffered_round_end,
171    buffered_flat_end,
172    buffered_point,
173    buffered_concave,
174    piece_type_unknown
175};``
176
177[heading Values]
178
179[table
180[[Value] [Description] ]
181[[buffered_segment] []]
182[[buffered_join] []]
183[[buffered_round_end] []]
184[[buffered_flat_end] []]
185[[buffered_point] []]
186[[buffered_concave] []]
187[[piece_type_unknown] []]
188]
189
190
191[heading Header]
192`#include <boost/geometry/strategies/buffer.hpp>`
193
194
195[endsect]
196
197[section:result_code result_code]
198
199'''<indexterm><primary>result_code</primary></indexterm>'''
200'''<indexterm><primary>result_normal</primary></indexterm>'''
201'''<indexterm><primary>result_error_numerical</primary></indexterm>'''
202'''<indexterm><primary>result_no_output</primary></indexterm>'''
203Enumerates types of result codes from buffer strategies.
204
205[heading Synopsis]
206``enum result_code {result_normal, result_error_numerical, result_no_output};``
207
208[heading Values]
209
210[table
211[[Value] [Description] ]
212[[result_normal] []]
213[[result_error_numerical] []]
214[[result_no_output] []]
215]
216
217
218[heading Header]
219`#include <boost/geometry/strategies/buffer.hpp>`
220
221
222[endsect]
223
224[section:validity_failure_type validity_failure_type]
225
226'''<indexterm><primary>validity_failure_type</primary></indexterm>'''
227'''<indexterm><primary>no_failure</primary></indexterm>'''
228'''<indexterm><primary>failure_few_points</primary></indexterm>'''
229'''<indexterm><primary>failure_wrong_topological_dimension</primary></indexterm>'''
230'''<indexterm><primary>failure_spikes</primary></indexterm>'''
231'''<indexterm><primary>failure_duplicate_points</primary></indexterm>'''
232'''<indexterm><primary>failure_not_closed</primary></indexterm>'''
233'''<indexterm><primary>failure_self_intersections</primary></indexterm>'''
234'''<indexterm><primary>failure_wrong_orientation</primary></indexterm>'''
235'''<indexterm><primary>failure_interior_rings_outside</primary></indexterm>'''
236'''<indexterm><primary>failure_nested_interior_rings</primary></indexterm>'''
237'''<indexterm><primary>failure_disconnected_interior</primary></indexterm>'''
238'''<indexterm><primary>failure_intersecting_interiors</primary></indexterm>'''
239'''<indexterm><primary>failure_wrong_corner_order</primary></indexterm>'''
240'''<indexterm><primary>failure_invalid_coordinate</primary></indexterm>'''
241Enumerates the possible validity failure types for a geometry.
242
243[heading Description]
244The 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.
245
246[heading Synopsis]
247``enum validity_failure_type
248{
249    no_failure = 0,
250    failure_few_points = 10,
251    failure_wrong_topological_dimension = 11,
252    failure_spikes = 12,
253    failure_duplicate_points = 13,
254    failure_not_closed = 20,
255    failure_self_intersections = 21,
256    failure_wrong_orientation = 22,
257    failure_interior_rings_outside = 30,
258    failure_nested_interior_rings = 31,
259    failure_disconnected_interior = 32,
260    failure_intersecting_interiors = 40,
261    failure_wrong_corner_order = 50,
262    failure_invalid_coordinate = 60
263};``
264
265[heading Values]
266
267[table
268[[Value] [Description] ]
269[[no_failure] [The geometry is valid ]]
270[[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) ]]
271[[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) ]]
272[[failure_spikes] [The geometry contains spikes (applies to linear and areal geometries) ]]
273[[failure_duplicate_points] [The geometry has (consecutive) duplicate points (applies to areal geometries only) ]]
274[[failure_not_closed] [The geometry is defined as closed, the starting/ending points are not equal (applies to areal geometries only) ]]
275[[failure_self_intersections] [The geometry has invalid self-intersections. (applies to areal geometries only) ]]
276[[failure_wrong_orientation] [The actual orientation of the geometry is different from the one defined (applies to areal geometries only) ]]
277[[failure_interior_rings_outside] [The geometry contains interior rings that lie outside the exterior ring (applies to polygons and multi-polygons only) ]]
278[[failure_nested_interior_rings] [The geometry has nested interior rings (applies to polygons and multi-polygons only) ]]
279[[failure_disconnected_interior] [The interior of the geometry is disconnected (applies to polygons and multi-polygons only) ]]
280[[failure_intersecting_interiors] [The multi-polygon contains polygons whose interiors are not disjoint (applies to multi-polygons only) ]]
281[[failure_wrong_corner_order] [The top-right corner of the box is lexicographically smaller than its bottom-left corner (applies to boxes only) ]]
282[[failure_invalid_coordinate] [The geometry has at least one point with an invalid coordinate (for example, the coordinate is a NaN) ]]
283]
284
285
286[heading Header]
287`#include <boost/geometry/algorithms/validity_failure_type.hpp>`
288
289[heading See also]
290[link geometry.reference.algorithms.is_valid The is_valid
291algorithm taking a reference to validity_failure_type as second argument]
292
293
294[endsect]
295
296