ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
FixedRadiusSearchImpl.h File Reference
#include <Eigen.h>
#include <Helper.h>
#include <tbb/parallel_for.h>
#include <set>
#include "cloudViewer/core/Atomic.h"
#include "cloudViewer/core/nns/NeighborSearchCommon.h"
#include "cloudViewer/utility/ParallelScan.h"
Include dependency graph for FixedRadiusSearchImpl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 cloudViewer
 Generic file read and write utility for python interface.
 
 cloudViewer::core
 
 cloudViewer::core::nns
 
 cloudViewer::core::nns::impl
 

Macros

#define VECSIZE   8
 
#define FN_PARAMETERS
 
#define CALL_TEMPLATE(METRIC, IGNORE_QUERY_POINT, RETURN_DISTANCES)
 
#define CALL_TEMPLATE2(METRIC)
 
#define CALL_TEMPLATE3
 

Functions

template<class T , class TIndex , class OUTPUT_ALLOCATOR >
void cloudViewer::core::nns::impl::FixedRadiusSearchCPU (int64_t *query_neighbors_row_splits, const size_t num_points, const T *const points, const size_t num_queries, const T *const queries, const T radius, const size_t points_row_splits_size, const int64_t *const points_row_splits, const size_t queries_row_splits_size, const int64_t *const queries_row_splits, const uint32_t *const hash_table_splits, const size_t hash_table_cell_splits_size, const uint32_t *const hash_table_cell_splits, const uint32_t *const hash_table_index, const Metric metric, const bool ignore_query_point, const bool return_distances, OUTPUT_ALLOCATOR &output_allocator)
 

Macro Definition Documentation

◆ CALL_TEMPLATE

#define CALL_TEMPLATE (   METRIC,
  IGNORE_QUERY_POINT,
  RETURN_DISTANCES 
)
Value:
if (METRIC == metric && IGNORE_QUERY_POINT == ignore_query_point && \
RETURN_DISTANCES == return_distances) \
_FixedRadiusSearchCPU<T, TIndex, OUTPUT_ALLOCATOR, METRIC, \
IGNORE_QUERY_POINT, RETURN_DISTANCES>( \
FN_PARAMETERS);

◆ CALL_TEMPLATE2

#define CALL_TEMPLATE2 (   METRIC)
Value:
CALL_TEMPLATE(METRIC, true, true) \
CALL_TEMPLATE(METRIC, true, false) \
CALL_TEMPLATE(METRIC, false, true) \
CALL_TEMPLATE(METRIC, false, false)
#define CALL_TEMPLATE(METRIC, IGNORE_QUERY_POINT, RETURN_DISTANCES)

◆ CALL_TEMPLATE3

#define CALL_TEMPLATE3
Value:
CALL_TEMPLATE2(L2) \
CALL_TEMPLATE2(Linf)
#define CALL_TEMPLATE2(METRIC)
@ L2
Definition: Common.h:27

◆ FN_PARAMETERS

#define FN_PARAMETERS
Value:
query_neighbors_row_splits, num_points, points, num_queries, queries, \
radius, points_row_splits_size, points_row_splits, \
queries_row_splits_size, queries_row_splits, hash_table_splits, \
hash_table_cell_splits_size, hash_table_cell_splits, \
hash_table_index, output_allocator
int points

◆ VECSIZE

#define VECSIZE   8