Blender V5.0
depsgraph.cc File Reference

Go to the source code of this file.

Namespaces

namespace  blender
namespace  blender::deg

Functions

template<typename FilterFunc>
static void blender::deg::clear_id_nodes_conditional (Depsgraph::IDDepsNodes *id_nodes, const FilterFunc &filter)
Depsgraph * DEG_graph_new (Main *bmain, Scene *scene, ViewLayer *view_layer, eEvaluationMode mode)
void DEG_graph_replace_owners (Depsgraph *depsgraph, Main *bmain, Scene *scene, ViewLayer *view_layer)
void DEG_graph_free (Depsgraph *graph)
bool DEG_is_evaluating (const Depsgraph *depsgraph)
bool DEG_is_active (const Depsgraph *depsgraph)
void DEG_make_active (Depsgraph *depsgraph)
void DEG_make_inactive (Depsgraph *depsgraph)
void DEG_disable_visibility_optimization (Depsgraph *depsgraph)
uint64_t DEG_get_update_count (const Depsgraph *depsgraph)

Detailed Description

Core routines for how the Depsgraph works.

Definition in file depsgraph.cc.

Function Documentation

◆ DEG_disable_visibility_optimization()

void DEG_disable_visibility_optimization ( Depsgraph * depsgraph)

Disable the visibility optimization making it so IDs which affect hidden objects or disabled modifiers are still evaluated.

For example, this ensures that an object which is needed by a modifier is ignoring checks about whether the object is hidden or the modifier is disabled.

Definition at line 349 of file depsgraph.cc.

References depsgraph, and blender::deg::Depsgraph::use_visibility_optimization.

Referenced by blender::ed::object::bake(), and blender::ed::object::modifier_apply().

◆ DEG_get_update_count()

◆ DEG_graph_free()

◆ DEG_graph_new()

◆ DEG_graph_replace_owners()

void DEG_graph_replace_owners ( Depsgraph * depsgraph,
Main * bmain,
Scene * scene,
ViewLayer * view_layer )

Replace the "owner" pointers (currently Main/Scene/ViewLayer) of this depsgraph. Used for:

  • Undo steps when we do want to re-use the old depsgraph data as much as possible.
  • Rendering where we want to re-use objects between different view layers.

Definition at line 285 of file depsgraph.cc.

References blender::deg::Depsgraph::bmain, depsgraph, blender::deg::register_graph(), blender::deg::Depsgraph::scene, blender::deg::unregister_graph(), and blender::deg::Depsgraph::view_layer.

Referenced by BKE_scene_undo_depsgraphs_restore(), blender::ed::space_node::compo_initjob(), engine_depsgraph_init(), and blender::seq::get_depsgraph_for_scene_strip().

◆ DEG_is_active()

◆ DEG_is_evaluating()

bool DEG_is_evaluating ( const Depsgraph * depsgraph)

Definition at line 317 of file depsgraph.cc.

References depsgraph, and blender::deg::Depsgraph::is_evaluating.

Referenced by blender::bke::mesh_get_eval_deform().

◆ DEG_make_active()

void DEG_make_active ( Depsgraph * depsgraph)

◆ DEG_make_inactive()

void DEG_make_inactive ( Depsgraph * depsgraph)

Definition at line 343 of file depsgraph.cc.

References depsgraph, and blender::deg::Depsgraph::is_active.

Referenced by animviz_calc_motionpaths().