00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef GEOS_ALGORITHM_DISTANCE_DISTANCETOPOINT_H
00021 #define GEOS_ALGORITHM_DISTANCE_DISTANCETOPOINT_H
00022
00023 #include <geos/geom/LineSegment.h>
00024
00025 namespace geos {
00026 namespace algorithm {
00027 namespace distance {
00028 class PointPairDistance;
00029 }
00030 }
00031 namespace geom {
00032 class Geometry;
00033 class Coordinate;
00034 class LineString;
00035 class Polygon;
00036 }
00037 }
00038
00039 namespace geos {
00040 namespace algorithm {
00041 namespace distance {
00042
00048 class DistanceToPoint
00049 {
00050 public:
00051
00052 DistanceToPoint() {}
00053
00054 static void computeDistance(const geom::Geometry& geom,
00055 const geom::Coordinate& pt,
00056 PointPairDistance& ptDist);
00057
00058 static void computeDistance(const geom::LineString& geom,
00059 const geom::Coordinate& pt,
00060 PointPairDistance& ptDist);
00061
00062 static void computeDistance(const geom::LineSegment& geom,
00063 const geom::Coordinate& pt,
00064 PointPairDistance& ptDist);
00065
00066 static void computeDistance(const geom::Polygon& geom,
00067 const geom::Coordinate& pt,
00068 PointPairDistance& ptDist);
00069
00070 };
00071
00072 }
00073 }
00074 }
00075
00076 #endif // GEOS_ALGORITHM_DISTANCE_DISTANCETOPOINT_H
00077
00078
00079
00080
00081