GEOS  3.9.1dev
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
geos::algorithm::locate::IndexedPointInAreaLocator Class Reference

Determines the location of Coordinates relative to an areal geometry, using indexing for efficiency. More...

#include <IndexedPointInAreaLocator.h>

Inheritance diagram for geos::algorithm::locate::IndexedPointInAreaLocator:
[legend]
Collaboration diagram for geos::algorithm::locate::IndexedPointInAreaLocator:
[legend]

Classes

class  IntervalIndexedGeometry
 
class  SegmentVisitor
 

Public Member Functions

 IndexedPointInAreaLocator (const geom::Geometry &g)
 Creates a new locator for a given Geometry. More...
 
const geom::GeometrygetGeometry () const
 
geom::Location locate (const geom::Coordinate *p) override
 Determines the Location of a point in an areal Geometry. More...
 
- Public Member Functions inherited from geos::algorithm::locate::PointOnGeometryLocator
virtual ~PointOnGeometryLocator ()
 

Private Member Functions

void buildIndex (const geom::Geometry &g)
 
 IndexedPointInAreaLocator (const IndexedPointInAreaLocator &other)=delete
 
IndexedPointInAreaLocatoroperator= (const IndexedPointInAreaLocator &rhs)=delete
 

Private Attributes

const geom::GeometryareaGeom
 
std::unique_ptr< IntervalIndexedGeometryindex
 

Detailed Description

Determines the location of Coordinates relative to an areal geometry, using indexing for efficiency.

The Location is computed precisely, in that points located on the geometry boundary or segments will return geom::Location::BOUNDARY.

Polygonal and LinearRing geometries are supported.

The index is lazy-loaded, which allows creating instances even if they are not used.

Definition at line 55 of file IndexedPointInAreaLocator.h.

Constructor & Destructor Documentation

geos::algorithm::locate::IndexedPointInAreaLocator::IndexedPointInAreaLocator ( const IndexedPointInAreaLocator other)
privatedelete
geos::algorithm::locate::IndexedPointInAreaLocator::IndexedPointInAreaLocator ( const geom::Geometry g)

Creates a new locator for a given Geometry.

Polygonal and LinearRing geometries are supported.

Parameters
gthe Geometry to locate in

Member Function Documentation

void geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex ( const geom::Geometry g)
private
const geom::Geometry& geos::algorithm::locate::IndexedPointInAreaLocator::getGeometry ( ) const
inline

Definition at line 110 of file IndexedPointInAreaLocator.h.

geom::Location geos::algorithm::locate::IndexedPointInAreaLocator::locate ( const geom::Coordinate p)
overridevirtual

Determines the Location of a point in an areal Geometry.

Parameters
pthe point to test
Returns
the location of the point in the geometry

Implements geos::algorithm::locate::PointOnGeometryLocator.

IndexedPointInAreaLocator& geos::algorithm::locate::IndexedPointInAreaLocator::operator= ( const IndexedPointInAreaLocator rhs)
privatedelete

Member Data Documentation

const geom::Geometry& geos::algorithm::locate::IndexedPointInAreaLocator::areaGeom
private

Definition at line 91 of file IndexedPointInAreaLocator.h.

std::unique_ptr<IntervalIndexedGeometry> geos::algorithm::locate::IndexedPointInAreaLocator::index
private

Definition at line 92 of file IndexedPointInAreaLocator.h.


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