PointParallelHashGridSearcher3.h
Go to the documentation of this file.
55 PointParallelHashGridSearcher3(size_t resolutionX, size_t resolutionY, size_t resolutionZ, double gridSpacing);
77 void ForEachNearbyPoint(const Vector3D& origin, double radius, const ForEachNearbyPointFunc& callback) const override;
std::function< void(size_t, const Vector3D &)> ForEachNearbyPointFunc
Definition: PointNeighborSearcher3.h:34
PointParallelHashGridSearcher3 Build() const
Builds PointParallelHashGridSearcher3 instance.
PointParallelHashGridSearcher3(const Size3 &resolution, double gridSpacing)
Constructs hash grid with given resolution and grid spacing.
const std::vector< size_t > & EndIndexTable() const
Returns the end index table.
void Deserialize(const std::vector< uint8_t > &buffer) override
Deserializes the neighbor searcher from the buffer.
std::shared_ptr< PointNeighborSearcher3 > PointNeighborSearcher3Ptr
Shared pointer for the PointNeighborSearcher3 type.
Definition: PointNeighborSearcher3.h:79
Point3I GetBucketIndex(const Vector3D &position) const
size_t GetHashKeyFromBucketIndex(const Point3I &bucketIndex) const
PointParallelHashGridSearcher3 & operator=(const PointParallelHashGridSearcher3 &other)
Assignment operator.
PointParallelHashGridSearcher3Ptr MakeShared() const
Builds shared pointer of PointParallelHashGridSearcher3 instance.
void ForEachNearbyPoint(const Vector3D &origin, double radius, const ForEachNearbyPointFunc &callback) const override
1-D read-only array accessor class.
Definition: ArrayAccessor1.h:185
void Serialize(std::vector< uint8_t > *buffer) const override
Serializes the neighbor searcher into the buffer.
const std::vector< size_t > & Keys() const
Returns the hash key list.
Builder & WithGridSpacing(double gridSpacing)
Returns builder with grid spacing.
Definition: pybind11Utils.h:24
const std::vector< size_t > & StartIndexTable() const
Returns the start index table.
PointNeighborSearcher3Ptr Clone() const override
Creates a new instance of the object with same properties than original.
Abstract base class for 3-D point neighbor searcher builders.
Definition: PointNeighborSearcher3.h:82
PointNeighborSearcher3Ptr BuildPointNeighborSearcher() const override
Returns shared pointer of PointNeighborSearcher3 type.
Abstract base class for 3-D neighbor point searcher.
Definition: PointNeighborSearcher3.h:29
Front-end to create PointParallelHashGridSearcher3 objects step by step.
Definition: PointParallelHashGridSearcher3.h:223
Parallel version of hash grid-based 3-D point searcher.
Definition: PointParallelHashGridSearcher3.h:24
void Build(const ConstArrayAccessor1< Vector3D > &points) override
Builds internal acceleration structure for given points list.
static Builder GetBuilder()
Returns builder fox PointParallelHashGridSearcher3.
#define CUBBYFLOW_NEIGHBOR_SEARCHER3_TYPE_NAME(DerivedClassName)
Definition: PointNeighborSearcher3.h:94
Builder & WithResolution(const Size3 &resolution)
Returns builder with resolution.
const std::vector< size_t > & SortedIndices() const
Returns the sorted indices of the points.
std::shared_ptr< PointParallelHashGridSearcher3 > PointParallelHashGridSearcher3Ptr
Shared pointer for the PointParallelHashGridSearcher3 type.
Definition: PointParallelHashGridSearcher3.h:218
bool HasNearbyPoint(const Vector3D &origin, double radius) const override
void Set(const PointParallelHashGridSearcher3 &other)
Copy from the other instance.