Blender  V3.3
Namespaces | Functions
depsgraph.cc File Reference
#include "intern/depsgraph.h"
#include <algorithm>
#include <cstring>
#include "MEM_guardedalloc.h"
#include "BLI_console.h"
#include "BLI_hash.h"
#include "BLI_utildefines.h"
#include "BKE_global.h"
#include "BKE_idtype.h"
#include "BKE_scene.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_debug.h"
#include "intern/depsgraph_physics.h"
#include "intern/depsgraph_registry.h"
#include "intern/depsgraph_relation.h"
#include "intern/depsgraph_update.h"
#include "intern/eval/deg_eval_copy_on_write.h"
#include "intern/node/deg_node.h"
#include "intern/node/deg_node_component.h"
#include "intern/node/deg_node_factory.h"
#include "intern/node/deg_node_id.h"
#include "intern/node/deg_node_operation.h"
#include "intern/node/deg_node_time.h"

Go to the source code of this file.

Namespaces

 blender
 
 blender::deg
 

Functions

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

Detailed Description

Core routines for how the Depsgraph works.

Definition in file depsgraph.cc.

Function Documentation

◆ DEG_graph_free()

void DEG_graph_free ( Depsgraph graph)

◆ DEG_graph_new()

Depsgraph* DEG_graph_new ( struct Main bmain,
struct Scene scene,
struct ViewLayer view_layer,
eEvaluationMode  mode 
)

◆ DEG_graph_replace_owners()

void DEG_graph_replace_owners ( struct Depsgraph depsgraph,
struct Main bmain,
struct Scene scene,
struct 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 274 of file depsgraph.cc.

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

Referenced by BKE_scene_undo_depsgraphs_restore(), and engine_depsgraph_init().

◆ DEG_is_active()

bool DEG_is_active ( const struct Depsgraph depsgraph)

◆ DEG_is_evaluating()

bool DEG_is_evaluating ( const struct Depsgraph depsgraph)

Definition at line 306 of file depsgraph.cc.

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

Referenced by mesh_get_eval_deform(), and mesh_get_eval_final().

◆ DEG_make_active()

void DEG_make_active ( struct Depsgraph depsgraph)

◆ DEG_make_inactive()

void DEG_make_inactive ( struct Depsgraph depsgraph)

Definition at line 332 of file depsgraph.cc.

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

Referenced by animviz_calc_motionpaths().