00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef GEOS_UTIL_TOPOLOGYEXCEPTION_H
00018 #define GEOS_UTIL_TOPOLOGYEXCEPTION_H
00019
00020 #include <geos/export.h>
00021 #include <geos/util/GEOSException.h>
00022 #include <geos/geom/Coordinate.h>
00023
00024 #include <cassert>
00025
00026 namespace geos {
00027 namespace util {
00028
00036 class GEOS_DLL TopologyException: public GEOSException {
00037 public:
00038 TopologyException()
00039 :
00040 GEOSException("TopologyException", "")
00041 {}
00042
00043 TopologyException(const std::string& msg)
00044 :
00045 GEOSException("TopologyException", msg)
00046 {}
00047
00048 TopologyException(const std::string& msg, const geom::Coordinate& newPt)
00049 :
00050 GEOSException("TopologyException", msg + " at " + newPt.toString()),
00051 pt(newPt)
00052 {}
00053
00054 ~TopologyException() throw() {}
00055 geom::Coordinate& getCoordinate() { return pt; }
00056 private:
00057 geom::Coordinate pt;
00058 };
00059
00060 }
00061 }
00062
00063
00064 #endif // GEOS_UTIL_TOPOLOGYEXCEPTION_H
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077