00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef GEOS_OP_DISTANCE_GEOMETRYLOCATION_H
00021 #define GEOS_OP_DISTANCE_GEOMETRYLOCATION_H
00022
00023 #include <geos/export.h>
00024
00025 #include <geos/geom/Coordinate.h>
00026
00027
00028 namespace geos {
00029 namespace geom {
00030 class Geometry;
00031 }
00032 }
00033
00034
00035 namespace geos {
00036 namespace operation {
00037 namespace distance {
00038
00039
00051 class GEOS_DLL GeometryLocation {
00052 private:
00053 const geom::Geometry *component;
00054 int segIndex;
00055 geom::Coordinate pt;
00056 public:
00064 static const int INSIDE_AREA = -1;
00065
00075 GeometryLocation(const geom::Geometry *component,
00076 int segIndex, const geom::Coordinate &pt);
00077
00085 GeometryLocation(const geom::Geometry *component,
00086 const geom::Coordinate &pt);
00087
00091 const geom::Geometry* getGeometryComponent();
00092
00101 int getSegmentIndex();
00102
00106 geom::Coordinate& getCoordinate();
00107
00112 bool isInsideArea();
00113 };
00114
00115 }
00116 }
00117 }
00118
00119 #endif // GEOS_OP_DISTANCE_GEOMETRYLOCATION_H
00120
00121
00122
00123
00124
00125
00126
00127