Class HashedWaveletOctreeBlock

Class Documentation

class HashedWaveletOctreeBlock

Public Types

using BlockIndex = Index3D
using Coefficients = HaarCoefficients<FloatingPoint, kDim>
using Transform = HaarTransform<FloatingPoint, kDim>
using NodeType = NdtreeNode<typename Coefficients::Details, kDim>

Public Functions

inline explicit HashedWaveletOctreeBlock(IndexElement tree_height, FloatingPoint min_log_odds, FloatingPoint max_log_odds)
inline bool empty() const
inline size_t size() const
void threshold()
void prune()
void clear()
inline FloatingPoint getCellValue(const OctreeIndex &index) const
void setCellValue(const OctreeIndex &index, FloatingPoint new_value)
void addToCellValue(const OctreeIndex &index, FloatingPoint update)
void forEachLeaf(const BlockIndex &block_index, typename VolumetricDataStructureBase::IndexedLeafVisitorFunction visitor_fn, IndexElement termination_height = 0) const
inline Coefficients::Scale &getRootScale()
inline const Coefficients::Scale &getRootScale() const
inline NodeType &getRootNode()
inline const NodeType &getRootNode() const
inline void setNeedsPruning(bool value = true)
inline bool getNeedsPruning() const
inline void setNeedsThresholding(bool value = true)
inline bool getNeedsThresholding() const
inline void setLastUpdatedStamp(Timestamp stamp = Time::now())
inline Timestamp getLastUpdatedStamp() const
inline FloatingPoint getTimeSinceLastUpdated() const
template<TraversalOrder traversal_order>
inline auto getNodeIterator()
template<TraversalOrder traversal_order>
inline auto getNodeIterator() const
inline size_t getMemoryUsage() const

Public Static Attributes

static constexpr int kDim = 3