GEOS  3.14.0dev
relate/RelateNode.h
1 /**********************************************************************
2  *
3  * GEOS - Geometry Engine Open Source
4  * http://geos.osgeo.org
5  *
6  * Copyright (C) 2006 Refractions Research Inc.
7  *
8  * This is free software; you can redistribute and/or modify it under
9  * the terms of the GNU Lesser General Public Licence as published
10  * by the Free Software Foundation.
11  * See the COPYING file for more information.
12  *
13  **********************************************************************
14  *
15  * Last port: operation/relate/RelateNode.java rev. 1.11 (JTS-1.10)
16  *
17  **********************************************************************/
18 
19 #pragma once
20 
21 #include <geos/export.h>
22 
23 #include <geos/geomgraph/Node.h> // for inheritance
24 
25 // Forward declarations
26 namespace geos {
27 namespace geom {
28 class IntersectionMatrix;
29 class Coordinate;
30 }
31 namespace geomgraph {
32 class EdgeEndStar;
33 }
34 }
35 
36 
37 namespace geos {
38 namespace operation { // geos::operation
39 namespace relate { // geos::operation::relate
40 
45 class GEOS_DLL RelateNode final: public geomgraph::Node {
46 
47 public:
48 
50 
51  ~RelateNode() override = default;
52 
57 
58 protected:
59 
60  void computeIM(geom::IntersectionMatrix& im) override;
61 };
62 
63 
64 } // namespace geos:operation:relate
65 } // namespace geos:operation
66 } // namespace geos
67 
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:217
Implementation of Dimensionally Extended Nine-Intersection Model (DE-9IM) matrix.
Definition: IntersectionMatrix.h:51
A EdgeEndStar is an ordered list of EdgeEnds around a node.
Definition: EdgeEndStar.h:63
The node component of a geometry graph.
Definition: geomgraph/Node.h:59
Represents a node in the topological graph used to compute spatial relationships.
Definition: relate/RelateNode.h:45
void computeIM(geom::IntersectionMatrix &im) override
Basic nodes do not compute IMs.
void updateIMFromEdges(geom::IntersectionMatrix &im)
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25