GEOS 3.2.2
|
00001 /********************************************************************** 00002 * $Id: FastSegmentSetIntersectionFinder.h 2263 2009-01-29 18:56:00Z mloskot $ 00003 * 00004 * GEOS - Geometry Engine Open Source 00005 * http://geos.refractions.net 00006 * 00007 * Copyright (C) 2006 Refractions Research Inc. 00008 * 00009 * This is free software; you can redistribute and/or modify it under 00010 * the terms of the GNU Lesser General Public Licence as published 00011 * by the Free Software Foundation. 00012 * See the COPYING file for more information. 00013 * 00014 * 00015 **********************************************************************/ 00016 00017 #ifndef GEOS_NODING_FASTSEGMENTSETINTERSECTIONFINDER_H 00018 #define GEOS_NODING_FASTSEGMENTSETINTERSECTIONFINDER_H 00019 00020 #include <geos/noding/SegmentString.h> 00021 #include <geos/noding/MCIndexSegmentSetMutualIntersector.h> 00022 00023 00024 //forward declarations 00025 namespace geos { 00026 namespace noding { 00027 class SegmentIntersectionDetector; 00028 class SegmentSetMutualIntersector; 00029 //class MCIndexSegmentSetMutualIntersector : public SegmentSetMutualIntersector; 00030 } 00031 } 00032 00033 00034 namespace geos { 00035 namespace noding { // geos::noding 00036 00046 class FastSegmentSetIntersectionFinder 00047 { 00048 private: 00049 MCIndexSegmentSetMutualIntersector * segSetMutInt; 00050 geos::algorithm::LineIntersector * lineIntersector; 00051 00052 protected: 00053 public: 00054 FastSegmentSetIntersectionFinder( SegmentString::ConstVect * baseSegStrings); 00055 00056 ~FastSegmentSetIntersectionFinder(); 00057 00064 SegmentSetMutualIntersector * getSegmentSetIntersector() 00065 { 00066 return segSetMutInt; 00067 } 00068 00069 bool intersects( SegmentString::ConstVect * segStrings); 00070 bool intersects( SegmentString::ConstVect * segStrings, SegmentIntersectionDetector * intDetector); 00071 00072 }; 00073 00074 } // geos::noding 00075 } // geos 00076 00077 #endif // GEOS_NODING_FASTSEGMENTSETINTERSECTIONFINDER_H 00078 /********************************************************************** 00079 * $Log$ 00080 **********************************************************************/ 00081