FLImaging 6.7.7.7
KDTreeGroup.h
1#pragma once
2
12
13#include "TRect.h"
14
16namespace FLImaging
17{
19 namespace Base
20 {
21 template<typename T>
22 class CFLArray;
23
24 template<template<typename> class T1, typename T2>
25 class CInternalKDTreeGroup;
26
49 template<template<typename> class T1, typename T2>
50 class FL_EXPORT CKDTreeGroup : public CFLBase
51 {
52 public:
61
75 CKDTreeGroup(const CFLArray<T1<T2>>& flaVertices, const CFLArray<int64_t>& flaGroupNumbers);
76
90 CKDTreeGroup(const CFLArray<T1<T2>>* pFlaVertices, const CFLArray<int64_t>* pFlaGroupNumbers);
91
99 virtual ~CKDTreeGroup();
100
112 const CResult Clear();
113
131 const CResult Build(const CFLArray<T1<T2>>& flaVertices, const CFLArray<int64_t>& flaGroupNumbers);
132
150 const CResult Build(const CFLArray<T1<T2>>* pFlaVertices, const CFLArray<int64_t>* pFlaGroupNumbers);
151
163 int64_t GetCount() const;
164
165
166
184 const CResult GetNearestNeighborsPoints(const T1<T2>& tpPoint, int64_t i64NearestNeighborsCount, CFLArray<T1<T2>>& flaResultPoints) const;
185
203 const CResult GetNearestNeighborsIndices(const T1<T2>& tpPoint, int64_t i64NearestNeighborsCount, CFLArray<uint64_t>& flaResultIndices) const;
204
222 const CResult GetNearestNeighborsIndices(const T1<T2>& tpPoint, int64_t i64NearestNeighborsCount, CFLArray<uint32_t>& flaResultIndices) const;
223
243 const CResult GetNearestNeighborsPointsAndIndices(const T1<T2>& tpPoint, int64_t i64NearestNeighborsCount, CFLArray<T1<T2>>& flaResultPoints, CFLArray<uint64_t>& flaResultIndices) const;
244
264 const CResult GetNearestNeighborsPointsAndIndices(const T1<T2>& tpPoint, int64_t i64NearestNeighborsCount, CFLArray<T1<T2>>& flaResultPoints, CFLArray<uint32_t>& flaResultIndices) const;
265
266
286 const CResult GetPointsInRange(const T1<T2>& tpLowerBound, const T1<T2>& tpUpperBound, CFLArray<T1<T2>>& flaResultPoints, int64_t i64Count = -1) const;
287
307 const CResult GetIndicesInRange(const T1<T2>& tpLowerBound, const T1<T2>& tpUpperBound, CFLArray<uint64_t>& flaResultIndices, int64_t i64Count = -1) const;
308
328 const CResult GetIndicesInRange(const T1<T2>& tpLowerBound, const T1<T2>& tpUpperBound, CFLArray<uint32_t>& flaResultIndices, int64_t i64Count = -1) const;
329
351 const CResult GetPointsAndIndicesInRange(const T1<T2>& tpLowerBound, const T1<T2>& tpUpperBound, CFLArray<T1<T2>>& flaResultPoints, CFLArray<uint64_t>& flaResultIndices, int64_t i64Count = -1) const;
352
374 const CResult GetPointsAndIndicesInRange(const T1<T2>& tpLowerBound, const T1<T2>& tpUpperBound, CFLArray<T1<T2>>& flaResultPoints, CFLArray<uint32_t>& flaResultIndices, int64_t i64Count = -1) const;
375
376
377
378
379
399 const CResult GetPointsInRadius(const T1<T2>& tpCenter, T2 tRadius, CFLArray<T1<T2>>& flaResultPoints, int64_t i64Count = -1) const;
400
420 const CResult GetIndicesInRadius(const T1<T2>& tpCenter, T2 tRadius, CFLArray<uint64_t>& flaResultIndices, int64_t i64Count = -1) const;
421
441 const CResult GetIndicesInRadius(const T1<T2>& tpCenter, T2 tRadius, CFLArray<uint32_t>& flaResultIndices, int64_t i64Count = -1) const;
442
464 const CResult GetPointsAndIndicesInRadius(const T1<T2>& tpCenter, T2 tRadius, CFLArray<T1<T2>>& flaResultPoints, CFLArray<uint64_t>& flaResultIndices, int64_t i64Count = -1) const;
465
487 const CResult GetPointsAndIndicesInRadius(const T1<T2>& tpCenter, T2 tRadius, CFLArray<T1<T2>>& flaResultPoints, CFLArray<uint32_t>& flaResultIndices, int64_t i64Count = -1) const;
488
489
490
504 const CResult AddExcludedGroupNumber(int64_t i64GroupNumber);
505
519 const CResult RemoveExcludedGroupNumber(int64_t i64GroupNumber);
520
533
534
535
549 const CResult OperateAdd(const T1<T2>& tpVector);
550
564 const CResult OperateMultiply(const T1<T2>& tpVector);
565
566 DeclareGetClassType();
567
568
569 protected:
570
571 CInternalKDTreeGroup<T1, T2>* m_pInternal;
572
573 friend class CInternalKDTreeGroup<T1, T2>;
574 };
575 }
576}
Template type 의 배열 클래스.
Definition FLArray.h:53
CFLBase()
기본 생성자
const CResult OperateAdd(const T1< T2 > &tpVector)
모든 노드에 입력된 벡터를 더합니다.
const CResult GetNearestNeighborsPoints(const T1< T2 > &tpPoint, int64_t i64NearestNeighborsCount, CFLArray< T1< T2 > > &flaResultPoints) const
입력된 정점에서 가장 가까운 정점을 탐색한 뒤 찾은 정점 좌표를 지정된 개수만큼 반환한다.
const CResult Build(const CFLArray< T1< T2 > > *pFlaVertices, const CFLArray< int64_t > *pFlaGroupNumbers)
데이터 구축
CKDTreeGroup(const CFLArray< T1< T2 > > &flaVertices, const CFLArray< int64_t > &flaGroupNumbers)
생성자
const CResult GetIndicesInRadius(const T1< T2 > &tpCenter, T2 tRadius, CFLArray< uint32_t > &flaResultIndices, int64_t i64Count=-1) const
입력된 반경에 포함되는 정점을 탐색한 뒤 찾은 정점 인덱스를 지정된 개수만큼 반환한다.
const CResult GetIndicesInRadius(const T1< T2 > &tpCenter, T2 tRadius, CFLArray< uint64_t > &flaResultIndices, int64_t i64Count=-1) const
입력된 반경에 포함되는 정점을 탐색한 뒤 찾은 정점 인덱스를 지정된 개수만큼 반환한다.
const CResult GetIndicesInRange(const T1< T2 > &tpLowerBound, const T1< T2 > &tpUpperBound, CFLArray< uint32_t > &flaResultIndices, int64_t i64Count=-1) const
입력된 범위에 포함되는 정점을 탐색한 뒤 찾은 정점 인덱스를 지정된 개수만큼 반환한다.
const CResult ClearExcludedGroupNumbers()
제외할 그룹 번호 목록을 모두 제거한다.
const CResult GetNearestNeighborsPointsAndIndices(const T1< T2 > &tpPoint, int64_t i64NearestNeighborsCount, CFLArray< T1< T2 > > &flaResultPoints, CFLArray< uint64_t > &flaResultIndices) const
입력된 정점에서 가장 가까운 정점을 탐색한 뒤 찾은 정점 좌표와 정점 인덱스를 지정된 개수만큼 반환한다.
const CResult GetNearestNeighborsIndices(const T1< T2 > &tpPoint, int64_t i64NearestNeighborsCount, CFLArray< uint64_t > &flaResultIndices) const
입력된 정점에서 가장 가까운 정점을 탐색한 뒤 찾은 정점 인덱스를 지정된 개수만큼 반환한다.
virtual ~CKDTreeGroup()
소멸자
const CResult GetPointsInRadius(const T1< T2 > &tpCenter, T2 tRadius, CFLArray< T1< T2 > > &flaResultPoints, int64_t i64Count=-1) const
입력된 반경에 포함되는 정점을 탐색한 뒤 찾은 정점 좌표를 지정된 개수만큼 반환한다.
const CResult GetPointsAndIndicesInRadius(const T1< T2 > &tpCenter, T2 tRadius, CFLArray< T1< T2 > > &flaResultPoints, CFLArray< uint64_t > &flaResultIndices, int64_t i64Count=-1) const
입력된 반경에 포함되는 정점을 탐색한 뒤 찾은 정점 좌표와 정점 인덱스를 지정된 개수만큼 반환한다.
const CResult GetNearestNeighborsPointsAndIndices(const T1< T2 > &tpPoint, int64_t i64NearestNeighborsCount, CFLArray< T1< T2 > > &flaResultPoints, CFLArray< uint32_t > &flaResultIndices) const
입력된 정점에서 가장 가까운 정점을 탐색한 뒤 찾은 정점 좌표와 정점 인덱스를 지정된 개수만큼 반환한다.
const CResult GetPointsAndIndicesInRange(const T1< T2 > &tpLowerBound, const T1< T2 > &tpUpperBound, CFLArray< T1< T2 > > &flaResultPoints, CFLArray< uint64_t > &flaResultIndices, int64_t i64Count=-1) const
입력된 범위에 포함되는 정점을 탐색한 뒤 찾은 정점 좌표와 정점 인덱스를 지정된 개수만큼 반환한다.
const CResult GetPointsAndIndicesInRange(const T1< T2 > &tpLowerBound, const T1< T2 > &tpUpperBound, CFLArray< T1< T2 > > &flaResultPoints, CFLArray< uint32_t > &flaResultIndices, int64_t i64Count=-1) const
입력된 범위에 포함되는 정점을 탐색한 뒤 찾은 정점 좌표와 정점 인덱스를 지정된 개수만큼 반환한다.
const CResult GetIndicesInRange(const T1< T2 > &tpLowerBound, const T1< T2 > &tpUpperBound, CFLArray< uint64_t > &flaResultIndices, int64_t i64Count=-1) const
입력된 범위에 포함되는 정점을 탐색한 뒤 찾은 정점 인덱스를 지정된 개수만큼 반환한다.
const CResult GetPointsInRange(const T1< T2 > &tpLowerBound, const T1< T2 > &tpUpperBound, CFLArray< T1< T2 > > &flaResultPoints, int64_t i64Count=-1) const
입력된 범위에 포함되는 정점을 탐색한 뒤 찾은 정점 좌표를 지정된 개수만큼 반환한다.
const CResult AddExcludedGroupNumber(int64_t i64GroupNumber)
제외할 그룹 번호를 목록에 추가한다.
const CResult OperateMultiply(const T1< T2 > &tpVector)
모든 노드에 입력된 벡터를 원소별로 곱합니다.
const CResult Build(const CFLArray< T1< T2 > > &flaVertices, const CFLArray< int64_t > &flaGroupNumbers)
데이터 구축
const CResult GetNearestNeighborsIndices(const T1< T2 > &tpPoint, int64_t i64NearestNeighborsCount, CFLArray< uint32_t > &flaResultIndices) const
입력된 정점에서 가장 가까운 정점을 탐색한 뒤 찾은 정점 인덱스를 지정된 개수만큼 반환한다.
const CResult Clear()
데이터 비우기
int64_t GetCount() const
구축된 데이터의 원소 개수를 얻어옵니다
CKDTreeGroup(const CFLArray< T1< T2 > > *pFlaVertices, const CFLArray< int64_t > *pFlaGroupNumbers)
생성자
const CResult GetPointsAndIndicesInRadius(const T1< T2 > &tpCenter, T2 tRadius, CFLArray< T1< T2 > > &flaResultPoints, CFLArray< uint32_t > &flaResultIndices, int64_t i64Count=-1) const
입력된 반경에 포함되는 정점을 탐색한 뒤 찾은 정점 좌표와 정점 인덱스를 지정된 개수만큼 반환한다.
const CResult RemoveExcludedGroupNumber(int64_t i64GroupNumber)
제외할 그룹 번호를 목록에서 제거한다.
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1596
Definition AESCryptography.h:18