59 "FixedRadiusIndex::SetTensorData witout radius not " 66 int knn)
const override {
71 const Tensor& query_points,
73 bool sort =
true)
const override {
75 "FixedRadiusIndex::SearchRadius with multi-radii not " 80 const Tensor& query_points,
82 bool sort =
true)
const override;
86 int max_knn)
const override;
115 Tensor::Empty({int64_t(num)}, Dtype::FromType<T>(), device_);
116 *ptr = distances_.GetDataPtr<T>();
120 distances_ =
Tensor::Full({int64_t(num)}, value, Dtype::FromType<T>(),
122 *ptr = distances_.GetDataPtr<T>();
125 const int64_t*
IndicesPtr()
const {
return indices_.GetDataPtr<int64_t>(); }
const int64_t max_hash_tabls_size
Definition: FixedRadiusIndex.h:89
FixedRadiusIndex for nearest neighbor range search.
Definition: FixedRadiusIndex.h:42
static Tensor Full(const SizeVector &shape, T fill_value, Dtype dtype, const Device &device=Device("CPU:0"))
Create a tensor fill with specified value.
Definition: Tensor.h:196
void AllocDistances(T **ptr, size_t num, T value)
Definition: FixedRadiusIndex.h:119
const int64_t * IndicesPtr() const
Definition: FixedRadiusIndex.h:125
Definition: NNSIndex.h:40
const double hash_table_size_factor
Definition: FixedRadiusIndex.h:88
std::pair< Tensor, Tensor > SearchHybrid(const Tensor &query_points, double radius, int max_knn) const override
Definition: FixedRadiusIndex.cpp:225
#define LogError(...)
Definition: Console.h:79
NeighborSearchAllocator(Device device)
Definition: FixedRadiusIndex.h:101
FixedRadiusIndex()
Default Constructor.
Definition: FixedRadiusIndex.cpp:40
static Tensor Empty(const SizeVector &shape, Dtype dtype, const Device &device=Device("CPU:0"))
Create a tensor with uninitialized values.
Definition: Tensor.cpp:234
const T * DistancesPtr() const
Definition: FixedRadiusIndex.h:127
~FixedRadiusIndex()
Definition: FixedRadiusIndex.cpp:47
std::vector< int64_t > points_row_splits_
Definition: FixedRadiusIndex.h:92
const Tensor & NeighborsIndex() const
Definition: FixedRadiusIndex.h:129
Tensor hash_table_index_
Definition: FixedRadiusIndex.h:95
std::vector< int64_t > hash_table_splits_
Definition: FixedRadiusIndex.h:93
void AllocIndices(int64_t **ptr, size_t num, int64_t value)
Definition: FixedRadiusIndex.h:108
std::tuple< Tensor, Tensor, Tensor > SearchRadius(const Tensor &query_points, const Tensor &radii, bool sort=true) const override
Definition: FixedRadiusIndex.h:70
FixedRadiusIndex & operator=(const FixedRadiusIndex &)=delete
static const Dtype Int64
Definition: Dtype.h:47
const Tensor & NeighborsDistance() const
Definition: FixedRadiusIndex.h:130
Definition: PinholeCameraIntrinsic.cpp:35
bool SetTensorData(const Tensor &dataset_points) override
Definition: FixedRadiusIndex.h:57
Definition: FixedRadiusIndex.h:99
std::pair< Tensor, Tensor > SearchKnn(const Tensor &query_points, int knn) const override
Definition: FixedRadiusIndex.h:65
T * GetDataPtr()
Definition: Tensor.h:1005
Tensor hash_table_cell_splits_
Definition: FixedRadiusIndex.h:94
void AllocIndices(int64_t **ptr, size_t num)
Definition: FixedRadiusIndex.h:103
void AllocDistances(T **ptr, size_t num)
Definition: FixedRadiusIndex.h:113