Incremental voxelmap. This class supports incremental point cloud insertion and LRU-based voxel deletion.
More...
|
| | IncrementalVoxelMap (double leaf_size) |
| | Constructor.
|
| |
|
void | set_voxel_resolution (const double leaf_size) |
| | Voxel resolution.
|
| |
|
void | set_lru_clear_cycle (const int lru_clear_cycle) |
| | LRU cache clearing cycle.
|
| |
|
void | set_lru_horizon (const int lru_horizon) |
| | LRU cache horizon.
|
| |
|
void | set_neighbor_voxel_mode (const int mode) |
| | Neighboring voxel search mode (1, 7, 19, or 27).
|
| |
|
VoxelContents::Setting & | voxel_insertion_setting () |
| | Voxel setting.
|
| |
|
double | leaf_size () const |
| | Voxel size.
|
| |
|
size_t | num_voxels () const |
| | Number of voxels in the voxelmap.
|
| |
| virtual void | clear () |
| | Clear the voxelmap.
|
| |
| virtual void | insert (const PointCloud &points) |
| | Insert points to the voxelmap.
|
| |
| virtual size_t | knn_search (const double *pt, size_t k, size_t *k_indices, double *k_sq_dists, double max_sq_dist=std::numeric_limits< double >::max()) const override |
| | Find k nearest neighbors.
|
| |
|
size_t | calc_index (const size_t voxel_id, const size_t point_id) const |
| | Calculate the global point index from the voxel index and the point index.
|
| |
|
size_t | voxel_id (const size_t i) const |
| | Extract the point ID from a global index.
|
| |
|
size_t | point_id (const size_t i) const |
| | Extract the voxel ID from a global index.
|
| |
|
bool | has_points () const |
| |
|
bool | has_normals () const |
| |
|
bool | has_covs () const |
| |
|
bool | has_intensities () const |
| |
|
decltype(auto) | point (const size_t i) const |
| |
|
decltype(auto) | normal (const size_t i) const |
| |
|
decltype(auto) | cov (const size_t i) const |
| |
|
decltype(auto) | intensity (const size_t i) const |
| |
| virtual std::vector< Eigen::Vector4d > | voxel_points () const |
| |
| virtual std::vector< Eigen::Vector4d > | voxel_normals () const |
| |
| virtual std::vector< Eigen::Matrix4d > | voxel_covs () const |
| |
|
virtual std::vector< double > | voxel_intensities () const |
| |
|
virtual PointCloudCPU::Ptr | voxel_data () const |
| |
| virtual size_t | radius_search (const double *pt, double radius, std::vector< size_t > &indices, std::vector< double > &sq_dists, int max_num_neighbors=std::numeric_limits< int >::max()) const |
| | Radius search.
|
| |
|
|
double | inv_leaf_size |
| | Inverse of the voxel size.
|
| |
|
std::vector< Eigen::Vector3i > | offsets |
| | Neighbor voxel offsets.
|
| |
|
size_t | lru_horizon |
| | LRU horizon size. Voxels that have not been accessed for lru_horizon steps are deleted.
|
| |
|
size_t | lru_clear_cycle |
| | LRU clear cycle. Voxel deletion is performed every lru_clear_cycle steps.
|
| |
|
size_t | lru_counter |
| | LRU counter. Incremented every step.
|
| |
|
VoxelContents::Setting | voxel_setting |
| | Voxel setting.
|
| |
|
std::vector< std::shared_ptr< std::pair< VoxelInfo, VoxelContents > > > | flat_voxels |
| | Voxel contents.
|
| |
|
std::unordered_map< Eigen::Vector3i, size_t, XORVector3iHash > | voxels |
| | Voxel index map.
|
| |
template<typename VoxelContents>
struct gtsam_points::IncrementalVoxelMap< VoxelContents >
Incremental voxelmap. This class supports incremental point cloud insertion and LRU-based voxel deletion.
- Note
- This class can be used as a point cloud as well as a neighbor search structure.
-
For the compatibility with other nearest neighbor search methods, this implementation returns indices that encode the voxel and point IDs. The first
point_id_bits (e.g., 32) bits of a point index represent the point ID, and the rest voxel_id_bits (e.g., 32) bits represent the voxel ID that contains the point. The specified point can be looked up by voxelmap.point(index);