GEOS 3.2.2
|
00001 /********************************************************************** 00002 * $Id: MonotoneChain.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_GEOMGRAPH_INDEX_MONOTONECHAIN_H 00018 #define GEOS_GEOMGRAPH_INDEX_MONOTONECHAIN_H 00019 00020 00021 #include <geos/export.h> 00022 #include <geos/geomgraph/index/SweepLineEventObj.h> // for inheritance 00023 #include <geos/geomgraph/index/MonotoneChainEdge.h> // for inline 00024 00025 // Forward declarations 00026 namespace geos { 00027 namespace geomgraph { 00028 class Edge; 00029 namespace index { 00030 class SegmentIntersector; 00031 //class MonotoneChainEdge; 00032 } 00033 } 00034 } 00035 00036 namespace geos { 00037 namespace geomgraph { // geos::geomgraph 00038 namespace index { // geos::geomgraph::index 00039 00043 class GEOS_DLL MonotoneChain: public SweepLineEventOBJ { 00044 private: 00045 MonotoneChainEdge *mce; 00046 int chainIndex; 00047 00048 public: 00049 00050 MonotoneChain(MonotoneChainEdge *newMce, int newChainIndex): 00051 mce(newMce), 00052 chainIndex(newChainIndex) 00053 {} 00054 00055 ~MonotoneChain() {} 00056 00057 void computeIntersections(MonotoneChain *mc,SegmentIntersector *si) { 00058 mce->computeIntersectsForChain(chainIndex,*(mc->mce),mc->chainIndex,*si); 00059 } 00060 }; 00061 00062 00063 00064 00065 } // namespace geos.geomgraph.index 00066 } // namespace geos.geomgraph 00067 } // namespace geos 00068 00069 #endif 00070 00071 /********************************************************************** 00072 * $Log$ 00073 * Revision 1.1 2006/03/14 12:55:55 strk 00074 * Headers split: geomgraphindex.h, nodingSnapround.h 00075 * 00076 **********************************************************************/ 00077