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
26namespace geos {
27namespace geom {
28class IntersectionMatrix;
29class Coordinate;
30}
31namespace geomgraph {
32class EdgeEndStar;
33}
34}
35
36
37namespace geos {
38namespace operation { // geos::operation
39namespace relate { // geos::operation::relate
40
45class GEOS_DLL RelateNode final: public geomgraph::Node {
46
47public:
48
50
51 ~RelateNode() override = default;
52
57
58protected:
59
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 geos.h:39