FLImaging 6.5.13.1
RangeTree.h
1#pragma once
2
13namespace FLImaging
14{
16 namespace Base
17 {
18 template<typename T>
19 class CFLArray;
20
21 template<template<typename> class T1, typename T2>
22 class CInternalRangeTree;
23
43 template<template<typename> class T1, typename T2>
44 class FL_EXPORT CRangeTree : public CFLBase
45 {
46 public:
55
67 CRangeTree(const CFLArray<T1<T2>>& flaRanges);
68
80 CRangeTree(const CFLArray<T1<T2>>* pFlaRanges);
81
89 virtual ~CRangeTree();
90
102 const CResult Clear();
103
119 const CResult Build(const CFLArray<T1<T2>>& flaRanges);
120
136 const CResult Build(const CFLArray<T1<T2>>* pFlaRanges);
137
149 int64_t GetCount() const;
150
166 const CResult GetObjectsInRange(const T1<T2>& trRange, CFLArray<T1<T2>>& flaResultRanges) const;
167
183 const CResult GetIndicesInRange(const T1<T2>& trRange, CFLArray<uint64_t>& flaResultIndices) const;
184
200 const CResult GetIndicesInRange(const T1<T2>& trRange, CFLArray<uint32_t>& flaResultIndices) const;
201
219 const CResult GetObjectsAndIndicesInRange(const T1<T2>& trRange, CFLArray<T1<T2>>& flaResultRanges, CFLArray<uint64_t>& flaResultIndices) const;
220
238 const CResult GetObjectsAndIndicesInRange(const T1<T2>& trRange, CFLArray<T1<T2>>& flaResultRanges, CFLArray<uint32_t>& flaResultIndices) const;
239
240
241
242
243 DeclareGetClassType();
244
245 protected:
246 CInternalRangeTree<T1, T2>* m_pInternal;
247 friend class CInternalRangeTree<T1, T2>;
248 };
249 }
250}
Template type array class.
Definition RangeTree.h:19
Top-level base class of FLImaging.
Definition FLBase.h:36
RangeTree class. Range Binary Search Tree of K dimensions. .
Definition RangeTree.h:45
const CResult Clear()
Clears the data stored in the current object.
const CResult GetObjectsInRange(const T1< T2 > &trRange, CFLArray< T1< T2 > > &flaResultRanges) const
Searches for objects within the specified range and returns the found range coordinates.
const CResult Build(const CFLArray< T1< T2 > > *pFlaRanges)
Builds the data structure using the provided pointer to the range data.
const CResult GetIndicesInRange(const T1< T2 > &trRange, CFLArray< uint64_t > &flaResultIndices) const
Searches for objects within the specified range and returns the found indices.
const CResult GetObjectsAndIndicesInRange(const T1< T2 > &trRange, CFLArray< T1< T2 > > &flaResultRanges, CFLArray< uint64_t > &flaResultIndices) const
Searches for objects within the specified range and returns the found range coordinates and indices.
CRangeTree(const CFLArray< T1< T2 > > &flaRanges)
Constructor.
const CResult GetIndicesInRange(const T1< T2 > &trRange, CFLArray< uint32_t > &flaResultIndices) const
Searches for objects within the specified range and returns the found indices.
const CResult GetObjectsAndIndicesInRange(const T1< T2 > &trRange, CFLArray< T1< T2 > > &flaResultRanges, CFLArray< uint32_t > &flaResultIndices) const
Searches for objects within the specified range and returns the found range coordinates and indices.
CRangeTree(const CFLArray< T1< T2 > > *pFlaRanges)
Constructor.
int64_t GetCount() const
Retrieves the number of elements in the constructed data.
virtual ~CRangeTree()
Destructor.
const CResult Build(const CFLArray< T1< T2 > > &flaRanges)
Builds the data structure using the given range data.
FLImaging module execution result object.
Definition ResultsDef.h:1514