FLImaging 6.7.10.2
KDTreeUnlimited.h
1#pragma once
2
10
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
165 System::Collections::Generic::KeyValuePair<System::Collections::Generic::List<T>^, size_t>^ GetNearestPointAndIndex(System::Collections::Generic::List<T>^ listPoint);
166
167
185 CResult^ GetNearestNeighborsPoints(System::Collections::Generic::List<T>^ listPoint, int64_t i64NearestNeighborsCount, CLR_OUT System::Collections::Generic::List<System::Collections::Generic::List<T>^>^% listResultPoints);
186
204 CResult^ GetNearestNeighborsPoints(System::Collections::Generic::List<T>^ listPoint, int64_t i64NearestNeighborsCount, CLR_OUT System::Collections::Generic::List<T>^% listResultPoints);
205
223 CResult^ GetNearestNeighborsIndices(System::Collections::Generic::List<T>^ listPoint, int64_t i64NearestNeighborsCount, CLR_OUT System::Collections::Generic::List<uint64_t>^% listResultIndices);
224
242 CResult^ GetNearestNeighborsIndices(System::Collections::Generic::List<T>^ listPoint, int64_t i64NearestNeighborsCount, CLR_OUT System::Collections::Generic::List<uint32_t>^% listResultIndices);
243
263 CResult^ GetNearestNeighborsPointsAndIndices(System::Collections::Generic::List<T>^ listPoint, int64_t i64NearestNeighborsCount, CLR_OUT System::Collections::Generic::List<System::Collections::Generic::List<T>^>^% listResultPoints, CLR_OUT System::Collections::Generic::List<uint64_t>^% listResultIndices);
264
284 CResult^ GetNearestNeighborsPointsAndIndices(System::Collections::Generic::List<T>^ listPoint, int64_t i64NearestNeighborsCount, CLR_OUT System::Collections::Generic::List<System::Collections::Generic::List<T>^>^% listResultPoints, CLR_OUT System::Collections::Generic::List<uint32_t>^% listResultIndices);
285
305 CResult^ GetNearestNeighborsPointsAndIndices(System::Collections::Generic::List<T>^ listPoint, int64_t i64NearestNeighborsCount, CLR_OUT System::Collections::Generic::List<T>^% listResultPoints, CLR_OUT System::Collections::Generic::List<uint64_t>^% listResultIndices);
306
326 CResult^ GetNearestNeighborsPointsAndIndices(System::Collections::Generic::List<T>^ listPoint, int64_t i64NearestNeighborsCount, CLR_OUT System::Collections::Generic::List<T>^% listResultPoints, CLR_OUT System::Collections::Generic::List<uint32_t>^% listResultIndices);
327
345 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);
346
364 CResult^ GetPointsInRange(System::Collections::Generic::List<T>^ listLowerBound, System::Collections::Generic::List<T>^ listUpperBound, CLR_OUT System::Collections::Generic::List<T>^% listResultPoints);
365
383 CResult^ GetIndicesInRange(System::Collections::Generic::List<T>^ listLowerBound, System::Collections::Generic::List<T>^ listUpperBound, CLR_OUT System::Collections::Generic::List<uint64_t>^% listResultIndices);
384
402 CResult^ GetIndicesInRange(System::Collections::Generic::List<T>^ listLowerBound, System::Collections::Generic::List<T>^ listUpperBound, CLR_OUT System::Collections::Generic::List<uint32_t>^% listResultIndices);
403
423 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);
424
444 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);
445
465 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);
466
486 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);
487
488
489
490
508 CResult^ GetPointsInRadius(System::Collections::Generic::List<T>^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List<System::Collections::Generic::List<T>^>^% listResultPoints);
509
527 CResult^ GetPointsInRadius(System::Collections::Generic::List<T>^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List<T>^% listResultPoints);
528
546 CResult^ GetIndicesInRadius(System::Collections::Generic::List<T>^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List<uint64_t>^% listResultIndices);
547
565 CResult^ GetIndicesInRadius(System::Collections::Generic::List<T>^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List<uint32_t>^% listResultIndices);
566
586 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);
587
607 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);
608
628 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);
629
649 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);
650
651
652
653
654
668 CResult^ OperateAdd(System::Collections::Generic::List<T>^ listVector);
669
683 CResult^ OperateMultiply(System::Collections::Generic::List<T>^ listVector);
684 };
685 }
686}
CResult ^ OperateMultiply(System::Collections::Generic::List< T >^ listVector)
Multiply the input vector element-wise with all nodes.
CResult ^ GetPointsInRange(System::Collections::Generic::List< T >^ listLowerBound, System::Collections::Generic::List< T >^ listUpperBound, CLR_OUT System::Collections::Generic::List< T >^% listResultPoints)
Searches for points within the specified range and returns their coordinates in linear memory.
System::Collections::Generic::List< T > ^ GetNearestPoint(System::Collections::Generic::List< T >^ listPoint)
Finds the nearest point from the specified input point and returns its coordinates in linear memory.
CResult ^ GetNearestNeighborsPoints(System::Collections::Generic::List< T >^ listPoint, int64_t i64NearestNeighborsCount, CLR_OUT System::Collections::Generic::List< T >^% listResultPoints)
Finds the specified number of nearest points from the input point and returns their coordinates in li...
CResult ^ GetNearestNeighborsPointsAndIndices(System::Collections::Generic::List< T >^ listPoint, int64_t i64NearestNeighborsCount, CLR_OUT System::Collections::Generic::List< T >^% listResultPoints, CLR_OUT System::Collections::Generic::List< uint64_t >^% listResultIndices)
Searches for the nearest neighboring points from the given input point and returns their coordinates ...
CResult ^ GetIndicesInRadius(System::Collections::Generic::List< T >^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List< uint32_t >^% listResultIndices)
Searches for the points within the specified radius from the given center point and returns the indic...
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)
Searches for the points within the specified radius from the given center point and returns the coord...
CResult ^ GetPointsInRadius(System::Collections::Generic::List< T >^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List< T >^% listResultPoints)
Searches for the points within the specified radius from the given center point and returns the coord...
virtual ~CKDTreeUnlimited()
Destructor.
CResult ^ Build(System::Collections::Generic::List< System::Collections::Generic::List< T >^>^ listVertices)
Build data.
size_t GetNearestIndex(System::Collections::Generic::List< T >^ listPoint)
Finds the nearest point from the specified input point and returns its index in linear memory.
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)
Searches for points within the specified range and returns their coordinates and indices in linear me...
CResult ^ GetNearestNeighborsIndices(System::Collections::Generic::List< T >^ listPoint, int64_t i64NearestNeighborsCount, CLR_OUT System::Collections::Generic::List< uint32_t >^% listResultIndices)
Searches for the nearest neighboring points from the given input point and returns their indices in l...
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 points within the specified range and returns their indices in linear memory.
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 ^ GetNearestNeighborsIndices(System::Collections::Generic::List< T >^ listPoint, int64_t i64NearestNeighborsCount, CLR_OUT System::Collections::Generic::List< uint64_t >^% listResultIndices)
Searches for the nearest neighboring points from the given input point and returns their indices in l...
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 the points within the specified radius from the given center point and returns both 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)
Searches for the points within the specified radius from the given center point and returns both the ...
CResult ^ GetNearestNeighborsPoints(System::Collections::Generic::List< T >^ listPoint, int64_t i64NearestNeighborsCount, CLR_OUT System::Collections::Generic::List< System::Collections::Generic::List< T >^>^% listResultPoints)
Finds the specified number of nearest points from the input point and returns their coordinates in li...
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)
Searches for points within the specified range and returns their coordinates and indices in linear me...
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)
Searches for points within the specified range and returns their coordinates in linear memory.
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 points within the specified range and returns their coordinates and indices in linear me...
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 points within the specified range and returns their coordinates and indices in linear me...
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 the points within the specified radius from the given center point and returns both the ...
CResult ^ GetIndicesInRadius(System::Collections::Generic::List< T >^ listCenter, T tRadius, CLR_OUT System::Collections::Generic::List< uint64_t >^% listResultIndices)
Searches for the points within the specified radius from the given center point and returns the indic...
CKDTreeUnlimited(System::Collections::Generic::List< System::Collections::Generic::List< T >^>^ listVertices)
Constructor.
CResult ^ GetNearestNeighborsPointsAndIndices(System::Collections::Generic::List< T >^ listPoint, int64_t i64NearestNeighborsCount, CLR_OUT System::Collections::Generic::List< System::Collections::Generic::List< T >^>^% listResultPoints, CLR_OUT System::Collections::Generic::List< uint32_t >^% listResultIndices)
Searches for the nearest neighboring points from the given input point and returns their coordinates ...
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)
Searches for the points within the specified radius from the given center point and returns both the ...
System::Collections::Generic::KeyValuePair< System::Collections::Generic::List< T >^, size_t > ^ GetNearestPointAndIndex(System::Collections::Generic::List< T >^ listPoint)
Finds the nearest point from the specified input point and returns both its coordinates and index in ...
CResult ^ GetNearestNeighborsPointsAndIndices(System::Collections::Generic::List< T >^ listPoint, int64_t i64NearestNeighborsCount, CLR_OUT System::Collections::Generic::List< T >^% listResultPoints, CLR_OUT System::Collections::Generic::List< uint32_t >^% listResultIndices)
Searches for the nearest neighboring points from the given input point and returns their coordinates ...
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 points within the specified range and returns their indices in linear memory.
CResult ^ GetNearestNeighborsPointsAndIndices(System::Collections::Generic::List< T >^ listPoint, int64_t i64NearestNeighborsCount, CLR_OUT System::Collections::Generic::List< System::Collections::Generic::List< T >^>^% listResultPoints, CLR_OUT System::Collections::Generic::List< uint64_t >^% listResultIndices)
Searches for the nearest neighboring points from the given input point and returns their coordinates ...
FLImaging module execution result object.
Definition ResultsDef.h:1337
Definition AESCryptography.h:20