Class TsdfMap

Nested Relationships

Class Documentation

class TsdfMap

Map holding a Truncated Signed Distance Field Layer.

Contains functions for interacting with the layer and getting gradient and distance information.

Public Types

typedef std::shared_ptr<TsdfMap> Ptr
using EigenDStride = Eigen::Stride<Eigen::Dynamic, Eigen::Dynamic>
using EigenDRef = Eigen::Ref<MatrixType, 0, EigenDStride>

Public Functions

TsdfMap(const Config &config)
TsdfMap(const Layer<TsdfVoxel> &layer)

Creates a new TsdfMap based on a COPY of this layer.

TsdfMap(Layer<TsdfVoxel>::Ptr layer)

Creates a new TsdfMap that contains this layer.

virtual ~TsdfMap()
Layer<TsdfVoxel> *getTsdfLayerPtr()
const Layer<TsdfVoxel> &getTsdfLayer() const
FloatingPoint block_size() const
FloatingPoint voxel_size() const
unsigned int coordPlaneSliceGetDistanceWeight(unsigned int free_plane_index, double free_plane_val, EigenDRef<Eigen::Matrix<double, 3, Eigen::Dynamic>> &positions, Eigen::Ref<Eigen::VectorXd> distances, Eigen::Ref<Eigen::VectorXd> weights, unsigned int max_points) const

Extract all voxels on a slice plane that is parallel to one of the axis-aligned planes.

free_plane_index specifies the free coordinate (zero-based; x, y, z order) free_plane_val specifies the plane intercept coordinate along that axis

Protected Attributes

FloatingPoint block_size_
Layer<TsdfVoxel>::Ptr tsdf_layer_
struct Config

Public Members

FloatingPoint tsdf_voxel_size = 0.2
size_t tsdf_voxels_per_side = 16u