GEOS: RelateNodeGraph.h Source File

GEOS 3.3.8

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List

RelateNodeGraph.h
1 /**********************************************************************
2 * $Id: RelateNodeGraph.h 2557 2009-06-08 09:30:55Z strk $
3 *
4 * GEOS - Geometry Engine Open Source
5 * http://geos.refractions.net
6 *
7 * Copyright (C) 2006 Refractions Research Inc.
8 *
9 * This is free software; you can redistribute and/or modify it under
10 * the terms of the GNU Lesser General Public Licence as published
11 * by the Free Software Foundation.
12 * See the COPYING file for more information.
13 *
14 **********************************************************************
15 *
16 * Last port: operation/relate/RelateNodeGraph.java rev. 1.11 (JTS-1.10)
17 *
18 **********************************************************************/
19
20 #ifndef GEOS_OP_RELATE_RELATENODEGRAPH_H
21 #define GEOS_OP_RELATE_RELATENODEGRAPH_H
22
23 #include <geos/export.h>
24
25 #include <map>
26 #include <vector>
27
28 // Forward declarations
29 namespace geos {
30 namespace geom {
31 class Coordinate;
32 struct CoordinateLessThen;
33 }
34 namespace geomgraph {
35 //class EdgeEndStar;
36 class Node;
37 class GeometryGraph;
38 class EdgeEnd;
39 class NodeMap;
40 }
41 }
42
43
44 namespace geos {
45 namespace operation { // geos::operation
46 namespace relate { // geos::operation::relate
47
69 class GEOS_DLL RelateNodeGraph {
70
71 public:
72
73 RelateNodeGraph();
74
75 virtual ~RelateNodeGraph();
76
77 std::map<geom::Coordinate*, geomgraph::Node*,
78 geom::CoordinateLessThen> &getNodeMap();
79
80 void build(geomgraph::GeometryGraph *geomGraph);
81
82 void computeIntersectionNodes(geomgraph::GeometryGraph *geomGraph,
83 int argIndex);
84
85 void copyNodesAndLabels(geomgraph::GeometryGraph *geomGraph,int argIndex);
86
87 void insertEdgeEnds(std::vector<geomgraph::EdgeEnd*> *ee);
88
89 private:
90
91 geomgraph::NodeMap *nodes;
92 };
93
94
95 } // namespace geos:operation:relate
96 } // namespace geos:operation
97 } // namespace geos
98
99 #endif // GEOS_OP_RELATE_RELATENODEGRAPH_H
100
101 /**********************************************************************
102 * $Log$
103 * Revision 1.1 2006/03/21 13:11:29 strk
104 * opRelate.h header split
105 *
106 **********************************************************************/
107