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 |