|
Blender V5.0
|
#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, ObjectDependencyInfo > | objects_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} |
Gathers dependencies that the node tree requires before it can be evaluated.
Definition at line 19 of file NOD_geometry_nodes_dependencies.hh.
| 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().
| 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().
| void blender::nodes::GeometryNodesEvalDependencies::add_object | ( | Object * | object, |
| const ObjectDependencyInfo & | object_deps = all_object_deps ) |
Add an object as dependency. It's customizable whether e.g. the transform and/or geometry is required.
Definition at line 36 of file geometry_nodes_dependencies.cc.
References add_generic_id(), blender::nodes::GeometryNodesEvalDependencies::ObjectDependencyInfo::camera_parameters, blender::nodes::GeometryNodesEvalDependencies::ObjectDependencyInfo::geometry, Object::id, objects_info, ID::session_uid, and blender::nodes::GeometryNodesEvalDependencies::ObjectDependencyInfo::transform.
Referenced by blender::nodes::add_eval_dependencies_from_node_data(), blender::nodes::add_eval_dependencies_from_socket(), add_generic_id_full(), merge(), and blender::update_depsgraph().
| blender::nodes::GeometryNodesEvalDependencies::BLI_STRUCT_EQUALITY_OPERATORS_6 | ( | GeometryNodesEvalDependencies | , |
| ids | , | ||
| objects_info | , | ||
| needs_own_transform | , | ||
| needs_active_camera | , | ||
| needs_scene_render_params | , | ||
| time_dependent | ) |
References ids, needs_active_camera, needs_own_transform, needs_scene_render_params, objects_info, and time_dependent.
| void blender::nodes::GeometryNodesEvalDependencies::merge | ( | const GeometryNodesEvalDependencies & | other | ) |
Add all the given dependencies to this one.
Definition at line 50 of file geometry_nodes_dependencies.cc.
References add_generic_id(), add_object(), BLI_assert, GS, ID_OB, ids, Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup(), ID::name, needs_active_camera, needs_own_transform, needs_scene_render_params, objects_info, time_dependent, and Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values().
Referenced by blender::nodes::gather_geometry_nodes_eval_dependencies().
|
staticconstexpr |
Definition at line 31 of file NOD_geometry_nodes_dependencies.hh.
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().
| bool blender::nodes::GeometryNodesEvalDependencies::needs_active_camera = false |
Definition at line 44 of file NOD_geometry_nodes_dependencies.hh.
Referenced by BLI_STRUCT_EQUALITY_OPERATORS_6(), blender::nodes::gather_geometry_nodes_eval_dependencies(), merge(), and blender::update_depsgraph().
| bool blender::nodes::GeometryNodesEvalDependencies::needs_own_transform = false |
Definition at line 43 of file NOD_geometry_nodes_dependencies.hh.
Referenced by blender::nodes::add_own_transform_dependencies(), BLI_STRUCT_EQUALITY_OPERATORS_6(), merge(), and blender::update_depsgraph().
| bool blender::nodes::GeometryNodesEvalDependencies::needs_scene_render_params = false |
Definition at line 45 of file NOD_geometry_nodes_dependencies.hh.
Referenced by BLI_STRUCT_EQUALITY_OPERATORS_6(), blender::nodes::gather_geometry_nodes_eval_dependencies(), merge(), and blender::update_depsgraph().
| 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().
| bool blender::nodes::GeometryNodesEvalDependencies::time_dependent = false |
Definition at line 46 of file NOD_geometry_nodes_dependencies.hh.
Referenced by BLI_STRUCT_EQUALITY_OPERATORS_6(), blender::depends_on_time(), blender::nodes::gather_geometry_nodes_eval_dependencies(), and merge().