Blender V5.0
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 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()

◆ 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(), BLI_STRUCT_EQUALITY_OPERATORS_6(), 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(), BLI_STRUCT_EQUALITY_OPERATORS_6(), 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: