IKernelVectorEx.hpp
1 #pragma once
2 
3 #include "DM/config.hpp"
4 #include "DM/IPoint.hpp"
5 #include "DM/IPolyline.hpp"
6 #include "DM/IBox.hpp"
7 #include "DM/IPointIndexLeaf.hpp"
8 #include "DM/ObjectBase.hpp"
9 #include "DM/IPointSet.hpp"
10 
11 #include "DM/Processor/AutoLink.hpp"
12 #include "DM/Processor/IKernelBase.hpp"
13 
14 DM_NAMESPACE_BEGIN
15 
16 
17 /// \brief kernel for handling point object
18 class DM_PS_API IKernelPointEx : public IKernelBase
19 {
20 public:
21  virtual ~IKernelPointEx() {}
22 
23  ///function is called, when the spatial index leaf changes
24  virtual void leafChanged(const IPointIndexLeaf &leaf, PointIndexLeafHandle &localTree) = 0;
25 
26  //function is called by the processor to request the kernel to release all leaf handle
27  virtual void releaseLeaf() = 0;
28 
29  virtual bool process(const IPoint &source, IPoint &target, const IPointSet &neighbors) = 0;
30 };
32 
33 
34 DM_NAMESPACE_END
The kernel processor concept is used for manipulating geometry objects within an ODM in an efficient ...
Definition: IKernelBase.hpp:16
object representing a spatial leaf within a point index
Definition: IPointIndexLeaf.hpp:30
kernel for handling point object
Definition: IKernelVectorEx.hpp:18
Smart pointer class using reference counting with support for DM objects (see ObjectBase)
Definition: Handle.hpp:75
a set of 3d point object
Definition: IPointSet.hpp:16
3d point object
Definition: IPoint.hpp:14