Blender
V3.3
|
#include "MEM_guardedalloc.h"
#include <cstring>
#include "BLI_listbase.h"
#include "BLI_utildefines.h"
#include "BKE_action.h"
#include "BKE_customdata.h"
#include "BKE_idtype.h"
#include "BKE_main.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "RNA_access.h"
#include "RNA_path.h"
#include "RNA_prototypes.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "intern/depsgraph.h"
#include "intern/eval/deg_eval_copy_on_write.h"
#include "intern/node/deg_node_id.h"
Go to the source code of this file.
Namespaces | |
blender | |
blender::deg | |
Implementation of Querying API
Definition in file depsgraph_query.cc.
Get bmain that depsgraph was built for.
Definition at line 93 of file depsgraph_query.cc.
References blender::deg::Depsgraph::bmain, and graph.
Referenced by BKE_scene_graph_update_for_newframe_ex(), DEG_editors_update(), displace_volume(), ED_render_view3d_update(), engine_depsgraph_init(), find_sockets_to_preview(), modifier_apply_obdata(), modifyMesh(), and blender::nodes::transform_volume().
Get time that depsgraph is being evaluated or was last evaluated at.
Definition at line 105 of file depsgraph_query.cc.
References blender::deg::Depsgraph::ctime, and graph.
Referenced by applyLength(), bakeModifier(), BKE_animsys_eval_animdata(), BKE_animsys_eval_driver(), BKE_gpencil_frame_active_set(), BKE_mask_eval_animation(), BKE_mask_eval_update(), BKE_object_where_is_calc(), BKE_object_where_is_calc_ex(), BKE_rigidbody_eval_simulation(), BKE_rigidbody_object_sync_transforms(), BKE_rigidbody_rebuild_sim(), camera_view3d_reconstruction(), camerasolver_evaluate(), clothModifier_do(), deformStroke(), deformVerts(), blender::io::alembic::ABCPointsWriter::do_write(), DRW_cache_gpencil_face_wireframe_get(), drw_particle_update_ptcache_edit(), followtrack_context_init(), generate_geometry(), generic_bake_deform_stroke(), get_effector_data(), gpencil_bake_grease_pencil_animation_exec(), GPENCIL_cache_init(), gpencil_remap_time_get(), gpencil_strokes_reproject_exec(), blender::eevee::gpIterData::gpIterData(), image_camera_background_texture_get(), image_user_id_eval_animation(), make_duplis_particle_system(), MOD_init_texture(), modifyMesh(), motion_path_cache(), objectsolver_evaluate(), OVERLAY_engine_init(), OVERLAY_gpencil_color_names(), OVERLAY_relationship_lines(), particle_batch_cache_ensure_pos(), particle_system_update(), precalculate_effector(), psys_get_particle_state(), transformcache_evaluate(), volume_sequence_frame(), and waveModifier_do().
void DEG_get_customdata_mask_for_object | ( | const Depsgraph * | graph, |
Object * | ob, | ||
CustomData_MeshMasks * | r_mask | ||
) |
Definition at line 158 of file depsgraph_query.cc.
References DEG_get_original_id(), CustomData_MeshMasks::emask, blender::deg::Depsgraph::find_id_node(), CustomData_MeshMasks::fmask, graph, Object::id, id_node, CustomData_MeshMasks::lmask, CustomData_MeshMasks::pmask, and CustomData_MeshMasks::vmask.
Definition at line 137 of file depsgraph_query.cc.
References blender::deg::Depsgraph::find_id_node(), blender::deg::get_original_id(), graph, and id_node.
Definition at line 216 of file depsgraph_query.cc.
References depsgraph, and blender::deg::get_evaluated_id().
Referenced by DEG_get_evaluated_object(), and DEG_get_evaluated_rna_pointer().
Definition at line 211 of file depsgraph_query.cc.
References DEG_get_evaluated_id(), depsgraph, and Object::id.
void DEG_get_evaluated_rna_pointer | ( | const Depsgraph * | depsgraph, |
PointerRNA * | ptr, | ||
PointerRNA * | r_ptr_eval | ||
) |
Definition at line 221 of file depsgraph_query.cc.
References BKE_pose_channel_find_name(), PointerRNA::data, DEG_get_evaluated_id(), depsgraph, bPoseChannel::name, ID::name, PointerRNA::owner_id, Object::pose, ptr, RNA_id_pointer_create(), RNA_path_from_ID_to_struct(), RNA_path_resolve(), RNA_struct_identifier(), and PointerRNA::type.
Definition at line 185 of file depsgraph_query.cc.
References BLI_assert, blender::deg::deg_copy_on_write_is_expanded(), graph, Scene::id, and blender::deg::Depsgraph::scene_cow.
Referenced by DEG_get_evaluated_view_layer().
Definition at line 195 of file depsgraph_query.cc.
References BLI_assert, BLI_findstring(), DEG_get_evaluated_scene(), graph, ViewLayer::name, blender::deg::Depsgraph::view_layer, and Scene::view_layers.
Get scene that depsgraph was built for.
Definition at line 81 of file depsgraph_query.cc.
References graph, and blender::deg::Depsgraph::scene.
Referenced by action_preview_render(), BKE_crazyspace_get_mapped_editverts(), BKE_scene_graph_update_for_newframe_ex(), BKE_volume_simplify_factor(), BKE_volume_simplify_level(), curve_from_curve_object(), DEG_editors_update(), DEG_evaluate_on_framechange(), DEG_evaluate_on_refresh(), blender::io::alembic::SubdivModifierDisabler::disable_modifiers(), DRW_draw_callbacks_post_scene(), dynamicPaint_bakeImageSequence(), ED_preview_icon_job(), ED_render_view3d_update(), ED_update_for_newframe(), ED_view3d_cursor_snap_data_update(), EEVEE_lightprobes_cache_finish(), engine_depsgraph_init(), blender::io::alembic::export_startjob(), blender::io::usd::export_startjob(), blender::io::obj::exporter_main(), blender::io::alembic::ABCMetaballWriter::is_supported(), blender::io::usd::USDMetaballWriter::is_supported(), modifyMesh(), blender::nodes::node_geo_input_scene_time_cc::node_exec(), scene_graph_update_tagged(), sculpt_update_object(), v3d_cursor_snap_draw_fn(), and view3d_ruler_item_mousemove().
Get view layer that depsgraph was built for.
Definition at line 87 of file depsgraph_query.cc.
References graph, and blender::deg::Depsgraph::view_layer.
Referenced by BKE_collision_relations_create(), DEG_editors_update(), blender::io::alembic::SubdivModifierDisabler::disable_modifiers(), ED_render_view3d_update(), engine_depsgraph_init(), iter_snap_objects(), modifier_skin_armature_create(), psys_in_edit_mode(), scene_graph_update_tagged(), and view3d_ruler_item_mousemove().
eEvaluationMode DEG_get_mode | ( | const Depsgraph * | graph | ) |
Get evaluation mode that depsgraph was built for.
Definition at line 99 of file depsgraph_query.cc.
References graph, and blender::deg::Depsgraph::mode.
Referenced by BKE_collision_relations_create(), BKE_effector_relations_create(), BKE_gpencil_modifiers_calc(), BKE_mball_polygonize(), BKE_multires_create_deformed_base_mesh_vert_coords(), BKE_object_eval_eval_base_flags(), BKE_object_handle_data_update(), BKE_volume_simplify_factor(), BKE_volume_simplify_level(), bpy_bmesh_from_object(), bvh_get_mesh(), curve_from_curve_object(), curves_evaluate_modifiers(), DEG_debug_graph_relations_validate(), DEG_iterator_objects_begin(), distribute_invalid(), drw_particle_update_ptcache_edit(), dynamicPaint_doStep(), editbmesh_calc_modifiers(), get_dupli_generator(), gpencil_remap_time_get(), image_user_id_eval_animation(), init_meta(), lineart_main_load_geometries(), Freestyle::BlenderFileLoader::Load(), make_child_duplis(), make_duplis_collection(), make_duplis_geometry_set_impl(), make_duplis_particle_system(), mesh_calc_modifiers(), blender::nodes::node_geo_is_viewport_cc::node_geo_exec(), pointcloud_evaluate_modifiers(), pointdensity_cache_psys(), psys_in_edit_mode(), psys_sim_data_init(), psys_thread_context_init_distribute(), psys_update_path_cache(), and volume_evaluate_modifiers().
Get original version of given evaluated ID data-block.
Definition at line 283 of file depsgraph_query.cc.
References blender::deg::get_original_id().
Referenced by BKE_armature_refresh_layer_used(), BKE_cachefile_eval(), BKE_curve_eval_geometry(), BKE_gpencil_boundbox_get(), BKE_gpencil_frame_active_set(), BKE_gpencil_prepare_eval_data(), BKE_mask_eval_update(), BKE_mesh_eval_geometry(), BKE_object_material_from_eval_data(), BKE_volume_eval_geometry(), constraint_find_original(), DEG_get_collision_relations(), DEG_get_customdata_mask_for_object(), DEG_get_effector_relations(), DEG_get_original_object(), drw_particle_update_ptcache(), drw_particle_update_ptcache_edit(), DRW_shader_from_material(), DRW_shader_from_world(), foreach_libblock_make_original_callback(), is_stroke_affected_by_modifier(), movieclip_eval_update_generic(), movieclip_eval_update_reload(), OVERLAY_edit_particle_cache_populate(), pyrna_struct_repr(), pyrna_struct_str(), and blender::eevee::World::sync().
Get original version of object for given evaluated one.
Definition at line 278 of file depsgraph_query.cc.
References DEG_get_original_id(), and Object::id.
Referenced by blender::ed::spreadsheet::GeometryDataSource::apply_selection_filter(), BKE_curves_data_update(), BKE_modifier_get_original(), BKE_object_is_deform_modified(), BKE_object_is_modified(), BKE_object_sync_to_original(), BKE_sculpt_update_object_after_eval(), BKE_sculpt_update_object_before_eval(), BKE_sculpt_update_object_for_edit(), deformVerts(), draw_armature_edit(), draw_armature_pose(), drw_particle_get_hair_source(), drw_particle_update_ptcache(), drw_particle_update_ptcache_edit(), DRW_select_buffer_elem_get(), drw_select_filter_object_mode_lock_for_weight_paint(), find_sockets_to_preview_for_spreadsheet(), getOriginalModifierData(), blender::ed::spreadsheet::GeometryDataSource::has_selection_filter(), make_object_duplilist_real(), nearest_world_object_fn(), blender::nodes::node_geo_deform_curves_on_surface_cc::node_geo_exec(), object_get_datamask(), object_transfer_mode_to_base(), object_update_from_subsurf_ccg(), OVERLAY_edit_particle_cache_populate(), OVERLAY_paint_texture_cache_populate(), OVERLAY_paint_vertex_cache_populate(), raycast_obj_fn(), sbStoreLastFrame(), select_id_get_object_select_mode(), snap_curs_to_sel_ex(), snap_obj_fn(), snap_object_data_editmesh_treedata_get(), snap_sel_to_grid_exec(), blender::ed::spreadsheet::spreadsheet_get_display_geometry_set(), view3d_all_exec(), view3d_orbit_calc_center(), and viewselected_exec().
Definition at line 131 of file depsgraph_query.cc.
References BKE_idtype_idcode_to_index(), depsgraph, and blender::deg::Depsgraph::id_type_exist.
Definition at line 117 of file depsgraph_query.cc.
References graph, and blender::deg::Depsgraph::id_type_updated.
Definition at line 111 of file depsgraph_query.cc.
References BKE_idtype_idcode_to_index(), graph, and blender::deg::Depsgraph::id_type_updated.
Definition at line 318 of file depsgraph_query.cc.
References DEG_is_original_id().
Definition at line 323 of file depsgraph_query.cc.
References DEG_is_original_object().
Check whether depsgraph is fully evaluated. This includes the following checks:
Definition at line 328 of file depsgraph_query.cc.
References depsgraph, blender::deg::Depsgraph::entry_tags, and blender::deg::Depsgraph::need_update_relations.
Referenced by BKE_scene_graph_update_for_newframe_ex(), and scene_graph_update_tagged().
Definition at line 288 of file depsgraph_query.cc.
References id, LIB_TAG_COPIED_ON_WRITE, LIB_TAG_COPIED_ON_WRITE_EVAL_RESULT, LIB_TAG_LOCALIZED, and ID::tag.
Referenced by DEG_is_evaluated_id(), and DEG_is_original_object().
Definition at line 313 of file depsgraph_query.cc.
References DEG_is_original_id(), and Object::id.
Referenced by DEG_is_evaluated_object().