gtsam_points
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
gtsam_points::GaussianVoxelMapCPU Class Reference
Inheritance diagram for gtsam_points::GaussianVoxelMapCPU:
Inheritance graph
[legend]
Collaboration diagram for gtsam_points::GaussianVoxelMapCPU:
Collaboration graph
[legend]

Public Types

using Ptr = std::shared_ptr< GaussianVoxelMapCPU >
 
using ConstPtr = std::shared_ptr< const GaussianVoxelMapCPU >
 
- Public Types inherited from gtsam_points::GaussianVoxelMap
using Ptr = std::shared_ptr< GaussianVoxelMap >
 
using ConstPtr = std::shared_ptr< const GaussianVoxelMap >
 
- Public Types inherited from gtsam_points::IncrementalVoxelMap< GaussianVoxel >
using Ptr = std::shared_ptr< IncrementalVoxelMap >
 
using ConstPtr = std::shared_ptr< const IncrementalVoxelMap >
 
- Public Types inherited from gtsam_points::NearestNeighborSearch
using Ptr = std::shared_ptr< NearestNeighborSearch >
 
using ConstPtr = std::shared_ptr< const NearestNeighborSearch >
 

Public Member Functions

 GaussianVoxelMapCPU (double resolution)
 Constructor.
 
virtual double voxel_resolution () const override
 Voxel resolution.
 
Eigen::Vector3i voxel_coord (const Eigen::Vector4d &x) const
 Compute the voxel index corresponding to a point.
 
int lookup_voxel_index (const Eigen::Vector3i &coord) const
 Look up a voxel index. If the voxel does not exist, return -1.
 
const GaussianVoxellookup_voxel (int voxel_id) const
 Look up a voxel.
 
virtual void insert (const PointCloud &frame) override
 Insert a point cloud frame into the voxelmap.
 
void save_compact (const std::string &path) const override
 Save the voxelmap.
 
- Public Member Functions inherited from gtsam_points::IncrementalVoxelMap< GaussianVoxel >
 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 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
 
- Public Member Functions inherited from gtsam_points::NearestNeighborSearch
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.
 

Static Public Member Functions

static GaussianVoxelMapCPU::Ptr load (const std::string &path)
 Load a voxelmap from a file.
 

Additional Inherited Members

- Protected Member Functions inherited from gtsam_points::IncrementalVoxelMap< GaussianVoxel >
std::vector< Eigen::Vector3i > neighbor_offsets (const int neighbor_voxel_mode) const
 
void visit_points (const Func &f) const
 
- Protected Attributes inherited from gtsam_points::IncrementalVoxelMap< GaussianVoxel >
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, GaussianVoxel > > > flat_voxels
 Voxel contents.
 
std::unordered_map< Eigen::Vector3i, size_t, XORVector3iHashvoxels
 Voxel index map.
 
- Static Protected Attributes inherited from gtsam_points::IncrementalVoxelMap< GaussianVoxel >
static constexpr int point_id_bits
 Use the first 32 bits for point id.
 
static constexpr int voxel_id_bits
 Use the remaining bits for voxel id.
 

Constructor & Destructor Documentation

◆ GaussianVoxelMapCPU()

gtsam_points::GaussianVoxelMapCPU::GaussianVoxelMapCPU ( double  resolution)

Constructor.

Parameters
resolutionVoxel resolution

Member Function Documentation

◆ insert()

virtual void gtsam_points::GaussianVoxelMapCPU::insert ( const PointCloud frame)
overridevirtual

Insert a point cloud frame into the voxelmap.

Implements gtsam_points::GaussianVoxelMap.

◆ load()

static GaussianVoxelMapCPU::Ptr gtsam_points::GaussianVoxelMapCPU::load ( const std::string &  path)
static

Load a voxelmap from a file.

Parameters
pathPath to a voxelmap file to be loaded

◆ save_compact()

void gtsam_points::GaussianVoxelMapCPU::save_compact ( const std::string &  path) const
overridevirtual

Save the voxelmap.

Parameters
pathDestination path to save the voxelmap

Implements gtsam_points::GaussianVoxelMap.

◆ voxel_resolution()

virtual double gtsam_points::GaussianVoxelMapCPU::voxel_resolution ( ) const
overridevirtual

Voxel resolution.

Implements gtsam_points::GaussianVoxelMap.


The documentation for this class was generated from the following file: