Blender
V3.3
|
#include <node.h>
Public Member Functions | |
InnerNode (const BoundBox &bounds, BVHNode *child0, BVHNode *child1) | |
InnerNode (const BoundBox &bounds, BVHNode **children, const int num_children) | |
InnerNode (const BoundBox &bounds) | |
bool | is_leaf () const |
int | num_children () const |
BVHNode * | get_child (int i) const |
void | print (int depth) const |
![]() | |
virtual | ~BVHNode () |
virtual int | num_triangles () const |
void | set_aligned_space (const Transform &aligned_space) |
Transform | get_aligned_space () const |
bool | has_unaligned () const |
int | getSubtreeSize (BVH_STAT stat=BVH_STAT_NODE_COUNT) const |
float | computeSubtreeSAHCost (const BVHParams &p, float probability=1.0f) const |
void | deleteSubtree () |
uint | update_visibility () |
void | update_time () |
void | dump_graph (const char *filename) |
Public Attributes | |
int | num_children_ |
BVHNode * | children [kNumMaxChildren] |
![]() | |
struct BVHNode ** | children |
struct BVHNode * | parent |
float * | bv |
int | index |
char | node_num |
char | main_axis |
BoundBox | bounds |
uint | visibility |
bool | is_unaligned |
Transform * | aligned_space |
float | time_from |
float | time_to |
Static Public Attributes | |
static constexpr int | kNumMaxChildren = 8 |
Protected Member Functions | |
void | reset_unused_children () |
![]() | |
BVHNode (const BoundBox &bounds) | |
BVHNode (const BVHNode &other) | |
Definition at line 132 of file bvh/node.h.
Definition at line 136 of file bvh/node.h.
References children, reset_unused_children(), and BVHNode::visibility.
|
inline |
Definition at line 152 of file bvh/node.h.
References children, max, min, NULL, num_children(), reset_unused_children(), BVHNode::time_from, BVHNode::time_to, and BVHNode::visibility.
|
inlineexplicit |
Definition at line 171 of file bvh/node.h.
References num_children_, reset_unused_children(), and BVHNode::visibility.
|
inlinevirtual |
Implements BVHNode.
Definition at line 186 of file bvh/node.h.
References children, and num_children_.
|
inlinevirtual |
Implements BVHNode.
Definition at line 178 of file bvh/node.h.
|
inlinevirtual |
Implements BVHNode.
Definition at line 182 of file bvh/node.h.
References num_children_.
Referenced by InnerNode().
|
virtual |
Implements BVHNode.
Definition at line 190 of file bvh/node.cpp.
References children, and BVHNode::print().
|
inlineprotected |
Definition at line 197 of file bvh/node.h.
References children, kNumMaxChildren, NULL, and num_children_.
Referenced by InnerNode().
BVHNode* InnerNode::children[kNumMaxChildren] |
Definition at line 194 of file bvh/node.h.
Referenced by get_child(), InnerNode(), print(), reset_unused_children(), BVHBuild::rotate(), BVHBuild::thread_build_node(), BVHBuild::thread_build_spatial_split_node(), BVHNode::update_time(), and BVHNode::update_visibility().
|
staticconstexpr |
Definition at line 134 of file bvh/node.h.
Referenced by reset_unused_children().
int InnerNode::num_children_ |
Definition at line 193 of file bvh/node.h.
Referenced by get_child(), InnerNode(), num_children(), and reset_unused_children().