Generic single-reference static octree. More...
#include <mitsuba/core/octree.h>
Classes | |
struct | LabelOrdering |
struct | OctreeNode |
Public Member Functions | |
StaticOctree (const AABB &aabb, uint32_t maxDepth=24, uint32_t maxItems=8) | |
Create a new octree. More... | |
~StaticOctree () | |
Release all memory. More... | |
void | build () |
Protected Member Functions | |
AABB | childBounds (int child, const AABB &nodeAABB, const Point ¢er) const |
Return the AABB for a child of the specified index. More... | |
OctreeNode * | build (const AABB &aabb, uint32_t depth, uint32_t *base, uint32_t *temp, uint32_t *start, uint32_t *end) |
StaticOctree () | |
Protected Attributes | |
AABB | m_aabb |
std::vector< Item > | m_items |
uint32_t | m_maxDepth |
uint32_t | m_maxItems |
OctreeNode * | m_root |
Generic single-reference static octree.
This class is currently used to implement BSSRDF evaluation with irradiance point clouds.
The Item
template parameter must implement a function named getPosition()
that returns a Point.
|
inline |
Create a new octree.
maxDepth | Maximum tree depth (24 by default) |
maxItems | Maximum items per interior node (8 by default) |
By default, the maximum tree depth is set to 16
|
inline |
Release all memory.
|
inlineprotected |
|
inline |
|
inlineprotected |
|
inlineprotected |
Return the AABB for a child of the specified index.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |