Class HashedChunkedWaveletOctree

Inheritance Relationships

Base Type

Class Documentation

class HashedChunkedWaveletOctree : public wavemap::VolumetricDataStructureBase

Public Types

using Ptr = std::shared_ptr<HashedChunkedWaveletOctree>
using ConstPtr = std::shared_ptr<const HashedChunkedWaveletOctree>
using Config = HashedChunkedWaveletOctreeConfig
using Block = HashedChunkedWaveletOctreeBlock
using BlockIndex = Block::BlockIndex
using CellIndex = OctreeIndex

Public Functions

inline explicit HashedChunkedWaveletOctree(const HashedChunkedWaveletOctreeConfig &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 IndexElement getChunkHeight() const
inline Index3D getBlockSize() const
inline const HashedChunkedWaveletOctreeConfig &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