18 #include <geos/export.h> 20 #include <geos/operation/valid/PolygonTopologyAnalyzer.h> 21 #include <geos/operation/valid/TopologyValidationError.h> 35 class GeometryCollection;
39 class 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 checkInteriorDisconnected(PolygonTopologyAnalyzer& areaAnalyzer);
222 : inputGeometry(p_inputGeometry)
255 isInvertedRingValid = p_isValid;
266 return ivo.isValid();
271 return isValid(&coord);
299 const TopologyValidationError* getValidationError();
void setSelfTouchingRingFormingHoleValid(bool p_isValid)
Definition: IsValidOp.h:253
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
Definition: MultiPolygon.h:59
Definition: IsValidOp.h:56
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:188
Definition: LineString.h:68
Represents a linear polygon, which may include holes.
Definition: Polygon.h:64
Represents a collection of heterogeneous Geometry objects.
Definition: GeometryCollection.h:55
Basic namespace for all GEOS functionalities.
Definition: Angle.h:26
Definition: MultiPoint.h:54
Models an OGC SFS LinearRing. A LinearRing is a LineString which is both closed and simple...
Definition: LinearRing.h:57
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:58
IsValidOp(const geom::Geometry *p_inputGeometry)
Definition: IsValidOp.h:221
static bool isValid(const geom::Geometry *geom)
Definition: IsValidOp.h:263