44 virtual void print(
int depth = 0)
const = 0;
49 if (this->aligned_space ==
NULL) {
143 if (child0 && child1) {
191 void print(
int depth)
const;
234 void print(
int depth)
const;
@ BVH_STAT_TRIANGLE_COUNT
@ BVH_STAT_CHILDNODE_COUNT
@ BVH_STAT_ALIGNED_INNER_COUNT
@ BVH_STAT_ALIGNED_LEAF_COUNT
@ BVH_STAT_UNALIGNED_COUNT
@ BVH_STAT_UNALIGNED_LEAF_COUNT
@ BVH_STAT_UNALIGNED_INNER_COUNT
void reset_unused_children()
InnerNode(const BoundBox &bounds)
InnerNode(const BoundBox &bounds, BVHNode *child0, BVHNode *child1)
void print(int depth) const
static constexpr int kNumMaxChildren
BVHNode * get_child(int i) const
BVHNode * children[kNumMaxChildren]
InnerNode(const BoundBox &bounds, BVHNode **children, const int num_children)
LeafNode(const LeafNode &other)
int num_triangles() const
BVHNode * get_child(int) const
void print(int depth) const
LeafNode(const BoundBox &bounds, uint visibility, int lo, int hi)
#define CCL_NAMESPACE_END
Transform * aligned_space
int getSubtreeSize(BVH_STAT stat=BVH_STAT_NODE_COUNT) const
virtual int num_children() const =0
BVHNode(const BoundBox &bounds)
float computeSubtreeSAHCost(const BVHParams &p, float probability=1.0f) const
virtual bool is_leaf() const =0
void set_aligned_space(const Transform &aligned_space)
bool has_unaligned() const
virtual BVHNode * get_child(int i) const =0
virtual int num_triangles() const
virtual void print(int depth=0) const =0
Transform get_aligned_space() const
BVHNode(const BVHNode &other)
void dump_graph(const char *filename)