small_gicp
|
Classes | |
struct | Traits< FlatContainer< HasNormals, HasCovs > > |
struct | Traits< GaussianVoxel > |
struct | Traits< IncrementalVoxelMap< VoxelContents > > |
struct | Traits< UnsafeKdTree< PointCloud, Projection > > |
struct | Traits< KdTree< PointCloud, Projection > > |
struct | Traits |
struct | has_nearest_neighbor_search |
Check if T has nearest_neighbor_search method. More... | |
struct | Traits< pcl::PointCloud< PointType > > |
struct | Traits< PointCloudProxy< PointT > > |
struct | Traits< Eigen::MatrixXd > |
struct | Traits< PointCloud > |
Functions | |
template<typename VoxelContents > | |
std::vector< size_t > | point_indices (const IncrementalVoxelMap< VoxelContents > &voxelmap) |
template<typename VoxelContents > | |
std::vector< Eigen::Vector4d > | voxel_points (const IncrementalVoxelMap< VoxelContents > &voxelmap) |
template<typename VoxelContents > | |
std::vector< Eigen::Vector4d > | voxel_normals (const IncrementalVoxelMap< VoxelContents > &voxelmap) |
template<typename VoxelContents > | |
std::vector< Eigen::Matrix4d > | voxel_covs (const IncrementalVoxelMap< VoxelContents > &voxelmap) |
template<typename T > | |
size_t | knn_search (const T &tree, const Eigen::Vector4d &point, size_t k, size_t *k_indices, double *k_sq_dists) |
Find k-nearest neighbors. More... | |
template<typename T , std::enable_if_t< has_nearest_neighbor_search< T >::value, bool > = true> | |
size_t | nearest_neighbor_search (const T &tree, const Eigen::Vector4d &point, size_t *k_index, double *k_sq_dist) |
Find the nearest neighbor. If Traits<T>::nearest_neighbor_search is not defined, fallback to knn_search with k=1. More... | |
template<typename T > | |
size_t | size (const T &points) |
Get the number of points. More... | |
template<typename T > | |
bool | has_points (const T &points) |
Check if the point cloud has points. More... | |
template<typename T > | |
bool | has_normals (const T &points) |
Check if the point cloud has normals. More... | |
template<typename T > | |
bool | has_covs (const T &points) |
Check if the point cloud has covariances. More... | |
template<typename T > | |
auto | point (const T &points, size_t i) |
Get i-th point. 4D vector is used to take advantage of SIMD intrinsics. The last element must be filled by one (x, y, z, 1). More... | |
template<typename T > | |
auto | normal (const T &points, size_t i) |
Get i-th normal. 4D vector is used to take advantage of SIMD intrinsics. The last element must be filled by zero (nx, ny, nz, 0). More... | |
template<typename T > | |
auto | cov (const T &points, size_t i) |
Get i-th covariance. Only the top-left 3x3 matrix is filled, and the bottom row and the right col must be filled by zero. More... | |
template<typename T > | |
void | resize (T &points, size_t n) |
Resize the point cloud (this function should resize all attributes) More... | |
template<typename T > | |
void | set_point (T &points, size_t i, const Eigen::Vector4d &pt) |
Set i-th point. (x, y, z, 1) More... | |
template<typename T > | |
void | set_normal (T &points, size_t i, const Eigen::Vector4d &pt) |
Set i-th normal. (nx, nz, nz, 0) More... | |
template<typename T > | |
void | set_cov (T &points, size_t i, const Eigen::Matrix4d &cov) |
Set i-th covariance. Only the top-left 3x3 matrix should be filled. More... | |
auto small_gicp::traits::cov | ( | const T & | points, |
size_t | i | ||
) |
Get i-th covariance. Only the top-left 3x3 matrix is filled, and the bottom row and the right col must be filled by zero.
bool small_gicp::traits::has_covs | ( | const T & | points | ) |
Check if the point cloud has covariances.
bool small_gicp::traits::has_normals | ( | const T & | points | ) |
Check if the point cloud has normals.
bool small_gicp::traits::has_points | ( | const T & | points | ) |
Check if the point cloud has points.
size_t small_gicp::traits::knn_search | ( | const T & | tree, |
const Eigen::Vector4d & | point, | ||
size_t | k, | ||
size_t * | k_indices, | ||
double * | k_sq_dists | ||
) |
Find k-nearest neighbors.
tree | Nearest neighbor search (e.g., KdTree) |
point | Query point |
k | Number of neighbors |
k_indices | [out] Indices of k-nearest neighbors |
k_sq_dists | [out] Squared distances to k-nearest neighbors |
size_t small_gicp::traits::nearest_neighbor_search | ( | const T & | tree, |
const Eigen::Vector4d & | point, | ||
size_t * | k_index, | ||
double * | k_sq_dist | ||
) |
Find the nearest neighbor. If Traits<T>::nearest_neighbor_search is not defined, fallback to knn_search with k=1.
tree | Nearest neighbor search (e.g., KdTree) |
point | Query point |
k_index | [out] Index of the nearest neighbor |
k_sq_dist | [out] Squared distance to the nearest neighbor |
auto small_gicp::traits::normal | ( | const T & | points, |
size_t | i | ||
) |
Get i-th normal. 4D vector is used to take advantage of SIMD intrinsics. The last element must be filled by zero (nx, ny, nz, 0).
auto small_gicp::traits::point | ( | const T & | points, |
size_t | i | ||
) |
Get i-th point. 4D vector is used to take advantage of SIMD intrinsics. The last element must be filled by one (x, y, z, 1).
std::vector<size_t> small_gicp::traits::point_indices | ( | const IncrementalVoxelMap< VoxelContents > & | voxelmap | ) |
void small_gicp::traits::resize | ( | T & | points, |
size_t | n | ||
) |
Resize the point cloud (this function should resize all attributes)
void small_gicp::traits::set_cov | ( | T & | points, |
size_t | i, | ||
const Eigen::Matrix4d & | cov | ||
) |
Set i-th covariance. Only the top-left 3x3 matrix should be filled.
void small_gicp::traits::set_normal | ( | T & | points, |
size_t | i, | ||
const Eigen::Vector4d & | pt | ||
) |
Set i-th normal. (nx, nz, nz, 0)
void small_gicp::traits::set_point | ( | T & | points, |
size_t | i, | ||
const Eigen::Vector4d & | pt | ||
) |
Set i-th point. (x, y, z, 1)
size_t small_gicp::traits::size | ( | const T & | points | ) |
Get the number of points.
std::vector<Eigen::Matrix4d> small_gicp::traits::voxel_covs | ( | const IncrementalVoxelMap< VoxelContents > & | voxelmap | ) |
std::vector<Eigen::Vector4d> small_gicp::traits::voxel_normals | ( | const IncrementalVoxelMap< VoxelContents > & | voxelmap | ) |
std::vector<Eigen::Vector4d> small_gicp::traits::voxel_points | ( | const IncrementalVoxelMap< VoxelContents > & | voxelmap | ) |