FLImaging 6.5.15.3
KDTreeUnlimited.h
1#pragma once
2
11#include "FLBase.h"
12
13#pragma make_public(FLImaging::Base::CFLBase)
14
16namespace FLImagingCLR
17{
19 namespace Base
20 {
38 generic<class T>
39 public ref class CKDTreeUnlimited : public CFLBase
40 {
41 public:
50
60 CKDTreeUnlimited(System::Collections::Generic::List<System::Collections::Generic::List<T>^>^ listVertices);
61
70
83
97 CResult^ Build(System::Collections::Generic::List<System::Collections::Generic::List<T>^>^ listVertices);
98
114 CResult^ Build(System::Collections::Generic::List<T>^ listVertices, size_t stDim);
115
125 int64_t GetCount();
126
138 System::Collections::Generic::List<T>^ GetNearestPoint(System::Collections::Generic::List<T>^ listPoint);
139
151 size_t GetNearestIndex(System::Collections::Generic::List<T>^ listPoint);
152
164 System::Collections::Generic::KeyValuePair<System::Collections::Generic::List<T>^, size_t>^ GetNearestPointAndIndex(System::Collections::Generic::List<T>^ listPoint);
165
166
184 CResult^ GetNearestNeighborsPoints(System::Collections::Generic::List<T>^ listPoint, int32_t i32NearestNeighborsCount, CLR_OUT System::Collections::Generic::List<System::Collections::Generic::List<T>^>^% listResultPoints);
185
203 CResult^ GetNearestNeighborsPoints(System::Collections::Generic::List<T>^ listPoint, int32_t i32NearestNeighborsCount, CLR_OUT System::Collections::Generic::List<T>^% listResultPoints);
204
222 CResult^ GetNearestNeighborsIndices(System::Collections::Generic::List<T>^ listPoint, int32_t i32NearestNeighborsCount, CLR_OUT System::Collections::Generic::List<uint64_t>^% listResultIndices);
223
241 CResult^ GetNearestNeighborsIndices(System::Collections::Generic::List<T>^ listPoint, int32_t i32NearestNeighborsCount, CLR_OUT System::Collections::Generic::List<uint32_t>^% listResultIndices);
242
262 CResult^ GetNearestNeighborsPointsAndIndices(System::Collections::Generic::List<T>^ listPoint, int32_t i32NearestNeighborsCount, CLR_OUT System::Collections::Generic::List<System::Collections::Generic::List<T>^>^% listResultPoints, CLR_OUT System::Collections::Generic::List<uint64_t>^% listResultIndices);
263
283 CResult^ GetNearestNeighborsPointsAndIndices(System::Collections::Generic::List<T>^ listPoint, int32_t i32NearestNeighborsCount, CLR_OUT System::Collections::Generic::List<System::Collections::Generic::List<T>^>^% listResultPoints, CLR_OUT System::Collections::Generic::List<uint32_t>^% listResultIndices);
284
304 CResult^ GetNearestNeighborsPointsAndIndices(System::Collections::Generic::List<T>^ listPoint, int32_t i32NearestNeighborsCount, CLR_OUT System::Collections::Generic::List<T>^% listResultPoints, CLR_OUT System::Collections::Generic::List<uint64_t>^% listResultIndices);
305
325 CResult^ GetNearestNeighborsPointsAndIndices(System::Collections::Generic::List<T>^ listPoint, int32_t i32NearestNeighborsCount, CLR_OUT System::Collections::Generic::List<T>^% listResultPoints, CLR_OUT System::Collections::Generic::List<uint32_t>^% listResultIndices);
326
344 CResult^ GetPointsInRange(System::Collections::Generic::List<T>^ listLowerBound, System::Collections::Generic::List<T>^ listUpperBound, CLR_OUT System::Collections::Generic::List<System::Collections::Generic::List<T>^>^% listResultPoints);
345
363 CResult^ GetPointsInRange(System::Collections::Generic::List<T>^ listLowerBound, System::Collections::Generic::List<T>^ listUpperBound, CLR_OUT System::Collections::Generic::List<T>^% listResultPoints);
364
382 CResult^ GetIndicesInRange(System::Collections::Generic::List<T>^ listLowerBound, System::Collections::Generic::List<T>^ listUpperBound, CLR_OUT System::Collections::Generic::List<uint64_t>^% listResultIndices);
383
401 CResult^ GetIndicesInRange(System::Collections::Generic::List<T>^ listLowerBound, System::Collections::Generic::List<T>^ listUpperBound, CLR_OUT System::Collections::Generic::List<uint32_t>^% listResultIndices);
402
422 CResult^ GetPointsAndIndicesInRange(System::Collections::Generic::List<T>^ listLowerBound, System::Collections::Generic::List<T>^ listUpperBound, CLR_OUT System::Collections::Generic::List<System::Collections::Generic::List<T>^>^% listResultPoints, CLR_OUT System::Collections::Generic::List<uint64_t>^% listResultIndices);
423
443 CResult^ GetPointsAndIndicesInRange(System::Collections::Generic::List<T>^ listLowerBound, System::Collections::Generic::List<T>^ listUpperBound, CLR_OUT System::Collections::Generic::List<System::Collections::Generic::List<T>^>^% listResultPoints, CLR_OUT System::Collections::Generic::List<uint32_t>^% listResultIndices);
444
464 CResult^ GetPointsAndIndicesInRange(System::Collections::Generic::List<T>^ listLowerBound, System::Collections::Generic::List<T>^ listUpperBound, CLR_OUT System::Collections::Generic::List<T>^% listResultPoints, CLR_OUT System::Collections::Generic::List<uint64_t>^% listResultIndices);
465
485 CResult^ GetPointsAndIndicesInRange(System::Collections::Generic::List<T>^ listLowerBound, System::Collections::Generic::List<T>^ listUpperBound, CLR_OUT System::Collections::Generic::List<T>^% listResultPoints, CLR_OUT System::Collections::Generic::List<uint32_t>^% listResultIndices);
486
487
488
489
507 CResult^ GetPointsInRadius(System::Collections::Generic::List<T>^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List<System::Collections::Generic::List<T>^>^% listResultPoints);
508
526 CResult^ GetPointsInRadius(System::Collections::Generic::List<T>^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List<T>^% listResultPoints);
527
545 CResult^ GetIndicesInRadius(System::Collections::Generic::List<T>^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List<uint64_t>^% listResultIndices);
546
564 CResult^ GetIndicesInRadius(System::Collections::Generic::List<T>^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List<uint32_t>^% listResultIndices);
565
585 CResult^ GetPointsAndIndicesInRadius(System::Collections::Generic::List<T>^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List<System::Collections::Generic::List<T>^>^% listResultPoints, CLR_OUT System::Collections::Generic::List<uint64_t>^% listResultIndices);
586
606 CResult^ GetPointsAndIndicesInRadius(System::Collections::Generic::List<T>^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List<T>^% listResultPoints, CLR_OUT System::Collections::Generic::List<uint32_t>^% listResultIndices);
607
627 CResult^ GetPointsAndIndicesInRadius(System::Collections::Generic::List<T>^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List<T>^% listResultPoints, CLR_OUT System::Collections::Generic::List<uint64_t>^% listResultIndices);
628
648 CResult^ GetPointsAndIndicesInRadius(System::Collections::Generic::List<T>^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List<System::Collections::Generic::List<T>^>^% listResultPoints, CLR_OUT System::Collections::Generic::List<uint32_t>^% listResultIndices);
649
650
651
652
653
667 CResult^ OperateAdd(System::Collections::Generic::List<T>^ listVector);
668
682 CResult^ OperateMultiply(System::Collections::Generic::List<T>^ listVector);
683 };
684 }
685}
Top-level base class of FLImaging.
Definition FLBase.h:33
KDTreeUnlimited class. Binary Search Tree of K dimensions. .
Definition KDTreeUnlimited.h:40
CResult ^ OperateMultiply(System::Collections::Generic::List< T >^ listVector)
Multiply the input vector element-wise with all nodes.
CResult ^ GetNearestNeighborsIndices(System::Collections::Generic::List< T >^ listPoint, int32_t i32NearestNeighborsCount, CLR_OUT System::Collections::Generic::List< uint32_t >^% listResultIndices)
Searches for the nearest vertex from the given vertex and returns the index of the found vertex.
CResult ^ GetNearestNeighborsPointsAndIndices(System::Collections::Generic::List< T >^ listPoint, int32_t i32NearestNeighborsCount, CLR_OUT System::Collections::Generic::List< T >^% listResultPoints, CLR_OUT System::Collections::Generic::List< uint32_t >^% listResultIndices)
After searching for the nearest vertex from the input vertex, the coordinates and indices of the foun...
CResult ^ GetPointsInRange(System::Collections::Generic::List< T >^ listLowerBound, System::Collections::Generic::List< T >^ listUpperBound, CLR_OUT System::Collections::Generic::List< T >^% listResultPoints)
After searching for vertices within the input range, the coordinates of the found vertices are return...
System::Collections::Generic::List< T > ^ GetNearestPoint(System::Collections::Generic::List< T >^ listPoint)
After searching for the nearest vertex from the input vertex, it returns the coordinates of the found...
CResult ^ GetIndicesInRadius(System::Collections::Generic::List< T >^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List< uint32_t >^% listResultIndices)
Searches for vertices contained within the input radius and returns the indices of the found vertices...
CResult ^ Build(System::Collections::Generic::List< T >^ listVertices, size_t stDim)
Build data. A function for inputting data stored in linear memory. For example, 3D data is input in t...
CResult ^ GetPointsInRadius(System::Collections::Generic::List< T >^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List< System::Collections::Generic::List< T >^>^% listResultPoints)
Search for the vertices contained within the given radius and return the coordinates of the found ver...
CResult ^ GetPointsInRadius(System::Collections::Generic::List< T >^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List< T >^% listResultPoints)
After searching for vertices within the input radius, the coordinates of the found vertices are retur...
virtual ~CKDTreeUnlimited()
Destructor.
CResult ^ Build(System::Collections::Generic::List< System::Collections::Generic::List< T >^>^ listVertices)
Build data.
CResult ^ GetNearestNeighborsPointsAndIndices(System::Collections::Generic::List< T >^ listPoint, int32_t i32NearestNeighborsCount, CLR_OUT System::Collections::Generic::List< T >^% listResultPoints, CLR_OUT System::Collections::Generic::List< uint64_t >^% listResultIndices)
After searching for the nearest vertex from the input vertex, the coordinates and indices of the foun...
size_t GetNearestIndex(System::Collections::Generic::List< T >^ listPoint)
After searching for the nearest vertex from the input vertex, it returns the index of the found verte...
CResult ^ GetNearestNeighborsPoints(System::Collections::Generic::List< T >^ listPoint, int32_t i32NearestNeighborsCount, CLR_OUT System::Collections::Generic::List< System::Collections::Generic::List< T >^>^% listResultPoints)
Searches for the nearest vertex from the given vertex and returns the coordinates of the found vertex...
CResult ^ GetPointsAndIndicesInRange(System::Collections::Generic::List< T >^ listLowerBound, System::Collections::Generic::List< T >^ listUpperBound, CLR_OUT System::Collections::Generic::List< T >^% listResultPoints, CLR_OUT System::Collections::Generic::List< uint64_t >^% listResultIndices)
After searching for vertices within the input range, the coordinates and indices of the found vertice...
CResult ^ GetNearestNeighborsPointsAndIndices(System::Collections::Generic::List< T >^ listPoint, int32_t i32NearestNeighborsCount, CLR_OUT System::Collections::Generic::List< System::Collections::Generic::List< T >^>^% listResultPoints, CLR_OUT System::Collections::Generic::List< uint64_t >^% listResultIndices)
Search for the nearest vertices from the given vertex and return the coordinates and indices of the s...
CResult ^ GetIndicesInRange(System::Collections::Generic::List< T >^ listLowerBound, System::Collections::Generic::List< T >^ listUpperBound, CLR_OUT System::Collections::Generic::List< uint32_t >^% listResultIndices)
Searches for vertices contained within the input range and returns the indices of the found vertices.
CResult ^ GetNearestNeighborsPoints(System::Collections::Generic::List< T >^ listPoint, int32_t i32NearestNeighborsCount, CLR_OUT System::Collections::Generic::List< T >^% listResultPoints)
After searching for the nearest vertex from the input vertex, the coordinates of the found vertex are...
int64_t GetCount()
Retrieves the number of elements in the constructed data.
CResult ^ OperateAdd(System::Collections::Generic::List< T >^ listVector)
Add the input vector to all nodes.
CResult ^ GetNearestNeighborsPointsAndIndices(System::Collections::Generic::List< T >^ listPoint, int32_t i32NearestNeighborsCount, CLR_OUT System::Collections::Generic::List< System::Collections::Generic::List< T >^>^% listResultPoints, CLR_OUT System::Collections::Generic::List< uint32_t >^% listResultIndices)
Search for the nearest vertices from the given vertex and return the coordinates and indices of the s...
CResult ^ GetPointsAndIndicesInRadius(System::Collections::Generic::List< T >^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List< System::Collections::Generic::List< T >^>^% listResultPoints, CLR_OUT System::Collections::Generic::List< uint64_t >^% listResultIndices)
Searches for vertices contained within the input radius and return the coordinates and indices of the...
CResult ^ GetPointsAndIndicesInRadius(System::Collections::Generic::List< T >^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List< T >^% listResultPoints, CLR_OUT System::Collections::Generic::List< uint32_t >^% listResultIndices)
After searching for vertices within the input radius, the coordinates and indices of the found vertic...
CResult ^ GetNearestNeighborsIndices(System::Collections::Generic::List< T >^ listPoint, int32_t i32NearestNeighborsCount, CLR_OUT System::Collections::Generic::List< uint64_t >^% listResultIndices)
Searches for the nearest vertex from the given vertex and returns the index of the found vertex.
CResult ^ GetPointsAndIndicesInRange(System::Collections::Generic::List< T >^ listLowerBound, System::Collections::Generic::List< T >^ listUpperBound, CLR_OUT System::Collections::Generic::List< T >^% listResultPoints, CLR_OUT System::Collections::Generic::List< uint32_t >^% listResultIndices)
After searching for vertices within the input range, the coordinates and indices of the found vertice...
CResult ^ GetPointsInRange(System::Collections::Generic::List< T >^ listLowerBound, System::Collections::Generic::List< T >^ listUpperBound, CLR_OUT System::Collections::Generic::List< System::Collections::Generic::List< T >^>^% listResultPoints)
Search for the vertices contained within the given radius and return the coordinates of the found ver...
CResult ^ GetPointsAndIndicesInRange(System::Collections::Generic::List< T >^ listLowerBound, System::Collections::Generic::List< T >^ listUpperBound, CLR_OUT System::Collections::Generic::List< System::Collections::Generic::List< T >^>^% listResultPoints, CLR_OUT System::Collections::Generic::List< uint32_t >^% listResultIndices)
Searches for vertices contained within the input range and return the coordinates and indices of the ...
CResult ^ GetPointsAndIndicesInRange(System::Collections::Generic::List< T >^ listLowerBound, System::Collections::Generic::List< T >^ listUpperBound, CLR_OUT System::Collections::Generic::List< System::Collections::Generic::List< T >^>^% listResultPoints, CLR_OUT System::Collections::Generic::List< uint64_t >^% listResultIndices)
Searches for vertices contained within the input range and return the coordinates and indices of the ...
CResult ^ GetPointsAndIndicesInRadius(System::Collections::Generic::List< T >^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List< System::Collections::Generic::List< T >^>^% listResultPoints, CLR_OUT System::Collections::Generic::List< uint32_t >^% listResultIndices)
Searches for vertices contained within the input radius and return the coordinates and indices of the...
CResult ^ GetIndicesInRadius(System::Collections::Generic::List< T >^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List< uint64_t >^% listResultIndices)
Searches for vertices contained within the input radius and returns the indices of the found vertices...
CKDTreeUnlimited(System::Collections::Generic::List< System::Collections::Generic::List< T >^>^ listVertices)
Constructor.
CResult ^ GetPointsAndIndicesInRadius(System::Collections::Generic::List< T >^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List< T >^% listResultPoints, CLR_OUT System::Collections::Generic::List< uint64_t >^% listResultIndices)
After searching for vertices within the input radius, the coordinates and indices of the found vertic...
System::Collections::Generic::KeyValuePair< System::Collections::Generic::List< T >^, size_t > ^ GetNearestPointAndIndex(System::Collections::Generic::List< T >^ listPoint)
After searching for the nearest vertex from the input vertex, it returns the coordinates and index of...
CResult ^ GetIndicesInRange(System::Collections::Generic::List< T >^ listLowerBound, System::Collections::Generic::List< T >^ listUpperBound, CLR_OUT System::Collections::Generic::List< uint64_t >^% listResultIndices)
Searches for vertices contained within the input range and returns the indices of the found vertices.
FLImaging module execution result object.
Definition ResultsDef.h:1337