GEOS
3.3.3
|
Find shared paths among two linear Geometry objects. More...
#include <SharedPathsOp.h>
Public Types | |
typedef std::vector < geom::LineString * > | PathList |
LineString vector (list of edges) |
Public Member Functions | |
SharedPathsOp (const geom::Geometry &g1, const geom::Geometry &g2) | |
Constructor. | |
void | getSharedPaths (PathList &sameDirection, PathList &oppositeDirection) |
Get shared paths. |
Static Public Member Functions | |
static void | sharedPathsOp (const geom::Geometry &g1, const geom::Geometry &g2, PathList &sameDirection, PathList &oppositeDirection) |
Find paths shared between two linear geometries. | |
static void | clearEdges (PathList &from) |
Delete all edges in the list. |
Find shared paths among two linear Geometry objects.
For each shared path report if it direction is the same or opposite.
Paths reported as shared are given in the direction they appear in the first geometry.
Developed by Sandro Santilli (strk@) for Faunalia ( keyb it.ne thttp://www.faunalia.it) with funding from Regione Toscana - Settore SISTEMA INFORMATIVO TERRITORIALE ED AMBIENTALE - for the project: "Sviluppo strumenti software per il trattamento di dati geografici basati su QuantumGIS e Postgis (CIG 0494241492)"
geos::operation::sharedpaths::SharedPathsOp::SharedPathsOp | ( | const geom::Geometry & | g1, |
const geom::Geometry & | g2 | ||
) |
Constructor.
g1 | First geometry. Must be linear. |
g2 | Second geometry. Must be linear. |
void geos::operation::sharedpaths::SharedPathsOp::getSharedPaths | ( | PathList & | sameDirection, |
PathList & | oppositeDirection | ||
) |
Get shared paths.
sameDir | Shared edges having the same direction are pushed onto this vector. They'll be of type geom::LineString. Ownership of the edges is tranferred. |
oppositeDir | Shared edges having the opposite direction are pushed onto this vector. They'll be of type geom::LineString. Ownership of the edges is tranferred. |
|
static |
Find paths shared between two linear geometries.
g1 | First geometry. Must be linear. |
g2 | Second geometry. Must be linear. |
sameDir | Shared edges having the same direction are pushed onto this vector. They'll be of type LineString. Ownership of the edges is tranferred. |
oppositeDir | Shared edges having the opposite direction are pushed onto this vector. They'll be of type geom::LineString. Ownership of the edges is tranferred. |