|
Blender V4.3
|
#include "intern/depsgraph.hh"#include <algorithm>#include <cstring>#include "MEM_guardedalloc.h"#include "BLI_console.h"#include "BLI_hash.h"#include "BLI_utildefines.h"#include "BKE_global.hh"#include "BKE_idtype.hh"#include "BKE_scene.hh"#include "DEG_depsgraph.hh"#include "DEG_depsgraph_debug.hh"#include "intern/depsgraph_physics.hh"#include "intern/depsgraph_registry.hh"#include "intern/depsgraph_relation.hh"#include "intern/depsgraph_update.hh"#include "intern/eval/deg_eval_copy_on_write.h"#include "intern/node/deg_node.hh"#include "intern/node/deg_node_component.hh"#include "intern/node/deg_node_factory.hh"#include "intern/node/deg_node_id.hh"#include "intern/node/deg_node_operation.hh"#include "intern/node/deg_node_time.hh"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) |
Core routines for how the Depsgraph works.
Definition in file depsgraph.cc.
| 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 344 of file depsgraph.cc.
References depsgraph, and blender::deg::Depsgraph::use_visibility_optimization.
Referenced by blender::ed::object::modifier_apply().
| uint64_t DEG_get_update_count | ( | const Depsgraph * | depsgraph | ) |
Definition at line 350 of file depsgraph.cc.
References depsgraph, and blender::deg::Depsgraph::update_count.
Referenced by BKE_object_eval_shading(), BKE_object_eval_transform_final(), BKE_object_eval_uber_data(), BKE_world_eval(), and blender::eevee::Instance::end_sync().
| void DEG_graph_free | ( | Depsgraph * | graph | ) |
Free graph's contents and graph itself.
Definition at line 301 of file depsgraph.cc.
References graph, and blender::deg::unregister_graph().
Referenced by blender::ed::object::bake(), DEG_debug_graph_relations_validate(), BlendfileLoadingBaseTest::depsgraph_free(), depsgraph_key_value_free(), ED_pose_recalculate_paths(), engine_depsgraph_free(), blender::io::alembic::export_endjob(), blender::io::usd::export_endjob(), blender::io::ply::exporter_main(), blender::io::stl::exporter_main(), FRS_do_stroke_rendering(), blender::ed::object::modifier_apply(), blender::ed::object::motion_paths_recalc(), object_preview_render(), render_pipeline_free(), seq_prefetch_free_depsgraph(), blender::io::alembic::AlembicExportTest::TearDown(), Freestyle::BlenderStrokeRenderer::~BlenderStrokeRenderer(), blender::bke::CompositorRuntime::~CompositorRuntime(), blender::nodes::GeoNodesOperatorDepsgraphs::~GeoNodesOperatorDepsgraphs(), blender::eevee::LightBake::~LightBake(), and blender::io::obj::OBJDepsgraph::~OBJDepsgraph().
| Depsgraph * DEG_graph_new | ( | Main * | bmain, |
| Scene * | scene, | ||
| 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 273 of file depsgraph.cc.
References blender::deg::register_graph().
Referenced by ABC_export(), animviz_depsgraph_build(), blender::ed::object::bake(), Freestyle::BlenderStrokeRenderer::BlenderStrokeRenderer(), blender::ed::geometry::build_extra_depsgraph(), blender::ed::space_node::compo_initjob(), DEG_debug_graph_relations_validate(), blender::io::AbstractHierarchyIteratorInvisibleTest::depsgraph_create(), BlendfileLoadingBaseTest::depsgraph_create(), engine_depsgraph_init(), blender::io::ply::exporter_main(), blender::io::stl::exporter_main(), FRS_do_stroke_rendering(), blender::ed::object::modifier_apply(), 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 blender::io::usd::USD_export().
| 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:
Definition at line 280 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().
| bool DEG_is_active | ( | const Depsgraph * | depsgraph | ) |
Definition at line 318 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_cachefile_eval(), BKE_curve_eval_geometry(), BKE_mask_eval_update(), BKE_mesh_eval_geometry(), BKE_object_eval_eval_base_flags(), BKE_object_handle_data_update(), 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(), deform_verts(), blender::find_side_effect_nodes_for_baking(), blender::logging_enabled(), blender::bke::mesh_build_data(), blender::bke::mesh_data_update(), meshdeformModifier_do(), blender::modifyGeometry(), movieclip_eval_update_generic(), movieclip_eval_update_reload(), blender::NodesModifierBakeParams::NodesModifierBakeParams(), blender::NodesModifierSimulationParams::NodesModifierSimulationParams(), blender::bke::object_get_datamask(), particle_system_update(), pe_get_current(), pose_channel_flush_to_orig_if_needed(), sbObjectStep(), sbStoreLastFrame(), surfacedeformModifier_do(), and updateFaceCount().
| bool DEG_is_evaluating | ( | const Depsgraph * | depsgraph | ) |
Definition at line 312 of file depsgraph.cc.
References depsgraph, and blender::deg::Depsgraph::is_evaluating.
Referenced by blender::bke::mesh_get_eval_deform().
| void DEG_make_active | ( | Depsgraph * | depsgraph | ) |
Definition at line 331 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().
| void DEG_make_inactive | ( | Depsgraph * | depsgraph | ) |
Definition at line 338 of file depsgraph.cc.
References depsgraph, and blender::deg::Depsgraph::is_active.
Referenced by animviz_calc_motionpaths().