18#include <geos/export.h>
20#include <geos/operation/valid/PolygonTopologyAnalyzer.h>
21#include <geos/operation/valid/TopologyValidationError.h>
35class GeometryCollection;
39class IndexedPointInAreaLocator;
60 static constexpr int MIN_SIZE_LINESTRING = 2;
61 static constexpr int MIN_SIZE_RING = 4;
71 bool isInvertedRingValid =
false;
72 std::unique_ptr<TopologyValidationError> validErr;
74 bool hasInvalidError()
76 return validErr !=
nullptr;
150 bool isNonRepeatedSizeAtLeast(
const geom::LineString* line, std::size_t minSize);
152 void checkAreaIntersections(PolygonTopologyAnalyzer& areaAnalyzer);
211 void checkInteriorConnected(PolygonTopologyAnalyzer& areaAnalyzer);
222 : inputGeometry(p_inputGeometry)
255 isInvertedRingValid = p_isValid;
266 return ivo.isValid();
271 return isValid(&coord);
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:44
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:58
Represents a collection of heterogeneous Geometry objects.
Definition: GeometryCollection.h:52
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:186
Definition: LineString.h:66
Models an OGC SFS LinearRing. A LinearRing is a LineString which is both closed and simple.
Definition: LinearRing.h:55
Definition: MultiPoint.h:51
Definition: MultiPolygon.h:59
Represents a linear polygon, which may include holes.
Definition: Polygon.h:61
Definition: IsValidOp.h:56
IsValidOp(const geom::Geometry *p_inputGeometry)
Definition: IsValidOp.h:221
const TopologyValidationError * getValidationError()
static bool isValid(const geom::Coordinate *coord)
void setSelfTouchingRingFormingHoleValid(bool p_isValid)
Definition: IsValidOp.h:253
static bool isValid(const geom::Geometry *geom)
Definition: IsValidOp.h:263
Contains information about the nature and location of a geom::Geometry validation error.
Definition: TopologyValidationError.h:39
Basic namespace for all GEOS functionalities.
Definition: geos.h:39