21 #ifndef GEOS_OP_ISVALIDOP_H
22 #define GEOS_OP_ISVALIDOP_H
24 #include <geos/export.h>
26 #include <geos/operation/valid/TopologyValidationError.h>
31 class TopologyValidationError;
34 class CoordinateSequence;
35 class GeometryFactory;
41 class GeometryCollection;
43 class MultiLineString;
47 class EdgeIntersectionList;
101 void checkNoSelfIntersectingRing(
163 bool isSelfTouchingRingFormingHoleValid;
197 parentGeometry(geom),
200 isSelfTouchingRingFormingHoleValid(false)
240 isSelfTouchingRingFormingHoleValid = p_isValid;
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:58
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
Represents a collection of heterogeneous Geometry objects.
Definition: GeometryCollection.h:55
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:188
Definition: LineString.h:68
Models an OGC SFS LinearRing. A LinearRing is a LineString which is both closed and simple.
Definition: LinearRing.h:54
Definition: MultiPolygon.h:59
Represents a linear polygon, which may include holes.
Definition: Polygon.h:64
A list of edge intersections along an Edge.
Definition: EdgeIntersectionList.h:60
A GeometryGraph is a graph that models a given Geometry.
Definition: GeometryGraph.h:74
Implements the algorithsm required to compute the isValid() method for Geometrys.
Definition: IsValidOp.h:61
static bool isValid(const geom::Coordinate &coord)
Checks whether a coordinate is valid for processing. Coordinates are valid iff their x and y coordina...
static bool isValid(const geom::Geometry &geom)
Tests whether a geom::Geometry is valid.
virtual ~IsValidOp()
TODO: validErr can't be a pointer!
Definition: IsValidOp.h:205
static const geom::Coordinate * findPtNotNode(const geom::CoordinateSequence *testCoords, const geom::LinearRing *searchRing, const geomgraph::GeometryGraph *graph)
Find a point from the list of testCoords that is NOT a node in the edge for the list of searchCoords.
void setSelfTouchingRingFormingHoleValid(bool p_isValid)
Sets whether polygons using Self-Touching Rings to form holes are reported as valid.
Definition: IsValidOp.h:238
Contains information about the nature and location of a geom::Geometry validation error.
Definition: TopologyValidationError.h:40
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26