Loading [MathJax]/extensions/tex2jax.js
IPolylineIndex Class Referenceabstract

Interface to an polyline and polygon index object managing all non point objects within the datamanager. More...

#include "IPolylineIndex.hpp"

+ Inheritance diagram for IPolylineIndex:

Public Types

typedef ConstIterator< IGeometryconst_iterator_geometry
 Geometry iterator.
 
typedef ConstIterator< IPolylineconst_iterator_line
 Polyline iterator.
 
typedef InsertIterator< IGeometryinsert_iterator_geometry
 Geometry insert iterator (used in searchGeometry functions)
 
typedef InsertIterator< IPolylineinsert_iterator_line
 Polyline insert iterator (used in searchPolyline functions)
 

Public Member Functions

virtual BoxHandle getLimit () const =0
 
virtual int64_t sizeGeometry () const =0
 
virtual int64_t sizePolyline () const =0
 
virtual int64_t sizePolylinePoint () const =0
 
virtual int64_t sizePolygon () const =0
 
virtual int64_t sizePolygonPoint () const =0
 
virtual PolylineHandle getPolyline (int64_t id) const =0
 
virtual PolygonHandle getPolygon (int64_t id) const =0
 
virtual GeometryHandle getGeometry (int64_t id) const =0
 
virtual int64_t addPolyline (PolylineHandle l)=0
 
virtual int64_t addPolygon (PolygonHandle p)=0
 
virtual void replacePolyline (PolylineHandle l)=0
 
virtual void replacePolygon (PolygonHandle p)=0
 
virtual void remove (int64_t id)=0
 remove an element by its id
 
virtual const_iterator_geometry beginGeometry (IteratorOrder order=IteratorOrder::internal) const =0
 
virtual const_iterator_geometry endGeometry (IteratorOrder order=IteratorOrder::internal) const =0
 
virtual const_iterator_line beginPolyline (IteratorOrder order=IteratorOrder::internal) const =0
 
virtual const_iterator_line endPolyline (IteratorOrder order=IteratorOrder::internal) const =0
 
virtual void searchGeometry (const IWindow &win, SpatialQueryMode mode, insert_iterator_geometry &instIt, bool includeRightBoundary=true)=0
 
virtual void searchGeometry (const IBox &box, SpatialQueryMode mode, insert_iterator_geometry &instIt, bool includeRightBoundary=true)=0
 
virtual void searchGeometry (const IPolygon &p, SpatialQueryMode mode, insert_iterator_geometry &instIt)=0
 
virtual double searchGeometry (int nnCount, const IPoint &queryPt, insert_iterator_geometry &instIt, double maxDistance=-1)=0
 k nearest neighbour search More...
 
virtual IndexStatsHandle getIndexStatistics () const =0
 
- Public Member Functions inherited from ObjectBase
virtual void Delete ()
 

Static Public Member Functions

static IPolylineIndexNew (int dimension, bool threadsafe)
 create a new r tree object
 

Detailed Description

Interface to an polyline and polygon index object managing all non point objects within the datamanager.

Member Function Documentation

◆ searchGeometry()

virtual double searchGeometry ( int  nnCount,
const IPoint queryPt,
insert_iterator_geometry instIt,
double  maxDistance = -1 
)
pure virtual

k nearest neighbour search

Parameters
[in]nnCountnumber of k neighbour to find
[in]queryPtbase point for the neighbour search
[in]instItinsert iterator for collecting the found geometry objects
[in]maxDistancemaximum distance (not squared distance) for finding geometry objects (use -1 disabling the distance limit)
Returns
distance to the furthest found geometry object or 'maxDistance' in case on object was found