ConnectedElementLocationFilter.h
/**********************************************************************
*
* GEOS - Geometry Engine Open Source
* http://geos.osgeo.org
*
* Copyright (C) 2006 Refractions Research 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.
*
**********************************************************************
*
* Last port: operation/distance/ConnectedElementLocationFilter.java b98e8234
*
**********************************************************************/
#pragma once
#include <geos/export.h>
#include <geos/geom/GeometryFilter.h> // for inheritance
#include <geos/operation/distance/GeometryLocation.h>
#include <memory>
#include <vector>
// Forward declarations
namespace geos {
namespace geom {
class Geometry;
}
}
namespace geos {
namespace operation { // geos::operation
namespace distance { // geos::operation::distance
class GEOS_DLL ConnectedElementLocationFilter: public geom::GeometryFilter {
private:
std::vector<GeometryLocation> locations;
ConnectedElementLocationFilter() = default;
ConnectedElementLocationFilter(const ConnectedElementLocationFilter&) = delete;
ConnectedElementLocationFilter& operator=(const ConnectedElementLocationFilter&) = delete;
public:
static std::vector<GeometryLocation> getLocations(const geom::Geometry* geom);
void filter_ro(const geom::Geometry* geom) override;
void filter_rw(geom::Geometry* geom) override;
};
} // namespace geos::operation::distance
} // namespace geos::operation
} // namespace geos
geos::geom::GeometryFilter
Geometry classes support the concept of applying a Geometry filter to the Geometry.
Definition GeometryFilter.h:45
geos::geom::Geometry
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:196
geos::operation::distance::ConnectedElementLocationFilter::getLocations
static std::vector< GeometryLocation > getLocations(const geom::Geometry *geom)
Returns a list containing a point from each Polygon, LineString, and Point found inside the specified...
geos::geom
Definition Angle.h:26
geos::operation::distance
Provides classes for computing the distance between geometries.
Definition namespaces.h:185
geos::operation
Provides classes for implementing operations on geometries.
Definition CleanCoverage.h:34
geos
Basic namespace for all GEOS functionalities.
Definition geos.h:38