Class VolumetricOctree

Inheritance Relationships

Base Type

Class Documentation

class VolumetricOctree : public wavemap::VolumetricDataStructureBase

Public Types

using Ptr = std::shared_ptr<VolumetricOctree>
using ConstPtr = std::shared_ptr<const VolumetricOctree>
using Config = VolumetricOctreeConfig
using NodeType = NdtreeNode<FloatingPoint, kDim>

Public Functions

inline explicit VolumetricOctree(const VolumetricOctreeConfig &config)
inline virtual bool empty() const override
inline virtual size_t size() const override
virtual void threshold() override
virtual void prune() override
inline virtual void clear() override
inline OctreeIndex::ChildArray getFirstChildIndices() const
virtual Index3D getMinIndex() const override
virtual Index3D getMaxIndex() const override
inline Index3D getMinPossibleIndex() const
inline Index3D getMaxPossibleIndex() const
inline virtual IndexElement getTreeHeight() const override
inline virtual FloatingPoint getCellValue(const Index3D &index) const override
inline virtual void setCellValue(const Index3D &index, FloatingPoint new_value) override
inline void setCellValue(const OctreeIndex &index, FloatingPoint new_value)
inline virtual void addToCellValue(const Index3D &index, FloatingPoint update) override
inline void addToCellValue(const OctreeIndex &index, FloatingPoint update)
virtual void forEachLeaf(typename VolumetricDataStructureBase::IndexedLeafVisitorFunction visitor_fn) const override
inline NodeType &getRootNode()
inline const NodeType &getRootNode() const
template<TraversalOrder traversal_order>
inline auto getNodeIterator()
template<TraversalOrder traversal_order>
inline auto getNodeIterator() const
inline virtual size_t getMemoryUsage() const override

Public Static Attributes

static constexpr bool kRequiresExplicitThresholding = true