3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>validity_failure_type</title>
5 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="../../../index.html" title="Chapter 1. Geometry">
8 <link rel="up" href="../enumerations.html" title="Enumerations">
9 <link rel="prev" href="result_code.html" title="result_code">
10 <link rel="next" href="../exceptions.html" title="Exceptions">
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
22 <div class="spirit-nav">
23 <a accesskey="p" href="result_code.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../enumerations.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../exceptions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
26 <div class="titlepage"><div><div><h4 class="title">
27 <a name="geometry.reference.enumerations.validity_failure_type"></a><a class="link" href="validity_failure_type.html" title="validity_failure_type">validity_failure_type</a>
28 </h4></div></div></div>
30 <a class="indexterm" name="idm46186985153248"></a>
31 <a class="indexterm" name="idm46186985152432"></a>
32 <a class="indexterm" name="idm46186985151616"></a>
33 <a class="indexterm" name="idm46186985150800"></a>
34 <a class="indexterm" name="idm46186985149968"></a>
35 <a class="indexterm" name="idm46186985149152"></a>
36 <a class="indexterm" name="idm46186985148320"></a>
37 <a class="indexterm" name="idm46186985147504"></a>
38 <a class="indexterm" name="idm46186985146672"></a>
39 <a class="indexterm" name="idm46186985145840"></a>
40 <a class="indexterm" name="idm46186985145008"></a>
41 <a class="indexterm" name="idm46186985144176"></a>
42 <a class="indexterm" name="idm46186985143344"></a>
43 <a class="indexterm" name="idm46186985142512"></a>
44 <a class="indexterm" name="idm46186985141680"></a>
45 Enumerates the possible validity failure types for a geometry.
48 <a name="geometry.reference.enumerations.validity_failure_type.h0"></a>
49 <span class="phrase"><a name="geometry.reference.enumerations.validity_failure_type.description"></a></span><a class="link" href="validity_failure_type.html#geometry.reference.enumerations.validity_failure_type.description">Description</a>
52 The enumeration validity_failure_type enumerates the possible reasons for
53 which a geometry may be found as invalid by the is_valid algorithm. Besides
54 the values that indicate invalidity, there is an additional value (no_failure)
55 that indicates validity.
58 <a name="geometry.reference.enumerations.validity_failure_type.h1"></a>
59 <span class="phrase"><a name="geometry.reference.enumerations.validity_failure_type.synopsis"></a></span><a class="link" href="validity_failure_type.html#geometry.reference.enumerations.validity_failure_type.synopsis">Synopsis</a>
63 <pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">validity_failure_type</span>
64 <span class="special">{</span>
65 <span class="identifier">no_failure</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
66 <span class="identifier">failure_few_points</span> <span class="special">=</span> <span class="number">10</span><span class="special">,</span>
67 <span class="identifier">failure_wrong_topological_dimension</span> <span class="special">=</span> <span class="number">11</span><span class="special">,</span>
68 <span class="identifier">failure_spikes</span> <span class="special">=</span> <span class="number">12</span><span class="special">,</span>
69 <span class="identifier">failure_duplicate_points</span> <span class="special">=</span> <span class="number">13</span><span class="special">,</span>
70 <span class="identifier">failure_not_closed</span> <span class="special">=</span> <span class="number">20</span><span class="special">,</span>
71 <span class="identifier">failure_self_intersections</span> <span class="special">=</span> <span class="number">21</span><span class="special">,</span>
72 <span class="identifier">failure_wrong_orientation</span> <span class="special">=</span> <span class="number">22</span><span class="special">,</span>
73 <span class="identifier">failure_interior_rings_outside</span> <span class="special">=</span> <span class="number">30</span><span class="special">,</span>
74 <span class="identifier">failure_nested_interior_rings</span> <span class="special">=</span> <span class="number">31</span><span class="special">,</span>
75 <span class="identifier">failure_disconnected_interior</span> <span class="special">=</span> <span class="number">32</span><span class="special">,</span>
76 <span class="identifier">failure_intersecting_interiors</span> <span class="special">=</span> <span class="number">40</span><span class="special">,</span>
77 <span class="identifier">failure_wrong_corner_order</span> <span class="special">=</span> <span class="number">50</span><span class="special">,</span>
78 <span class="identifier">failure_invalid_coordinate</span> <span class="special">=</span> <span class="number">60</span>
79 <span class="special">};</span></pre>
83 <a name="geometry.reference.enumerations.validity_failure_type.h2"></a>
84 <span class="phrase"><a name="geometry.reference.enumerations.validity_failure_type.values"></a></span><a class="link" href="validity_failure_type.html#geometry.reference.enumerations.validity_failure_type.values">Values</a>
86 <div class="informaltable"><table class="table">
112 The geometry is valid
124 The geometry has a very small number of points, e.g., less than
125 2 for linestrings, less than 3 for open rings, a closed multi-polygon
126 that contains a polygon with less than 4 points, etc. (applies
127 to linestrings, rings, polygons, multi-linestrings and multi-polygons)
134 failure_wrong_topological_dimension
139 The topological dimension of the geometry is smaller than its
140 dimension, e.g., a linestring with 3 identical points, an open
141 polygon with an interior ring consisting of 3 collinear points,
142 etc. (applies to linear and areal geometries, including segments
155 The geometry contains spikes (applies to linear and areal geometries)
162 failure_duplicate_points
167 The geometry has (consecutive) duplicate points (applies to areal
180 The geometry is defined as closed, the starting/ending points
181 are not equal (applies to areal geometries only)
188 failure_self_intersections
193 The geometry has invalid self-intersections. (applies to areal
201 failure_wrong_orientation
206 The actual orientation of the geometry is different from the
207 one defined (applies to areal geometries only)
214 failure_interior_rings_outside
219 The geometry contains interior rings that lie outside the exterior
220 ring (applies to polygons and multi-polygons only)
227 failure_nested_interior_rings
232 The geometry has nested interior rings (applies to polygons and
240 failure_disconnected_interior
245 The interior of the geometry is disconnected (applies to polygons
246 and multi-polygons only)
253 failure_intersecting_interiors
258 The multi-polygon contains polygons whose interiors are not disjoint
259 (applies to multi-polygons only)
266 failure_wrong_corner_order
271 The top-right corner of the box is lexicographically smaller
272 than its bottom-left corner (applies to boxes only)
279 failure_invalid_coordinate
284 The geometry has at least one point with an invalid coordinate
285 (for example, the coordinate is a NaN)
292 <a name="geometry.reference.enumerations.validity_failure_type.h3"></a>
293 <span class="phrase"><a name="geometry.reference.enumerations.validity_failure_type.header"></a></span><a class="link" href="validity_failure_type.html#geometry.reference.enumerations.validity_failure_type.header">Header</a>
296 <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">/</span><span class="identifier">algorithms</span><span class="special">/</span><span class="identifier">validity_failure_type</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
299 <a name="geometry.reference.enumerations.validity_failure_type.h4"></a>
300 <span class="phrase"><a name="geometry.reference.enumerations.validity_failure_type.see_also"></a></span><a class="link" href="validity_failure_type.html#geometry.reference.enumerations.validity_failure_type.see_also">See
304 <a class="link" href="../algorithms/is_valid.html" title="is_valid">The is_valid algorithm
305 taking a reference to validity_failure_type as second argument</a>
308 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
309 <td align="left"></td>
310 <td align="right"><div class="copyright-footer">Copyright © 2009-2019 Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam
311 Wulkiewicz, Oracle and/or its affiliates<p>
312 Distributed under the Boost Software License, Version 1.0. (See accompanying
313 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
318 <div class="spirit-nav">
319 <a accesskey="p" href="result_code.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../enumerations.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../exceptions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>