GEOS 3.14.0dev
Protected Member Functions | List of all members
geos::operation::cluster::EnvelopeIntersectsClusterFinder Class Reference

#include <EnvelopeIntersectsClusterFinder.h>

Inheritance diagram for geos::operation::cluster::EnvelopeIntersectsClusterFinder:
geos::operation::cluster::AbstractClusterFinder

Protected Member Functions

const geom::EnvelopequeryEnvelope (const geom::Geometry *a) override
 
bool shouldJoin (const geom::Geometry *a, const geom::Geometry *b) override
 
- Protected Member Functions inherited from geos::operation::cluster::AbstractClusterFinder
virtual Clusters process (const std::vector< const geom::Geometry * > &components, index::strtree::TemplateSTRtree< std::size_t > &index, UnionFind &uf)
 

Additional Inherited Members

- Public Member Functions inherited from geos::operation::cluster::AbstractClusterFinder
Clusters cluster (const std::vector< const geom::Geometry * > &g)
 
std::vector< std::unique_ptr< geom::Geometry > > clusterToVector (std::unique_ptr< geom::Geometry > &&g)
 
std::vector< std::unique_ptr< geom::Geometry > > clusterToVector (const geom::Geometry &g)
 
std::unique_ptr< geom::GeometryclusterToCollection (std::unique_ptr< geom::Geometry > &&g)
 
std::unique_ptr< geom::GeometryclusterToCollection (const geom::Geometry &g)
 

Detailed Description

EnvelopeIntersectsClusterFinder clusters geometries by envelope intersection. Any two geometries whose envelopes intersect will be included in the same cluster.

Member Function Documentation

◆ queryEnvelope()

const geom::Envelope & geos::operation::cluster::EnvelopeIntersectsClusterFinder::queryEnvelope ( const geom::Geometry a)
inlineoverrideprotectedvirtual

Provide an query Envelope that can be used to find all geometries possibly in the same cluster as the input.

Parameters
aGeometry
Returns
an Envelope suitable for querying

Implements geos::operation::cluster::AbstractClusterFinder.

References geos::geom::Geometry::getEnvelopeInternal().

◆ shouldJoin()

bool geos::operation::cluster::EnvelopeIntersectsClusterFinder::shouldJoin ( const geom::Geometry a,
const geom::Geometry b 
)
inlineoverrideprotectedvirtual

Determine whether two geometries should be considered in the same cluster.

Parameters
aGeometry
bGeometry
Returns
true if the clusters associated with a and b should be merged.

Implements geos::operation::cluster::AbstractClusterFinder.

References geos::geom::Geometry::getEnvelopeInternal(), and geos::geom::Envelope::intersects().


The documentation for this class was generated from the following file: