Conscience Core
Public Types | Public Member Functions | Public Attributes | List of all members
conscience_core::lidar::CscSlam3dMapVoxelGrid Struct Reference

#include <CscSlamEngine.h>

Public Types

using VoxelSet = std::unordered_set< CscSlam3dMapVoxelKey, CscSlam3dMapVoxelKeyHash >
 

Public Member Functions

const VoxelSetgetVoxelsUnsafe () const
 
 CscSlam3dMapVoxelGrid (float voxelSizeMeters=0.035)
 
CscSlam3dMapVoxelKey cscPointToVoxel (const CscPoint3d &point) const
 
bool contains (const CscSlam3dMapVoxelKey &voxel) const
 
std::optional< CscSlam3dMapVoxelDiffaddVoxel (const CscSlam3dMapVoxelKey &voxel)
 
std::optional< CscSlam3dMapVoxelDiffremoveVoxel (const CscSlam3dMapVoxelKey &voxel)
 
std::optional< CscSlam3dMapVoxelDiffaddPointConscience (const CscPoint3d &point)
 
std::optional< CscSlam3dMapVoxelDiffremovePointConscience (const CscPoint3d &point)
 
std::optional< CscSlam3dMapVoxelDiffaddPointMrpt (double x, double y, double z)
 
std::optional< CscSlam3dMapVoxelDiffremovePointMrpt (double x, double y, double z)
 
vector< CscSlam3dMapVoxelKeygetAllVoxelsCopy () const
 
void replaceWith (CscSlam3dMapVoxelGrid &&other)
 
void clear ()
 
size_t size () const
 
bool empty () const
 

Public Attributes

const float voxelSizeMeters
 

Member Typedef Documentation

◆ VoxelSet

Constructor & Destructor Documentation

◆ CscSlam3dMapVoxelGrid()

conscience_core::lidar::CscSlam3dMapVoxelGrid::CscSlam3dMapVoxelGrid ( float  voxelSizeMeters = 0.035)
explicit

Member Function Documentation

◆ addPointConscience()

std::optional< CscSlam3dMapVoxelDiff > conscience_core::lidar::CscSlam3dMapVoxelGrid::addPointConscience ( const CscPoint3d point)
Parameters
pointpoint to be added in conscience ref frame
Returns
optional change to the associated voxel

◆ addPointMrpt()

std::optional< CscSlam3dMapVoxelDiff > conscience_core::lidar::CscSlam3dMapVoxelGrid::addPointMrpt ( double  x,
double  y,
double  z 
)

◆ addVoxel()

std::optional< CscSlam3dMapVoxelDiff > conscience_core::lidar::CscSlam3dMapVoxelGrid::addVoxel ( const CscSlam3dMapVoxelKey voxel)

◆ clear()

void conscience_core::lidar::CscSlam3dMapVoxelGrid::clear ( )

◆ contains()

bool conscience_core::lidar::CscSlam3dMapVoxelGrid::contains ( const CscSlam3dMapVoxelKey voxel) const

◆ cscPointToVoxel()

CscSlam3dMapVoxelKey conscience_core::lidar::CscSlam3dMapVoxelGrid::cscPointToVoxel ( const CscPoint3d point) const

◆ empty()

bool conscience_core::lidar::CscSlam3dMapVoxelGrid::empty ( ) const

◆ getAllVoxelsCopy()

vector< CscSlam3dMapVoxelKey > conscience_core::lidar::CscSlam3dMapVoxelGrid::getAllVoxelsCopy ( ) const

◆ getVoxelsUnsafe()

const CscSlam3dMapVoxelGrid::VoxelSet & conscience_core::lidar::CscSlam3dMapVoxelGrid::getVoxelsUnsafe ( ) const

◆ removePointConscience()

std::optional< CscSlam3dMapVoxelDiff > conscience_core::lidar::CscSlam3dMapVoxelGrid::removePointConscience ( const CscPoint3d point)
Parameters
pointpoint to be removed in conscience ref frame
Returns
optional change to the associated voxel

◆ removePointMrpt()

std::optional< CscSlam3dMapVoxelDiff > conscience_core::lidar::CscSlam3dMapVoxelGrid::removePointMrpt ( double  x,
double  y,
double  z 
)

◆ removeVoxel()

std::optional< CscSlam3dMapVoxelDiff > conscience_core::lidar::CscSlam3dMapVoxelGrid::removeVoxel ( const CscSlam3dMapVoxelKey voxel)

◆ replaceWith()

void conscience_core::lidar::CscSlam3dMapVoxelGrid::replaceWith ( CscSlam3dMapVoxelGrid &&  other)

◆ size()

size_t conscience_core::lidar::CscSlam3dMapVoxelGrid::size ( ) const

Member Data Documentation

◆ voxelSizeMeters

const float conscience_core::lidar::CscSlam3dMapVoxelGrid::voxelSizeMeters

The documentation for this struct was generated from the following files: