Class HashedWaveletOctree

Inheritance Relationships

Base Type

Class Documentation

class HashedWaveletOctree : public wavemap::VolumetricDataStructureBase

Public Types

using Ptr = std::shared_ptr<HashedWaveletOctree>
using ConstPtr = std::shared_ptr<const HashedWaveletOctree>
using Config = HashedWaveletOctreeConfig
using Block = HashedWaveletOctreeBlock
using BlockIndex = Block::BlockIndex
using CellIndex = OctreeIndex

Public Functions

inline explicit HashedWaveletOctree(const HashedWaveletOctreeConfig &config)
inline virtual bool empty() const override
inline virtual size_t size() const override
virtual void threshold() override
virtual void prune() override
virtual void pruneSmart() override
inline virtual void clear() override
virtual size_t getMemoryUsage() const override
virtual Index3D getMinIndex() const override
virtual Index3D getMaxIndex() const override
inline virtual IndexElement getTreeHeight() const override
inline Index3D getBlockSize() const
inline const HashedWaveletOctreeConfig &getConfig()
inline virtual FloatingPoint getCellValue(const Index3D &index) const override
inline FloatingPoint getCellValue(const OctreeIndex &index) const
inline virtual void setCellValue(const Index3D &index, FloatingPoint new_value) override
inline virtual void addToCellValue(const Index3D &index, FloatingPoint update) override
inline bool hasBlock(const Index3D &block_index) const
inline Block &getOrAllocateBlock(const Index3D &block_index)
inline Block &getBlock(const Index3D &block_index)
inline const Block &getBlock(const Index3D &block_index) const
inline auto &getBlocks()
inline const auto &getBlocks() const
inline virtual void forEachLeaf(typename VolumetricDataStructureBase::IndexedLeafVisitorFunction visitor_fn) const override

Public Static Attributes

static constexpr bool kRequiresExplicitThresholding = true