GEOS
3.4.2
|
00001 /********************************************************************** 00002 * 00003 * GEOS - Geometry Engine Open Source 00004 * http://geos.osgeo.org 00005 * 00006 * Copyright (C) 2006 Refractions Research Inc. 00007 * 00008 * This is free software; you can redistribute and/or modify it under 00009 * the terms of the GNU Lesser General Public Licence as published 00010 * by the Free Software Foundation. 00011 * See the COPYING file for more information. 00012 * 00013 **********************************************************************/ 00014 00015 #ifndef GEOS_NODING_SEGMENTINTERSECTOR_H 00016 #define GEOS_NODING_SEGMENTINTERSECTOR_H 00017 00018 #include <geos/export.h> 00019 00020 #include <geos/inline.h> 00021 00022 // Forward declarations 00023 namespace geos { 00024 namespace noding { 00025 class SegmentString; 00026 } 00027 } 00028 00029 namespace geos { 00030 namespace noding { // geos.noding 00031 00047 class GEOS_DLL SegmentIntersector { 00048 00049 public: 00050 00057 virtual void processIntersections( 00058 SegmentString* e0, int segIndex0, 00059 SegmentString* e1, int segIndex1)=0; 00060 00070 virtual bool isDone() const { 00071 return false; 00072 } 00073 00074 virtual ~SegmentIntersector() 00075 { } 00076 00077 protected: 00078 00079 SegmentIntersector() {} 00080 00081 }; 00082 00084 typedef SegmentIntersector nodingSegmentIntersector; 00085 00086 } // namespace geos.noding 00087 } // namespace geos 00088 00089 #endif // GEOS_NODING_SEGMENTINTERSECTOR_H