GEOS
3.3.2
|
00001 /********************************************************************** 00002 * $Id: InteriorPointPoint.h 2556 2009-06-06 22:22:28Z strk $ 00003 * 00004 * GEOS - Geometry Engine Open Source 00005 * http://geos.refractions.net 00006 * 00007 * Copyright (C) 2005-2006 Refractions Research Inc. 00008 * Copyright (C) 2001-2002 Vivid Solutions Inc. 00009 * 00010 * This is free software; you can redistribute and/or modify it under 00011 * the terms of the GNU Lesser General Public Licence as published 00012 * by the Free Software Foundation. 00013 * See the COPYING file for more information. 00014 * 00015 **********************************************************************/ 00016 00017 #ifndef GEOS_ALGORITHM_INTERIORPOINTPOINT_H 00018 #define GEOS_ALGORITHM_INTERIORPOINTPOINT_H 00019 00020 #include <geos/export.h> 00021 #include <geos/geom/Coordinate.h> 00022 00023 // Forward declarations 00024 namespace geos { 00025 namespace geom { 00026 class Geometry; 00027 } 00028 } 00029 00030 namespace geos { 00031 namespace algorithm { // geos::algorithm 00032 00042 class GEOS_DLL InteriorPointPoint { 00043 private: 00044 00045 bool hasInterior; 00046 00047 geom::Coordinate centroid; 00048 00049 double minDistance; 00050 00051 geom::Coordinate interiorPoint; 00052 00058 void add(const geom::Geometry *geom); 00059 00060 void add(const geom::Coordinate *point); 00061 00062 public: 00063 00064 InteriorPointPoint(const geom::Geometry *g); 00065 00066 ~InteriorPointPoint() {} 00067 00068 bool getInteriorPoint(geom::Coordinate& ret) const; 00069 00070 }; 00071 00072 } // namespace geos::algorithm 00073 } // namespace geos 00074 00075 00076 #endif // GEOS_ALGORITHM_INTERIORPOINTPOINT_H 00077 00078 /********************************************************************** 00079 * $Log$ 00080 * Revision 1.1 2006/03/09 16:46:48 strk 00081 * geos::geom namespace definition, first pass at headers split 00082 * 00083 **********************************************************************/ 00084