|
Blender V4.3
|
#include <node.h>
Inherits BVHNode.
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 |
Public Member Functions inherited from BVHNode | |
| 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] |
Public Attributes inherited from BVHNode | |
| 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 () |
Protected Member Functions inherited from BVHNode | |
| BVHNode (const BoundBox &bounds) | |
| BVHNode (const BVHNode &other) | |
Definition at line 135 of file bvh/node.h.
Definition at line 139 of file bvh/node.h.
References children, reset_unused_children(), and BVHNode::visibility.
|
inline |
Definition at line 155 of file bvh/node.h.
References children, FLT_MAX, max, min, NULL, num_children(), reset_unused_children(), BVHNode::time_from, BVHNode::time_to, and BVHNode::visibility.
|
inlineexplicit |
Definition at line 174 of file bvh/node.h.
References num_children_, reset_unused_children(), and BVHNode::visibility.
Implements BVHNode.
Definition at line 189 of file bvh/node.h.
References children, and num_children_.
|
inlinevirtual |
Implements BVHNode.
Definition at line 181 of file bvh/node.h.
|
inlinevirtual |
Implements BVHNode.
Definition at line 185 of file bvh/node.h.
References num_children_.
Referenced by InnerNode().
|
virtual |
Implements BVHNode.
Definition at line 197 of file bvh/node.cpp.
References children, BVHNode::print(), and printf.
|
inlineprotected |
Definition at line 200 of file bvh/node.h.
References children, kNumMaxChildren, NULL, and num_children_.
Referenced by InnerNode(), InnerNode(), and InnerNode().
| BVHNode* InnerNode::children[kNumMaxChildren] |
Definition at line 197 of file bvh/node.h.
Referenced by get_child(), InnerNode(), 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 137 of file bvh/node.h.
Referenced by reset_unused_children().
| int InnerNode::num_children_ |
Definition at line 196 of file bvh/node.h.
Referenced by get_child(), InnerNode(), num_children(), and reset_unused_children().