![]() |
PeriDEM 0.2.0
PeriDEM -- Peridynamics-based high-fidelity model for granular media
|
A class for nearest neighbor search. More...
#include <nsearch.h>
Public Member Functions | |
| BaseNSearch (std::string name, size_t debug=0) | |
| Constructor. | |
| virtual double | updatePointCloud (const std::vector< util::Point > &x, bool parallel=true)=0 |
| Function to implement point cloud update. | |
| virtual double | setInputCloud ()=0 |
| Set input cloud. | |
| virtual size_t | radiusSearch (const util::Point &searchPoint, const double &search_r, std::vector< int > &neighs, std::vector< float > &sqr_dist)=0 |
| Perform radius search to find points in a point cloud within specified distance from a given point. | |
| virtual size_t | radiusSearch (const util::Point &searchPoint, const double &search_r, std::vector< size_t > &neighs, std::vector< double > &sqr_dist)=0 |
| Perform radius search to find points in a point cloud within specified distance from a given point. = 0 | |
| virtual size_t | radiusSearchExcludeTag (const util::Point &searchPoint, const double &search_r, std::vector< size_t > &neighs, std::vector< double > &sqr_dist, const size_t &searchPointTag, const std::vector< size_t > &dataTags)=0 |
| Perform radius search to find points in a point cloud within specified distance from a given point. This function also checks the tag of potential point and only if the point has a different tag it will be added to the list. This is useful for getting neighbor lists for contact. In this case, tag of a point is the particle id (particle it belongs to). | |
| virtual size_t | radiusSearchExcludeTag (const util::Point &searchPoint, const double &search_r, std::vector< int > &neighs, std::vector< float > &sqr_dist, const size_t &searchPointTag, const std::vector< size_t > &dataTags)=0 |
| = 0 | |
| virtual size_t | radiusSearchIncludeTag (const util::Point &searchPoint, const double &search_r, std::vector< size_t > &neighs, std::vector< double > &sqr_dist, const size_t &searchPointTag, const std::vector< size_t > &dataTags)=0 |
| Perform radius search to find points in a point cloud within specified distance from a given point. This function also checks the tag of potential point and only if the point has a same tag it will be added to the list. This is useful for getting neighbor lists for peridynamics. In this case, tag of a point is the particle id (particle it belongs to). | |
| virtual size_t | radiusSearchIncludeTag (const util::Point &searchPoint, const double &search_r, std::vector< int > &neighs, std::vector< float > &sqr_dist, const size_t &searchPointTag, const std::vector< size_t > &dataTags)=0 |
| = 0 | |
| virtual void | closestPoint (const util::Point &searchPoint, size_t &neigh, double &sqrDistNeigh)=0 |
| Find the closest points to the specified point. | |
Data Fields | |
| size_t | d_debug |
| control the verbosity | |
| std::string | d_treeType |
| name of tree: nflann_kdtree | |
|
inline |
Constructor.
| name | Name of tree |
| debug | Debug level to print information |
Definition at line 36 of file nsearch.h.
|
pure virtual |
Find the closest points to the specified point.
| searchPoint | Point near which we want neighbors |
| foundNeigh | Index of point in neighborhood |
| sqrDistNeigh | Squared distance of neighboring point from search point |
Implemented in nsearch::NFlannSearchKd< dim >.
|
pure virtual |
Perform radius search to find points in a point cloud within specified distance from a given point.
| searchPoint | Point near which we want neighbors |
| search_r | Search radius |
| neighs | Indices of points in neighborhood |
| sqr_dist | Squared distance of neighboring points from search point |
Implemented in nsearch::NFlannSearchKd< dim >.
|
pure virtual |
Perform radius search to find points in a point cloud within specified distance from a given point. = 0
| searchPoint | Point near which we want neighbors |
| search_r | Search radius |
| neighs | Indices of points in neighborhood |
| sqr_dist | Squared distance of neighboring points from search point |
Implemented in nsearch::NFlannSearchKd< dim >.
|
pure virtual |
|
pure virtual |
Perform radius search to find points in a point cloud within specified distance from a given point. This function also checks the tag of potential point and only if the point has a different tag it will be added to the list. This is useful for getting neighbor lists for contact. In this case, tag of a point is the particle id (particle it belongs to).
| searchPoint | Point near which we want neighbors |
| search_r | Search radius |
| neighs | Indices of points in neighborhood |
| sqr_dist | Squared distance of neighboring points from search point |
| searchPointTag | Tag of a search point |
| dataTags | Vector of tags for each point in the pointcloud |
Implemented in nsearch::NFlannSearchKd< dim >.
|
pure virtual |
|
pure virtual |
Perform radius search to find points in a point cloud within specified distance from a given point. This function also checks the tag of potential point and only if the point has a same tag it will be added to the list. This is useful for getting neighbor lists for peridynamics. In this case, tag of a point is the particle id (particle it belongs to).
| searchPoint | Point near which we want neighbors |
| search_r | Search radius |
| neighs | Indices of points in neighborhood |
| sqr_dist | Squared distance of neighboring points from search point |
| searchPointTag | Tag of a search point |
| dataTags | Vector of tags for each point in the pointcloud |
Implemented in nsearch::NFlannSearchKd< dim >.
|
pure virtual |
Set input cloud.
Implemented in nsearch::NFlannSearchKd< dim >.
|
pure virtual |
Function to implement point cloud update.
| x | Vector of positions of points |
| parallel | Specify if this is done in parallel |
Implemented in nsearch::NFlannSearchKd< dim >.
| size_t nsearch::BaseNSearch::d_debug |
| std::string nsearch::BaseNSearch::d_treeType |