4 #include "DM/config.hpp"
5 #include "DM/Handle.hpp"
6 #include "DM/Iterator.hpp"
7 #include "DM/IPoint.hpp"
8 #include "DM/IPolygon.hpp"
9 #include "DM/IWindow.hpp"
10 #include "DM/IBox.hpp"
11 #include "DM/ICircle.hpp"
12 #include "DM/ISphere.hpp"
13 #include "DM/ICylinder.hpp"
14 #include "DM/ObjectBase.hpp"
15 #include "DM/IKnnQueryDescriptor.hpp"
16 #include "DM/IFilter.hpp"
17 #include "DM/IColBufferManagerWrite.hpp"
18 #include "DM/AutoLink.hpp"
23 class IIndexHelperSet;
24 class IClassificationMatrix;
51 virtual BoxHandle getIndexLimit()
const = 0;
53 virtual int64_t sizePoint()
const = 0;
54 virtual int indexDim()
const = 0;
56 virtual int64_t id()
const = 0;
57 virtual int64_t storageId()
const = 0;
59 virtual double estimatePointDensity()
const = 0;
64 virtual const_iterator_point beginPoint()
const = 0;
65 virtual const_iterator_point endPoint()
const = 0;
71 virtual void addPoint(
const IPoint &pt) = 0;
74 virtual void removePoint(int64_t
id) = 0;
76 virtual void build() = 0;
77 virtual void clear() = 0;
79 virtual void setChanged(
bool changed) = 0;
80 virtual bool isChanged()
const = 0;
83 virtual void searchPoint(
const IWindow &win, insert_iterator_point &instIt,
bool includeRightBoundary =
true) = 0;
84 virtual void searchPoint(
const IBox &box, insert_iterator_point &instIt,
bool includeRightBoundary =
true) = 0;
85 virtual void searchPoint(
const IPolygon &p, insert_iterator_point &instIt) = 0;
86 virtual void searchPoint(
const ICircle &c, insert_iterator_point &instIt) = 0;
87 virtual void searchPoint(
const ISphere &s, insert_iterator_point &instIt) = 0;
88 virtual void searchPoint(
const ICylinder &c, insert_iterator_point &instIt) = 0;
90 virtual void searchPoint(
int nnCount,
const IPoint &queryPt, insert_iterator_point &instIt,
91 double maxDistance = -1, SelectionMode selectionMode = SelectionMode::nearest) = 0;
92 virtual void searchPoint(
int nnCount,
const IPoint &queryPt,
const IFilter &filter, insert_iterator_point &instIt,
93 double maxDistance = -1, SelectionMode selectionMode = SelectionMode::nearest) = 0;
100 typedef Handle< IPointIndexLeaf > PointIndexLeafHandle;
Definition: Iterator.hpp:96
2d window object
Definition: IWindow.hpp:11
Geometry object describing a finite 3d cylinder.
Definition: ICylinder.hpp:10
ConstIterator< IPoint > const_iterator_point
Point iterator.
Definition: IPointIndexLeaf.hpp:42
Geometry object describing a 3d box.
Definition: IBox.hpp:11
InsertIterator< IPoint > insert_iterator_point
Point insert iterator (used in searchPoint functions)
Definition: IPointIndexLeaf.hpp:43
interface to a 2.5d polygon of arbitrary complexity
Definition: IPolygon.hpp:33
3d sphere object
Definition: ISphere.hpp:10
object representing a spatial leaf within a point index
Definition: IPointIndexLeaf.hpp:30
Definition: IFilter.hpp:21
Geometry object describing a 2d circle.
Definition: ICircle.hpp:11
Definition: IPointIndexLeaf.hpp:34
Definition: IPointIndexLeaf.hpp:33
Smart pointer class using reference counting with support for DM objects (see ObjectBase)
Definition: Handle.hpp:75
Definition: M/c++_api/inc/DM/ObjectBase.hpp:8
3d point object
Definition: IPoint.hpp:14