GEOS  3.3.3
geomgraph/index/MonotoneChain.h
1 /**********************************************************************
2  * $Id: MonotoneChain.h 3332 2011-05-06 18:51:46Z strk $
3  *
4  * GEOS - Geometry Engine Open Source
5  * http://geos.refractions.net
6  *
7  * Copyright (C) 2005-2006 Refractions Research Inc.
8  * Copyright (C) 2001-2002 Vivid Solutions Inc.
9  *
10  * This is free software; you can redistribute and/or modify it under
11  * the terms of the GNU Lesser General Public Licence as published
12  * by the Free Software Foundation.
13  * See the COPYING file for more information.
14  *
15  **********************************************************************
16  *
17  * Last port: geomgraph/index/MonotoneChain.java rev. 1.3 (JTS-1.7)
18  *
19  **********************************************************************/
20 
21 #ifndef GEOS_GEOMGRAPH_INDEX_MONOTONECHAIN_H
22 #define GEOS_GEOMGRAPH_INDEX_MONOTONECHAIN_H
23 
24 
25 #include <geos/export.h>
26 #include <geos/geomgraph/index/SweepLineEventObj.h> // for inheritance
27 #include <geos/geomgraph/index/MonotoneChainEdge.h> // for inline
28 
29 // Forward declarations
30 namespace geos {
31  namespace geomgraph {
32  namespace index {
33  class SegmentIntersector;
34  }
35  }
36 }
37 
38 namespace geos {
39 namespace geomgraph { // geos::geomgraph
40 namespace index { // geos::geomgraph::index
41 
45 class GEOS_DLL MonotoneChain: public SweepLineEventOBJ {
46 private:
47  MonotoneChainEdge *mce;
48  int chainIndex;
49 
50 public:
51 
52  MonotoneChain(MonotoneChainEdge *newMce, int newChainIndex):
53  mce(newMce),
54  chainIndex(newChainIndex)
55  {}
56 
57  ~MonotoneChain() {}
58 
59  void computeIntersections(MonotoneChain *mc,SegmentIntersector *si) {
60  mce->computeIntersectsForChain(chainIndex,*(mc->mce),mc->chainIndex,*si);
61  }
62 };
63 
64 
65 
66 
67 } // namespace geos.geomgraph.index
68 } // namespace geos.geomgraph
69 } // namespace geos
70 
71 #endif
72 
73 /**********************************************************************
74  * $Log$
75  * Revision 1.1 2006/03/14 12:55:55 strk
76  * Headers split: geomgraphindex.h, nodingSnapround.h
77  *
78  **********************************************************************/
79