Blender  V3.3
Namespaces | Functions
depsgraph_query.cc File Reference
#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
 

Functions

static const IDblender::deg::get_original_id (const ID *id)
 
static IDblender::deg::get_original_id (ID *id)
 
static const IDblender::deg::get_evaluated_id (const Depsgraph *deg_graph, const ID *id)
 
static IDblender::deg::get_evaluated_id (const Depsgraph *deg_graph, ID *id)
 
struct SceneDEG_get_input_scene (const Depsgraph *graph)
 
struct ViewLayerDEG_get_input_view_layer (const Depsgraph *graph)
 
struct MainDEG_get_bmain (const Depsgraph *graph)
 
eEvaluationMode DEG_get_mode (const Depsgraph *graph)
 
float DEG_get_ctime (const Depsgraph *graph)
 
bool DEG_id_type_updated (const Depsgraph *graph, short id_type)
 
bool DEG_id_type_any_updated (const Depsgraph *graph)
 
bool DEG_id_type_any_exists (const Depsgraph *depsgraph, short id_type)
 
uint32_t DEG_get_eval_flags_for_id (const Depsgraph *graph, const ID *id)
 
void DEG_get_customdata_mask_for_object (const Depsgraph *graph, Object *ob, CustomData_MeshMasks *r_mask)
 
SceneDEG_get_evaluated_scene (const Depsgraph *graph)
 
ViewLayerDEG_get_evaluated_view_layer (const Depsgraph *graph)
 
ObjectDEG_get_evaluated_object (const Depsgraph *depsgraph, Object *object)
 
IDDEG_get_evaluated_id (const Depsgraph *depsgraph, ID *id)
 
void DEG_get_evaluated_rna_pointer (const Depsgraph *depsgraph, PointerRNA *ptr, PointerRNA *r_ptr_eval)
 
ObjectDEG_get_original_object (Object *object)
 
IDDEG_get_original_id (ID *id)
 
bool DEG_is_original_id (const ID *id)
 
bool DEG_is_original_object (const Object *object)
 
bool DEG_is_evaluated_id (const ID *id)
 
bool DEG_is_evaluated_object (const Object *object)
 
bool DEG_is_fully_evaluated (const struct Depsgraph *depsgraph)
 

Detailed Description

Implementation of Querying API

Definition in file depsgraph_query.cc.

Function Documentation

◆ DEG_get_bmain()

struct Main* DEG_get_bmain ( const Depsgraph graph)

◆ DEG_get_ctime()

float DEG_get_ctime ( const Depsgraph graph)

◆ DEG_get_customdata_mask_for_object()

void DEG_get_customdata_mask_for_object ( const Depsgraph graph,
Object ob,
CustomData_MeshMasks r_mask 
)

◆ DEG_get_eval_flags_for_id()

uint32_t DEG_get_eval_flags_for_id ( const Depsgraph graph,
const ID id 
)

◆ DEG_get_evaluated_id()

ID* DEG_get_evaluated_id ( const Depsgraph depsgraph,
ID id 
)

◆ DEG_get_evaluated_object()

Object* DEG_get_evaluated_object ( const Depsgraph depsgraph,
Object object 
)

Definition at line 211 of file depsgraph_query.cc.

References DEG_get_evaluated_id(), depsgraph, and Object::id.

◆ DEG_get_evaluated_rna_pointer()

void DEG_get_evaluated_rna_pointer ( const Depsgraph depsgraph,
PointerRNA ptr,
PointerRNA r_ptr_eval 
)

◆ DEG_get_evaluated_scene()

Scene* DEG_get_evaluated_scene ( const Depsgraph graph)

◆ DEG_get_evaluated_view_layer()

ViewLayer* DEG_get_evaluated_view_layer ( const Depsgraph graph)

◆ DEG_get_input_scene()

struct Scene* DEG_get_input_scene ( const Depsgraph graph)

◆ DEG_get_input_view_layer()

struct ViewLayer* DEG_get_input_view_layer ( const Depsgraph graph)

◆ DEG_get_mode()

eEvaluationMode DEG_get_mode ( const Depsgraph graph)

◆ DEG_get_original_id()

ID* DEG_get_original_id ( struct ID id)

◆ DEG_get_original_object()

Object* DEG_get_original_object ( struct Object object)

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().

◆ DEG_id_type_any_exists()

bool DEG_id_type_any_exists ( const Depsgraph depsgraph,
short  id_type 
)

◆ DEG_id_type_any_updated()

bool DEG_id_type_any_updated ( const Depsgraph graph)

Definition at line 117 of file depsgraph_query.cc.

References graph, and blender::deg::Depsgraph::id_type_updated.

◆ DEG_id_type_updated()

bool DEG_id_type_updated ( const Depsgraph graph,
short  id_type 
)

◆ DEG_is_evaluated_id()

bool DEG_is_evaluated_id ( const ID id)

Definition at line 318 of file depsgraph_query.cc.

References DEG_is_original_id().

◆ DEG_is_evaluated_object()

bool DEG_is_evaluated_object ( const Object object)

Definition at line 323 of file depsgraph_query.cc.

References DEG_is_original_object().

◆ DEG_is_fully_evaluated()

bool DEG_is_fully_evaluated ( const struct Depsgraph depsgraph)

Check whether depsgraph is fully evaluated. This includes the following checks:

  • Relations are up-to-date.
  • Nothing is tagged for update.

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().

◆ DEG_is_original_id()

bool DEG_is_original_id ( const ID id)

◆ DEG_is_original_object()

bool DEG_is_original_object ( const Object object)

Definition at line 313 of file depsgraph_query.cc.

References DEG_is_original_id(), and Object::id.

Referenced by DEG_is_evaluated_object().