00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef GEOS_OP_TOPOLOGYVALIDATIONERROR_H
00018 #define GEOS_OP_TOPOLOGYVALIDATIONERROR_H
00019
00020 #include <string>
00021
00022 #include <geos/geom/Coordinate.h>
00023
00024
00025
00026
00027 namespace geos {
00028 namespace operation {
00029 namespace valid {
00030
00036 class TopologyValidationError {
00037 public:
00038
00039 enum errorEnum {
00040 eError,
00041 eRepeatedPoint,
00042 eHoleOutsideShell,
00043 eNestedHoles,
00044 eDisconnectedInterior,
00045 eSelfIntersection,
00046 eRingSelfIntersection,
00047 eNestedShells,
00048 eDuplicatedRings,
00049 eTooFewPoints,
00050 eInvalidCoordinate,
00051 eRingNotClosed
00052 };
00053
00054 TopologyValidationError(int newErrorType, const geom::Coordinate& newPt);
00055 TopologyValidationError(int newErrorType);
00056 geom::Coordinate& getCoordinate();
00057 std::string getMessage();
00058 int getErrorType();
00059 std::string toString();
00060
00061 private:
00062
00063 static const char* errMsg[];
00064 int errorType;
00065 geom::Coordinate pt;
00066 };
00067
00068
00069 }
00070 }
00071 }
00072
00073 #endif // GEOS_OP_TOPOLOGYVALIDATIONERROR_H
00074
00075
00076
00077
00078
00079
00080
00081