GEOS  3.9.1dev
GeometryGraphOperation.h
Go to the documentation of this file.
1 /**********************************************************************
2  *
3  * GEOS - Geometry Engine Open Source
4  * http://geos.osgeo.org
5  *
6  * Copyright (C) 2005-2006 Refractions Research Inc.
7  * Copyright (C) 2001-2002 Vivid Solutions 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/GeometryGraphOperation.java rev. 1.18 (JTS-1.10)
17  *
18  **********************************************************************/
19 
20 #ifndef GEOS_OPERATION_GEOMETRYGRAPHOPERATION_H
21 #define GEOS_OPERATION_GEOMETRYGRAPHOPERATION_H
22 
23 #include <geos/export.h>
24 #include <geos/algorithm/LineIntersector.h> // for composition
25 
26 #include <vector>
27 
28 #ifdef _MSC_VER
29 #pragma warning(push)
30 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
31 #endif
32 
33 // Forward declarations
34 namespace geos {
35 namespace algorithm {
36 class BoundaryNodeRule;
37 }
38 namespace geom {
39 class Geometry;
40 class PrecisionModel;
41 }
42 namespace geomgraph {
43 class GeometryGraph;
44 }
45 }
46 
47 
48 namespace geos {
49 namespace operation { // geos.operation
50 
53 
54 public:
55 
57  const geom::Geometry* g1);
58 
60  const geom::Geometry* g1,
61  const algorithm::BoundaryNodeRule& boundaryNodeRule);
62 
64 
65  virtual ~GeometryGraphOperation();
66 
67  const geom::Geometry* getArgGeometry(unsigned int i) const;
68 
69 protected:
70 
72 
74 
78  std::vector<geomgraph::GeometryGraph*> arg;
79 
80  void setComputationPrecision(const geom::PrecisionModel* pm);
81 };
82 
83 } // namespace geos.operation
84 } // namespace geos
85 
86 #ifdef _MSC_VER
87 #pragma warning(pop)
88 #endif
89 
90 #endif
#define GEOS_DLL
Definition: export.h:28
std::vector< geomgraph::GeometryGraph * > arg
The operation args into an array so they can be accessed by index.
Specifies the precision model of the Coordinate in a Geometry.
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:188
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
The base class for operations that require GeometryGraph.
An interface for rules which determine whether node points which are in boundaries of lineal geometry...
Basic namespace for all GEOS functionalities.
const geom::PrecisionModel * resultPrecisionModel