/usr/include/geos/opOverlay.h is in libgeos++-dev 3.5.0-1ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | /**********************************************************************
*
* GEOS - Geometry Engine Open Source
* http://geos.osgeo.org
*
* Copyright (C) 2005-2006 Refractions Research Inc.
* Copyright (C) 2001-2002 Vivid Solutions Inc.
*
* This is free software; you can redistribute and/or modify it under
* the terms of the GNU Lesser General Public Licence as published
* by the Free Software Foundation.
* See the COPYING file for more information.
*
**********************************************************************/
#ifndef GEOS_OPOVERLAY_H
#define GEOS_OPOVERLAY_H
namespace geos {
namespace operation {
/** \brief
* Contains classes that perform a topological overlay to compute boolean
* spatial functions.
*
* The Overlay Algorithm is used in spatial analysis methods for computing
* set-theoretic operations (boolean combinations) of input {@link Geometry}s.
* The algorithm for computing the overlay uses the intersection operations
* supported by topology graphs.
* To compute an overlay it is necessary to explicitly compute the resultant
* graph formed by the computed intersections.
*
* The algorithm to compute a set-theoretic spatial analysis method has the
* following steps:
*
* - Build topology graphs of the two input geometries. For each geometry all
* self-intersection nodes are computed and added to the graph.
* - Compute nodes for all intersections between edges and nodes of the graphs.
* - Compute the labeling for the computed nodes by merging the labels from
* the input graphs.
* - Compute new edges between the compute intersection nodes.
* Label the edges appropriately.
* - Build the resultant graph from the new nodes and edges.
* - Compute the labeling for isolated components of the graph. Add the
* isolated components to the resultant graph.
* - Compute the result of the boolean combination by selecting the node
* and edges with the appropriate labels. Polygonize areas and sew linear
* geometries together.
*
* <h2>Package Specification</h2>
*
* - Java Topology Suite Technical Specifications
* - <A HREF="http://www.opengis.org/techno/specs.htm">
* OpenGIS Simple Features Specification for SQL</A>
*
*/
namespace overlay { // geos.operation.overlay
} // namespace geos.operation.overlay
} // namespace geos.operation
} // namespace geos
#include <geos/operation/overlay/OverlayOp.h>
//#include <geos/operation/overlay/PolygonBuilder.h>
//#include <geos/operation/overlay/PointBuilder.h>
//#include <geos/operation/overlay/LineBuilder.h>
//#include <geos/operation/overlay/MinimalEdgeRing.h>
//#include <geos/operation/overlay/MaximalEdgeRing.h>
//#include <geos/operation/overlay/OverlayNodeFactory.h>
//#include <geos/operation/overlay/EdgeSetNoder.h>
//#include <geos/operation/overlay/ElevationMatrix.h>
#endif
|