Blender V4.5
blender::nodes::GeometryNodesEvalDependencies Struct Reference

#include <NOD_geometry_nodes_dependencies.hh>

Classes

struct  ObjectDependencyInfo
 

Public Member Functions

void add_generic_id (ID *id)
 
void add_generic_id_full (ID *id)
 
void add_object (Object *object, const ObjectDependencyInfo &object_deps=all_object_deps)
 
void merge (const GeometryNodesEvalDependencies &other)
 
 BLI_STRUCT_EQUALITY_OPERATORS_6 (GeometryNodesEvalDependencies, ids, objects_info, needs_own_transform, needs_active_camera, needs_scene_render_params, time_dependent)
 

Public Attributes

Map< uint32_t, ID * > ids
 
Map< uint32_t, ObjectDependencyInfoobjects_info
 
bool needs_own_transform = false
 
bool needs_active_camera = false
 
bool needs_scene_render_params = false
 
bool time_dependent = false
 

Static Public Attributes

static constexpr ObjectDependencyInfo all_object_deps {true, true, true}
 

Detailed Description

Gathers dependencies that the node tree requires before it can be evaluated.

Definition at line 19 of file NOD_geometry_nodes_dependencies.hh.

Member Function Documentation

◆ add_generic_id()

void blender::nodes::GeometryNodesEvalDependencies::add_generic_id ( ID * id)

Adds a generic data-block dependency. Note that this does not add a dependency to e.g. the transform or geometry of an object. If that is desired, use add_object or add_generic_id_full instead.

Definition at line 15 of file geometry_nodes_dependencies.cc.

References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), ids, and ID::session_uid.

Referenced by blender::nodes::add_eval_dependencies_from_node_data(), blender::nodes::add_eval_dependencies_from_socket(), add_generic_id_full(), add_object(), and merge().

◆ add_generic_id_full()

void blender::nodes::GeometryNodesEvalDependencies::add_generic_id_full ( ID * id)

Adds a data-block as dependency. For objects, it also adds a dependency to the transform and geometry.

Definition at line 23 of file geometry_nodes_dependencies.cc.

References add_generic_id(), add_object(), GS, ID_OB, and ID::name.

Referenced by blender::update_depsgraph().

◆ add_object()

◆ BLI_STRUCT_EQUALITY_OPERATORS_6()

blender::nodes::GeometryNodesEvalDependencies::BLI_STRUCT_EQUALITY_OPERATORS_6 ( GeometryNodesEvalDependencies ,
ids ,
objects_info ,
needs_own_transform ,
needs_active_camera ,
needs_scene_render_params ,
time_dependent  )

◆ merge()

Member Data Documentation

◆ all_object_deps

ObjectDependencyInfo blender::nodes::GeometryNodesEvalDependencies::all_object_deps {true, true, true}
staticconstexpr

Definition at line 31 of file NOD_geometry_nodes_dependencies.hh.

◆ ids

Map<uint32_t, ID *> blender::nodes::GeometryNodesEvalDependencies::ids

Maps session_uid to the corresponding data-block. The data-block pointer is not used as key in this map, so that it can be modified in #node_foreach_id.

Definition at line 38 of file NOD_geometry_nodes_dependencies.hh.

Referenced by add_generic_id(), merge(), and blender::update_depsgraph().

◆ needs_active_camera

bool blender::nodes::GeometryNodesEvalDependencies::needs_active_camera = false

◆ needs_own_transform

bool blender::nodes::GeometryNodesEvalDependencies::needs_own_transform = false

◆ needs_scene_render_params

bool blender::nodes::GeometryNodesEvalDependencies::needs_scene_render_params = false

◆ objects_info

Map<uint32_t, ObjectDependencyInfo> blender::nodes::GeometryNodesEvalDependencies::objects_info

Additional information for object dependencies.

Definition at line 41 of file NOD_geometry_nodes_dependencies.hh.

Referenced by add_object(), merge(), and blender::update_depsgraph().

◆ time_dependent

bool blender::nodes::GeometryNodesEvalDependencies::time_dependent = false

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