Blender
V3.3
|
#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) |
Depsgraph * | DEG_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) |
Core routines for how the Depsgraph works.
Definition in file depsgraph.cc.
Free graph's contents and graph itself.
Definition at line 295 of file depsgraph.cc.
References graph, and blender::deg::unregister_graph().
Referenced by bake(), blender::ed::space_node::compo_freejob(), DEG_debug_graph_relations_validate(), BlendfileLoadingBaseTest::depsgraph_free(), depsgraph_key_value_free(), ED_objects_recalculate_paths(), ED_pose_recalculate_paths(), EEVEE_lightbake_job_data_free(), engine_depsgraph_free(), blender::io::alembic::export_endjob(), blender::io::usd::export_endjob(), FRS_do_stroke_rendering(), object_preview_render(), render_pipeline_free(), seq_prefetch_free_depsgraph(), blender::io::alembic::AlembicExportTest::TearDown(), Freestyle::BlenderStrokeRenderer::~BlenderStrokeRenderer(), and blender::io::obj::OBJDepsgraph::~OBJDepsgraph().
Depsgraph* DEG_graph_new | ( | struct Main * | bmain, |
struct Scene * | scene, | ||
struct ViewLayer * | view_layer, | ||
eEvaluationMode | mode | ||
) |
Create new Depsgraph instance.
TODO: what arguments are needed here? What's the building-graph entry point?
Definition at line 267 of file depsgraph.cc.
References blender::deg::register_graph(), and scene.
Referenced by ABC_export(), animviz_depsgraph_build(), bake(), Freestyle::BlenderStrokeRenderer::BlenderStrokeRenderer(), blender::ed::space_node::compo_initjob(), DEG_debug_graph_relations_validate(), BlendfileLoadingBaseTest::depsgraph_create(), blender::io::AbstractHierarchyIteratorInvisibleTest::depsgraph_create(), EEVEE_lightbake_job_create(), EEVEE_lightbake_job_data_alloc(), engine_depsgraph_init(), FRS_do_stroke_rendering(), blender::io::obj::OBJDepsgraph::OBJDepsgraph(), object_preview_scene_create(), render_init_depsgraph(), scene_ensure_depsgraph_p(), seq_prefetch_init_depsgraph(), blender::io::alembic::AlembicExportTest::SetUp(), and USD_export().
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:
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().
Definition at line 312 of file depsgraph.cc.
References depsgraph, and blender::deg::Depsgraph::is_active.
Referenced by animviz_calc_motionpaths(), BKE_animsys_eval_animdata(), BKE_animsys_eval_driver(), BKE_animsys_evaluate_all_animation(), BKE_armature_refresh_layer_used(), BKE_cachefile_eval(), BKE_curve_eval_geometry(), BKE_gpencil_can_avoid_full_copy_on_write(), BKE_gpencil_frame_active_set(), BKE_mask_eval_update(), BKE_mesh_eval_geometry(), BKE_object_eval_eval_base_flags(), BKE_object_modifier_update_subframe(), BKE_object_sync_to_original(), BKE_object_where_is_calc_time(), BKE_pose_bone_done(), BKE_pose_eval_bbone_segments(), BKE_volume_eval_geometry(), constraint_find_original_for_update(), correctivesmooth_modifier_do(), deformVerts(), logging_enabled(), makeDerivedMesh(), mesh_build_data(), meshdeformModifier_do(), movieclip_eval_update_generic(), movieclip_eval_update_reload(), object_get_datamask(), particle_system_update(), pe_get_current(), pose_channel_flush_to_orig_if_needed(), sbObjectStep(), sbStoreLastFrame(), surfacedeformModifier_do(), and updateFaceCount().
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().
Definition at line 325 of file depsgraph.cc.
References depsgraph, and blender::deg::Depsgraph::is_active.
Referenced by animviz_calc_motionpaths(), BKE_scene_view_layer_graph_evaluated_ensure(), CTX_data_depsgraph_pointer(), and wm_event_do_depsgraph().
Definition at line 332 of file depsgraph.cc.
References depsgraph, and blender::deg::Depsgraph::is_active.
Referenced by animviz_calc_motionpaths().