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 |