GEOS  3.6.2
SegmentIntersector.h
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