Template Class QueryAccelerator< HashedChunkedWaveletOctree > $el.setAttribute('data-tooltip', 'Copy link to this element'), 2000)" aria-label="Copy link to this element" class="headerlink" data-tooltip="Copy link to this element" href="#template-class-queryaccelerator-hashedchunkedwaveletoctree">
Defined in File query_accelerator.h
Class Documentation $el.setAttribute('data-tooltip', 'Copy link to this element'), 2000)" aria-label="Copy link to this element" class="headerlink" data-tooltip="Copy link to this element" href="#class-documentation" x-intersect.margin.0%.0%.-70%.0%="activeSection = '#class-documentation'">
-
template<>
class QueryAccelerator<HashedChunkedWaveletOctree> $el.setAttribute('data-tooltip', 'Copy link to this element'), 2000)" aria-label="Copy link to this element" class="headerlink" data-tooltip="Copy link to this element" href="#_CPPv4IEN7wavemap16QueryAcceleratorI26HashedChunkedWaveletOctreeEE" x-intersect.margin.0%.0%.-70%.0%="activeSection = '#_CPPv4IEN7wavemap16QueryAcceleratorI26HashedChunkedWaveletOctreeEE'"> A class that accelerates queries by caching block and parent node addresses to speed up data structure traversals, and intermediate wavelet decompression results to reduce redundant computation.
Note
This class is safe to use in a multi-threaded environment. However, concurrent calls to a single instance from multiple threads are not. Since the accelerator is lightweight and cheap to construct, we recommend using a separate instance per thread for the best performance and simplicity.
Public Functions
-
inline explicit QueryAccelerator(const HashedChunkedWaveletOctree &map) $el.setAttribute('data-tooltip', 'Copy link to this element'), 2000)" aria-label="Copy link to this element" class="headerlink" data-tooltip="Copy link to this element" href="#_CPPv4N7wavemap16QueryAcceleratorI26HashedChunkedWaveletOctreeE16QueryAcceleratorERK26HashedChunkedWaveletOctree" x-intersect.margin.0%.0%.-70%.0%="activeSection = '#_CPPv4N7wavemap16QueryAcceleratorI26HashedChunkedWaveletOctreeE16QueryAcceleratorERK26HashedChunkedWaveletOctree'">
-
void reset() $el.setAttribute('data-tooltip', 'Copy link to this element'), 2000)" aria-label="Copy link to this element" class="headerlink" data-tooltip="Copy link to this element" href="#_CPPv4N7wavemap16QueryAcceleratorI26HashedChunkedWaveletOctreeE5resetEv" x-intersect.margin.0%.0%.-70%.0%="activeSection = '#_CPPv4N7wavemap16QueryAcceleratorI26HashedChunkedWaveletOctreeE5resetEv'">
Reset the cache.
Note
This method must be called whenever the map changes, not only to guarantee correct values (after node value changes) but also to avoid segmentation faults after map topology changes (e.g. after pruning).
-
inline FloatingPoint getCellValue(const Index3D &index) $el.setAttribute('data-tooltip', 'Copy link to this element'), 2000)" aria-label="Copy link to this element" class="headerlink" data-tooltip="Copy link to this element" href="#_CPPv4N7wavemap16QueryAcceleratorI26HashedChunkedWaveletOctreeE12getCellValueERK7Index3D" x-intersect.margin.0%.0%.-70%.0%="activeSection = '#_CPPv4N7wavemap16QueryAcceleratorI26HashedChunkedWaveletOctreeE12getCellValueERK7Index3D'">
Query the value of the map at a given index.
-
FloatingPoint getCellValue(const OctreeIndex &index) $el.setAttribute('data-tooltip', 'Copy link to this element'), 2000)" aria-label="Copy link to this element" class="headerlink" data-tooltip="Copy link to this element" href="#_CPPv4N7wavemap16QueryAcceleratorI26HashedChunkedWaveletOctreeE12getCellValueERK11OctreeIndex" x-intersect.margin.0%.0%.-70%.0%="activeSection = '#_CPPv4N7wavemap16QueryAcceleratorI26HashedChunkedWaveletOctreeE12getCellValueERK11OctreeIndex'">
Query the value of the map at a given octree node index.
-
inline FloatingPoint getMinCellWidth() const $el.setAttribute('data-tooltip', 'Copy link to this element'), 2000)" aria-label="Copy link to this element" class="headerlink" data-tooltip="Copy link to this element" href="#_CPPv4NK7wavemap16QueryAcceleratorI26HashedChunkedWaveletOctreeE15getMinCellWidthEv" x-intersect.margin.0%.0%.-70%.0%="activeSection = '#_CPPv4NK7wavemap16QueryAcceleratorI26HashedChunkedWaveletOctreeE15getMinCellWidthEv'">
Convenience function to get the map’s minimum cell width.
Public Static Attributes
-
static constexpr int kDim = HashedChunkedWaveletOctree::kDim $el.setAttribute('data-tooltip', 'Copy link to this element'), 2000)" aria-label="Copy link to this element" class="headerlink" data-tooltip="Copy link to this element" href="#_CPPv4N7wavemap16QueryAcceleratorI26HashedChunkedWaveletOctreeE4kDimE" x-intersect.margin.0%.0%.-70%.0%="activeSection = '#_CPPv4N7wavemap16QueryAcceleratorI26HashedChunkedWaveletOctreeE4kDimE'">
-
inline explicit QueryAccelerator(const HashedChunkedWaveletOctree &map) $el.setAttribute('data-tooltip', 'Copy link to this element'), 2000)" aria-label="Copy link to this element" class="headerlink" data-tooltip="Copy link to this element" href="#_CPPv4N7wavemap16QueryAcceleratorI26HashedChunkedWaveletOctreeE16QueryAcceleratorERK26HashedChunkedWaveletOctree" x-intersect.margin.0%.0%.-70%.0%="activeSection = '#_CPPv4N7wavemap16QueryAcceleratorI26HashedChunkedWaveletOctreeE16QueryAcceleratorERK26HashedChunkedWaveletOctree'">