5 #include "ObjectBase.hpp"
6 #include "IQueryKnn.hpp"
7 #include "IQueryBox.hpp"
8 #include "IQueryCylinder.hpp"
9 #include "IQuerySphere.hpp"
10 #include "IQueryIncremental.hpp"
11 #include "IQueryCombined.hpp"
12 #include "ISamplingStrategy.hpp"
13 #include "IQuerySort.hpp"
14 #include "IParameterSet.hpp"
15 #include "AutoLink.hpp"
19 class DM_API IQueryDescriptor;
20 typedef Handle< IQueryDescriptor > QueryDescriptorHandle;
29 static constexpr
const char *ParamMinPtCount =
"minPtCount";
30 static constexpr
const char *ParamMaxSearchDistance =
"maxSearchDistance";
41 enum struct Vocabulary
45 neighborhood3d = subdivision << 1,
46 full = (neighborhood3d << 1) - 1,
47 queryOptional = neighborhood3d << 1
67 static IQueryDescriptor* New(
const char *description, Vocabulary vocabulary = Vocabulary::minimal,
const IDefaults *defaults =
nullptr);
69 virtual const char *description()
const = 0;
72 virtual bool hasQuery()
const = 0;
73 virtual bool hasSampling()
const = 0;
74 virtual bool hasSorting()
const = 0;
75 virtual bool hasMinPtCount()
const = 0;
76 virtual bool hasMaxSearchDistance()
const = 0;
85 virtual unsigned minPtCount()
const = 0;
86 virtual void minPtCount(
unsigned) = 0;
87 virtual double maxSearchDistance()
const = 0;
88 virtual void maxSearchDistance(
double d) = 0;
92 virtual double maxSearchDistance2D()
const = 0;
95 virtual double maxSearchDistance3D()
const = 0;
97 virtual const char *text()
const = 0;
100 constexpr IQueryDescriptor::Vocabulary operator|(IQueryDescriptor::Vocabulary left, IQueryDescriptor::Vocabulary right)
102 return IQueryDescriptor::Vocabulary(
static_cast<int>(left) |
static_cast<int>(right));
Base class of all geometry objects.
Definition: IQueryWindow.hpp:10
Base class of all geometry objects.
Definition: IQueryCylinder.hpp:10
Base class of all geometry objects.
Definition: IQuerySphere.hpp:10
QueryType
Definition: IQueryBase.hpp:57
Base class of all geometry objects.
Definition: IQueryBox.hpp:10
Base class of all geometry objects.
Definition: ISamplingStrategy.hpp:13
For defining post spatial query sorting.
Definition: IQuerySort.hpp:13
Defines a generic spatial search.
Definition: IQueryDescriptor.hpp:25
Base class of all query objects.
Definition: IQueryBase.hpp:67
Base class of all query objects.
Definition: IQueryKnn.hpp:22
Base class of all geometry objects.
Definition: IQueryCircle.hpp:10
Incremental spatial query.
Definition: IQueryIncremental.hpp:11
Definition: IQueryDescriptor.hpp:50
combined spatial queries
Definition: IQueryCombined.hpp:12
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