|
CoastalME (Coastal Modelling Environment)
Simulates the long-term behaviour of complex coastlines
|
#include <nanoflann.hpp>
Public Types | |
| using | ElementType = typename Distance::ElementType |
| using | DistanceType = typename Distance::DistanceType |
| using | Offset |
| using | Size |
| using | Dimension |
Public Member Functions | |
| const std::vector< index_container_t > & | getAllIndices () const |
| KDTreeSingleIndexDynamicAdaptor (const int dimensionality, const DatasetAdaptor &inputData, const KDTreeSingleIndexAdaptorParams ¶ms=KDTreeSingleIndexAdaptorParams(), const size_t maximumPointCount=1000000000U) | |
| KDTreeSingleIndexDynamicAdaptor (const KDTreeSingleIndexDynamicAdaptor< Distance, DatasetAdaptor, DIM, IndexType > &)=delete | |
| void | addPoints (IndexType start, IndexType end) |
| void | removePoint (size_t idx) |
| template<typename RESULTSET> | |
| bool | findNeighbors (RESULTSET &result, const ElementType *vec, const SearchParameters &searchParams={}) const |
Data Fields | |
| Distance | distance_ |
Protected Types | |
| using | index_container_t |
Protected Attributes | |
| Size | leaf_max_size_ |
| Size | treeCount_ |
| Size | pointCount_ |
| const DatasetAdaptor & | dataset_ |
| The source of our data. | |
| std::vector< int > | treeIndex_ |
| std::unordered_set< int > | removedPoints_ |
| KDTreeSingleIndexAdaptorParams | index_params_ |
| Dimension | dim_ |
| Dimensionality of each data point. | |
| std::vector< index_container_t > | index_ |
Private Member Functions | |
| int | First0Bit (IndexType num) |
| void | init () |
kd-tree dynaimic index
class to create multiple static index and merge their results to behave as single dynamic index as proposed in Logarithmic Approach.
Example of usage: examples/dynamic_pointcloud_example.cpp
| DatasetAdaptor | The user-provided adaptor (see comments above). |
| Distance | The distance metric to use: nanoflann::metric_L1, nanoflann::metric_L2, nanoflann::metric_L2_Simple, etc. |
| DIM | Dimensionality of data points (e.g. 3 for 3D points) |
| IndexType | Will be typically size_t or int |
Definition at line 2414 of file nanoflann.hpp.
| using nanoflann::KDTreeSingleIndexDynamicAdaptor< Distance, DatasetAdaptor, DIM, IndexType >::Dimension |
Definition at line 2424 of file nanoflann.hpp.
| using nanoflann::KDTreeSingleIndexDynamicAdaptor< Distance, DatasetAdaptor, DIM, IndexType >::DistanceType = typename Distance::DistanceType |
Definition at line 2418 of file nanoflann.hpp.
| using nanoflann::KDTreeSingleIndexDynamicAdaptor< Distance, DatasetAdaptor, DIM, IndexType >::ElementType = typename Distance::ElementType |
Definition at line 2417 of file nanoflann.hpp.
|
protected |
Definition at line 2446 of file nanoflann.hpp.
| using nanoflann::KDTreeSingleIndexDynamicAdaptor< Distance, DatasetAdaptor, DIM, IndexType >::Offset |
Definition at line 2420 of file nanoflann.hpp.
| using nanoflann::KDTreeSingleIndexDynamicAdaptor< Distance, DatasetAdaptor, DIM, IndexType >::Size |
Definition at line 2422 of file nanoflann.hpp.
|
inlineexplicit |
KDTree constructor
Refer to docs in README.md or online in https://github.com/jlblancoc/nanoflann
The KD-Tree point dimension (the length of each point in the datase, e.g. 3 for 3D points) is determined by means of:
| inputData | Dataset with the input features. Its lifetime must be equal or longer than that of the instance of this class. |
| params | Basically, the maximum leaf node size |
Definition at line 2500 of file nanoflann.hpp.
Referenced by KDTreeSingleIndexDynamicAdaptor().
|
explicitdelete |
Deleted copy constructor
|
inline |
Add points to the set, Inserts all points from [start, end]
Definition at line 2524 of file nanoflann.hpp.
Referenced by KDTreeSingleIndexDynamicAdaptor().
|
inline |
Find set of nearest neighbors to vec[0:dim-1]. Their indices are stored inside the result object.
Params: result = the result object in which the indices of the nearest-neighbors are stored vec = the vector for which to search the nearest neighbors
| RESULTSET | Should be any ResultSet<DistanceType> |
Definition at line 2589 of file nanoflann.hpp.
|
inlineprivate |
finds position of least significant unset bit
Definition at line 2460 of file nanoflann.hpp.
Referenced by addPoints().
|
inline |
Get a const ref to the internal list of indices; the number of indices is adapted dynamically as the dataset grows in size.
Definition at line 2453 of file nanoflann.hpp.
|
inlineprivate |
Creates multiple empty trees to handle dynamic support
Definition at line 2472 of file nanoflann.hpp.
Referenced by KDTreeSingleIndexDynamicAdaptor().
|
inline |
Remove a point from the set (Lazy Deletion)
Definition at line 2565 of file nanoflann.hpp.
|
protected |
The source of our data.
The dataset used by this index
Definition at line 2435 of file nanoflann.hpp.
Referenced by init(), and KDTreeSingleIndexDynamicAdaptor().
|
protected |
Dimensionality of each data point.
Definition at line 2444 of file nanoflann.hpp.
Referenced by init(), and KDTreeSingleIndexDynamicAdaptor().
| Distance nanoflann::KDTreeSingleIndexDynamicAdaptor< Distance, DatasetAdaptor, DIM, IndexType >::distance_ |
Definition at line 2483 of file nanoflann.hpp.
Referenced by KDTreeSingleIndexDynamicAdaptor().
|
protected |
Definition at line 2448 of file nanoflann.hpp.
Referenced by addPoints(), getAllIndices(), and init().
|
protected |
Definition at line 2442 of file nanoflann.hpp.
Referenced by init(), and KDTreeSingleIndexDynamicAdaptor().
|
protected |
Definition at line 2428 of file nanoflann.hpp.
Referenced by KDTreeSingleIndexDynamicAdaptor().
|
protected |
Definition at line 2430 of file nanoflann.hpp.
Referenced by addPoints(), KDTreeSingleIndexDynamicAdaptor(), and removePoint().
|
protected |
Definition at line 2440 of file nanoflann.hpp.
Referenced by addPoints(), and removePoint().
|
protected |
Definition at line 2429 of file nanoflann.hpp.
Referenced by init(), and KDTreeSingleIndexDynamicAdaptor().
|
protected |
treeIndex[idx] is the index of tree in which point at idx is stored. treeIndex[idx]=-1 means that point has been removed.
Definition at line 2439 of file nanoflann.hpp.
Referenced by addPoints(), init(), KDTreeSingleIndexDynamicAdaptor(), and removePoint().