Blender V5.0
LightTreeNode Struct Reference

#include <light_tree.h>

Classes

struct  Leaf
struct  Inner
struct  Instance

Public Member Functions

 LightTreeNode (const LightTreeMeasure &measure, const uint &bit_trial)
 ~LightTreeNode ()=default
__forceinline void add (const LightTreeEmitter &emitter)
__forceinline Leafget_leaf ()
__forceinline const Leafget_leaf () const
__forceinline Innerget_inner ()
__forceinline const Innerget_inner () const
__forceinline Instanceget_instance ()
__forceinline const Instanceget_instance () const
void make_leaf (const int first_emitter_index, const int num_emitters)
void make_distant (const int first_emitter_index, const int num_emitters)
void make_instance (LightTreeNode *reference, const int object_id)
LightTreeNodeget_reference ()
__forceinline bool is_instance () const
__forceinline bool is_leaf () const
__forceinline bool is_inner () const
__forceinline bool is_distant () const

Public Attributes

LightTreeMeasure measure
LightTreeLightLink light_link
uint bit_trail
int object_id
int type
std::variant< Leaf, Inner, Instancevariant_type

Detailed Description

Definition at line 249 of file light_tree.h.

Constructor & Destructor Documentation

◆ LightTreeNode()

LightTreeNode::LightTreeNode ( const LightTreeMeasure & measure,
const uint & bit_trial )
inline

Definition at line 277 of file light_tree.h.

References bit_trail, LIGHT_TREE_INNER, measure, type, and variant_type.

Referenced by get_reference(), and make_instance().

◆ ~LightTreeNode()

LightTreeNode::~LightTreeNode ( )
default

Member Function Documentation

◆ add()

__forceinline void LightTreeNode::add ( const LightTreeEmitter & emitter)
inline

◆ get_inner() [1/2]

◆ get_inner() [2/2]

__forceinline const Inner & LightTreeNode::get_inner ( ) const
inline

Definition at line 306 of file light_tree.h.

References __forceinline, and variant_type.

◆ get_instance() [1/2]

__forceinline Instance & LightTreeNode::get_instance ( )
inline

Definition at line 311 of file light_tree.h.

References __forceinline, and variant_type.

Referenced by get_reference(), and make_instance().

◆ get_instance() [2/2]

__forceinline const Instance & LightTreeNode::get_instance ( ) const
inline

Definition at line 316 of file light_tree.h.

References __forceinline, and variant_type.

◆ get_leaf() [1/2]

◆ get_leaf() [2/2]

__forceinline const Leaf & LightTreeNode::get_leaf ( ) const
inline

Definition at line 296 of file light_tree.h.

References __forceinline, and variant_type.

◆ get_reference()

LightTreeNode * LightTreeNode::get_reference ( )
inline

◆ is_distant()

◆ is_inner()

◆ is_instance()

__forceinline bool LightTreeNode::is_instance ( ) const
inline

◆ is_leaf()

◆ make_distant()

void LightTreeNode::make_distant ( const int first_emitter_index,
const int num_emitters )
inline

◆ make_instance()

void LightTreeNode::make_instance ( LightTreeNode * reference,
const int object_id )
inline

◆ make_leaf()

void LightTreeNode::make_leaf ( const int first_emitter_index,
const int num_emitters )
inline

Member Data Documentation

◆ bit_trail

◆ light_link

LightTreeLightLink LightTreeNode::light_link

Definition at line 251 of file light_tree.h.

Referenced by add(), light_tree_specialize_nodes_flatten(), and recursive_print_node().

◆ measure

◆ object_id

int LightTreeNode::object_id

Definition at line 253 of file light_tree.h.

Referenced by make_instance().

◆ type

◆ variant_type


The documentation for this struct was generated from the following file: