Blender V4.3
blender::deg::DepsgraphRelationBuilder Class Reference

#include <deg_builder_relations.h>

Inherits blender::deg::DepsgraphBuilder.

Public Member Functions

 DepsgraphRelationBuilder (Main *bmain, Depsgraph *graph, DepsgraphBuilderCache *cache)
 
void begin_build ()
 
template<typename KeyFrom , typename KeyTo >
Relationadd_relation (const KeyFrom &key_from, const KeyTo &key_to, const char *description, int flags=0)
 
template<typename KeyTo >
Relationadd_relation (const TimeSourceKey &key_from, const KeyTo &key_to, const char *description, int flags=0)
 
template<typename KeyType >
Relationadd_node_handle_relation (const KeyType &key_from, const DepsNodeHandle *handle, const char *description, int flags=0)
 
template<typename KeyTo >
Relationadd_depends_on_transform_relation (ID *id, const KeyTo &key_to, const char *description, int flags=0)
 
void add_depends_on_transform_relation (const DepsNodeHandle *handle, const char *description)
 
void add_customdata_mask (Object *object, const DEGCustomDataMeshMasks &customdata_masks)
 
void add_special_eval_flag (ID *id, uint32_t flag)
 
virtual void build_id (ID *id)
 
virtual void build_generic_id (ID *id)
 
virtual void build_idproperties (IDProperty *id_property)
 
virtual void build_scene_camera (Scene *scene)
 
virtual void build_scene_render (Scene *scene, ViewLayer *view_layer)
 
virtual void build_scene_parameters (Scene *scene)
 
virtual void build_scene_compositor (Scene *scene)
 
virtual bool build_layer_collection (LayerCollection *layer_collection)
 
virtual void build_view_layer_collections (ViewLayer *view_layer)
 
virtual void build_view_layer (Scene *scene, ViewLayer *view_layer, eDepsNode_LinkedState_Type linked_state)
 
virtual void build_collection (LayerCollection *from_layer_collection, Collection *collection)
 
virtual void build_object (Object *object)
 
virtual void build_object_from_view_layer_base (Object *object)
 
virtual void build_object_layer_component_relations (Object *object)
 
virtual void build_object_modifiers (Object *object)
 
virtual void build_object_data (Object *object)
 
virtual void build_object_data_camera (Object *object)
 
virtual void build_object_data_geometry (Object *object)
 
virtual void build_object_data_geometry_datablock (ID *obdata)
 
virtual void build_object_data_light (Object *object)
 
virtual void build_object_data_lightprobe (Object *object)
 
virtual void build_object_data_speaker (Object *object)
 
virtual void build_object_parent (Object *object)
 
virtual void build_object_pointcache (Object *object)
 
virtual void build_object_instance_collection (Object *object)
 
virtual void build_object_shading (Object *object)
 
virtual void build_object_light_linking (Object *emitter)
 
virtual void build_light_linking_collection (Object *emitter, Collection *collection)
 
virtual void build_constraints (ID *id, NodeType component_type, const char *component_subdata, ListBase *constraints, RootPChanMap *root_map)
 
virtual void build_animdata (ID *id)
 
virtual void build_animdata_curves (ID *id)
 
virtual void build_animdata_fcurve_target (ID *id, PointerRNA id_ptr, ComponentKey &adt_key, OperationNode *operation_from, FCurve *fcu)
 
virtual void build_animdata_curves_targets (ID *id, ComponentKey &adt_key, OperationNode *operation_from, ListBase *curves)
 
virtual void build_animdata_action_targets (ID *id, int32_t slot_handle, ComponentKey &adt_key, OperationNode *operation_from, bAction *action)
 
virtual void build_animdata_nlastrip_targets (ID *id, ComponentKey &adt_key, OperationNode *operation_from, ListBase *strips)
 
virtual void build_animdata_drivers (ID *id)
 
virtual void build_animdata_force (ID *id)
 
virtual void build_animation_images (ID *id)
 
virtual void build_action (bAction *action)
 
virtual void build_driver (ID *id, FCurve *fcurve)
 
virtual void build_driver_data (ID *id, FCurve *fcurve)
 
virtual void build_driver_variables (ID *id, FCurve *fcurve)
 
virtual void build_driver_scene_camera_variable (const OperationKey &driver_key, const RNAPathKey &self_key, Scene *scene, const char *rna_path)
 
virtual void build_driver_rna_path_variable (const OperationKey &driver_key, const RNAPathKey &self_key, ID *target_id, const PointerRNA &target_prop, const char *rna_path)
 
virtual void build_driver_id_property (const PointerRNA &target_prop, const char *rna_path_from_target_prop)
 
virtual void build_parameters (ID *id)
 
virtual void build_dimensions (Object *object)
 
virtual void build_world (World *world)
 
virtual void build_rigidbody (Scene *scene)
 
virtual void build_particle_systems (Object *object)
 
virtual void build_particle_settings (ParticleSettings *part)
 
virtual void build_particle_system_visualization_object (Object *object, ParticleSystem *psys, Object *draw_object)
 
virtual void build_ik_pose (Object *object, bPoseChannel *pchan, bConstraint *con, RootPChanMap *root_map)
 
virtual void build_splineik_pose (Object *object, bPoseChannel *pchan, bConstraint *con, RootPChanMap *root_map)
 
virtual void build_inter_ik_chains (Object *object, const OperationKey &solver_key, const bPoseChannel *rootchan, const RootPChanMap *root_map)
 
virtual void build_rig (Object *object)
 
virtual void build_shapekeys (Key *key)
 
virtual void build_armature (bArmature *armature)
 
virtual void build_armature_bones (ListBase *bones)
 
virtual void build_armature_bone_collections (blender::Span< BoneCollection * > collections)
 
virtual void build_camera (Camera *camera)
 
virtual void build_light (Light *lamp)
 
virtual void build_nodetree (bNodeTree *ntree)
 
virtual void build_nodetree_socket (bNodeSocket *socket)
 
virtual void build_material (Material *ma, ID *owner=nullptr)
 
virtual void build_materials (ID *owner, Material **materials, int num_materials)
 
virtual void build_freestyle_lineset (FreestyleLineSet *fls)
 
virtual void build_freestyle_linestyle (FreestyleLineStyle *linestyle)
 
virtual void build_texture (Tex *tex)
 
virtual void build_image (Image *image)
 
virtual void build_cachefile (CacheFile *cache_file)
 
virtual void build_mask (Mask *mask)
 
virtual void build_movieclip (MovieClip *clip)
 
virtual void build_lightprobe (LightProbe *probe)
 
virtual void build_speaker (Speaker *speaker)
 
virtual void build_sound (bSound *sound)
 
virtual void build_scene_sequencer (Scene *scene)
 
virtual void build_scene_audio (Scene *scene)
 
virtual void build_scene_speakers (Scene *scene, ViewLayer *view_layer)
 
virtual void build_vfont (VFont *vfont)
 
virtual void build_nested_datablock (ID *owner, ID *id, bool flush_cow_changes)
 
virtual void build_nested_nodetree (ID *owner, bNodeTree *ntree)
 
virtual void build_nested_shapekey (ID *owner, Key *key)
 
void add_particle_collision_relations (const OperationKey &key, Object *object, Collection *collection, const char *name)
 
void add_particle_forcefield_relations (const OperationKey &key, Object *object, ParticleSystem *psys, EffectorWeights *eff, bool add_absorption, const char *name)
 
virtual void build_copy_on_write_relations ()
 
virtual void build_copy_on_write_relations (IDNode *id_node)
 
virtual void build_driver_relations ()
 
virtual void build_driver_relations (IDNode *id_node)
 
template<typename KeyType >
OperationNodefind_operation_node (const KeyType &key)
 
DepsgraphgetGraph ()
 
- Public Member Functions inherited from blender::deg::DepsgraphBuilder
virtual ~DepsgraphBuilder ()=default
 
virtual bool need_pull_base_into_graph (const Base *base)
 
virtual bool is_object_visibility_animated (const Object *object)
 
virtual bool is_modifier_visibility_animated (const Object *object, const ModifierData *modifier)
 
virtual bool check_pchan_has_bbone (const Object *object, const bPoseChannel *pchan)
 
virtual bool check_pchan_has_bbone_segments (const Object *object, const bPoseChannel *pchan)
 
virtual bool check_pchan_has_bbone_segments (const Object *object, const char *bone_name)
 

Protected Member Functions

TimeSourceNodeget_node (const TimeSourceKey &key) const
 
ComponentNodeget_node (const ComponentKey &key) const
 
OperationNodeget_node (const OperationKey &key) const
 
Nodeget_node (const RNAPathKey &key)
 
OperationNodefind_node (const OperationKey &key) const
 
ComponentNodefind_node (const ComponentKey &key) const
 
bool has_node (const ComponentKey &key) const
 
bool has_node (const OperationKey &key) const
 
Relationadd_time_relation (TimeSourceNode *timesrc, Node *node_to, const char *description, int flags=0)
 
void add_visibility_relation (ID *id_from, ID *id_to)
 
Relationadd_operation_relation (OperationNode *node_from, OperationNode *node_to, const char *description, int flags=0)
 
template<typename KeyType >
DepsNodeHandle create_node_handle (const KeyType &key, const char *default_name="")
 
template<typename KeyFrom , typename KeyTo >
bool is_same_bone_dependency (const KeyFrom &key_from, const KeyTo &key_to)
 
template<typename KeyFrom , typename KeyTo >
bool is_same_nodetree_node_dependency (const KeyFrom &key_from, const KeyTo &key_to)
 
- Protected Member Functions inherited from blender::deg::DepsgraphBuilder
 DepsgraphBuilder (Main *bmain, Depsgraph *graph, DepsgraphBuilderCache *cache)
 

Additional Inherited Members

- Static Public Member Functions inherited from blender::deg::DepsgraphBuilder
static const char * get_rna_path_relative_to_scene_camera (const Scene *scene, const PointerRNA &target_prop, const char *rna_path)
 
- Protected Attributes inherited from blender::deg::DepsgraphBuilder
Mainbmain_
 
Depsgraphgraph_
 
DepsgraphBuilderCachecache_
 

Detailed Description

Definition at line 84 of file deg_builder_relations.h.

Constructor & Destructor Documentation

◆ DepsgraphRelationBuilder()

blender::deg::DepsgraphRelationBuilder::DepsgraphRelationBuilder ( Main * bmain,
Depsgraph * graph,
DepsgraphBuilderCache * cache )

Definition at line 259 of file deg_builder_relations.cc.

Member Function Documentation

◆ add_customdata_mask()

void blender::deg::DepsgraphRelationBuilder::add_customdata_mask ( Object * object,
const DEGCustomDataMeshMasks & customdata_masks )

◆ add_depends_on_transform_relation() [1/2]

void blender::deg::DepsgraphRelationBuilder::add_depends_on_transform_relation ( const DepsNodeHandle * handle,
const char * description )

◆ add_depends_on_transform_relation() [2/2]

template<typename KeyTo >
Relation * blender::deg::DepsgraphRelationBuilder::add_depends_on_transform_relation ( ID * id,
const KeyTo & key_to,
const char * description,
int flags = 0 )

◆ add_node_handle_relation()

◆ add_operation_relation()

Relation * blender::deg::DepsgraphRelationBuilder::add_operation_relation ( OperationNode * node_from,
OperationNode * node_to,
const char * description,
int flags = 0 )
protected

◆ add_particle_collision_relations()

void blender::deg::DepsgraphRelationBuilder::add_particle_collision_relations ( const OperationKey & key,
Object * object,
Collection * collection,
const char * name )

◆ add_particle_forcefield_relations()

◆ add_relation() [1/2]

template<typename KeyFrom , typename KeyTo >
Relation * blender::deg::DepsgraphRelationBuilder::add_relation ( const KeyFrom & key_from,
const KeyTo & key_to,
const char * description,
int flags = 0 )

Definition at line 29 of file deg_builder_relations_impl.h.

References add_operation_relation(), blender::deg::Node::get_entry_operation(), blender::deg::Node::get_exit_operation(), get_node(), blender::deg::BuilderStack::is_empty(), and blender::deg::BuilderStack::print_backtrace().

Referenced by add_depends_on_transform_relation(), add_particle_collision_relations(), add_particle_forcefield_relations(), add_visibility_relation(), build_action(), build_animation_images(), build_animdata(), build_animdata_curves(), build_animdata_drivers(), build_animdata_fcurve_target(), build_animdata_force(), build_animdata_nlastrip_targets(), build_cachefile(), build_camera(), build_collection(), build_constraints(), build_copy_on_write_relations(), build_dimensions(), build_driver(), build_driver_data(), build_driver_id_property(), build_driver_rna_path_variable(), build_driver_scene_camera_variable(), build_driver_variables(), build_ik_pose(), build_inter_ik_chains(), build_layer_collection(), build_light(), build_light_linking_collection(), build_mask(), build_material(), build_nested_datablock(), build_nodetree(), build_object(), build_object_data(), build_object_data_camera(), build_object_data_geometry(), build_object_data_geometry_datablock(), build_object_data_light(), build_object_data_lightprobe(), build_object_data_speaker(), build_object_from_view_layer_base(), build_object_instance_collection(), build_object_layer_component_relations(), build_object_light_linking(), build_object_modifiers(), build_object_parent(), build_object_pointcache(), build_object_shading(), build_parameters(), build_particle_settings(), build_particle_system_visualization_object(), build_particle_systems(), build_rig(), build_rigidbody(), build_scene_audio(), build_scene_parameters(), build_scene_sequencer(), build_shapekeys(), build_sound(), build_speaker(), build_splineik_pose(), build_texture(), build_view_layer(), build_view_layer_collections(), build_world(), DEG_add_object_pointcache_relation(), and blender::deg::seq_build_prop_cb().

◆ add_relation() [2/2]

template<typename KeyTo >
Relation * blender::deg::DepsgraphRelationBuilder::add_relation ( const TimeSourceKey & key_from,
const KeyTo & key_to,
const char * description,
int flags = 0 )

◆ add_special_eval_flag()

void blender::deg::DepsgraphRelationBuilder::add_special_eval_flag ( ID * id,
uint32_t flag )

◆ add_time_relation()

Relation * blender::deg::DepsgraphRelationBuilder::add_time_relation ( TimeSourceNode * timesrc,
Node * node_to,
const char * description,
int flags = 0 )
protected

◆ add_visibility_relation()

void blender::deg::DepsgraphRelationBuilder::add_visibility_relation ( ID * id_from,
ID * id_to )
protected

Definition at line 393 of file deg_builder_relations.cc.

References add_relation(), and blender::deg::VISIBILITY.

Referenced by build_rig().

◆ begin_build()

void blender::deg::DepsgraphRelationBuilder::begin_build ( )

Definition at line 518 of file deg_builder_relations.cc.

◆ build_action()

◆ build_animation_images()

◆ build_animdata()

◆ build_animdata_action_targets()

◆ build_animdata_curves()

◆ build_animdata_curves_targets()

void blender::deg::DepsgraphRelationBuilder::build_animdata_curves_targets ( ID * id,
ComponentKey & adt_key,
OperationNode * operation_from,
ListBase * curves )
virtual

◆ build_animdata_drivers()

void blender::deg::DepsgraphRelationBuilder::build_animdata_drivers ( ID * id)
virtual

◆ build_animdata_fcurve_target()

◆ build_animdata_force()

void blender::deg::DepsgraphRelationBuilder::build_animdata_force ( ID * id)
virtual

◆ build_animdata_nlastrip_targets()

void blender::deg::DepsgraphRelationBuilder::build_animdata_nlastrip_targets ( ID * id,
ComponentKey & adt_key,
OperationNode * operation_from,
ListBase * strips )
virtual

◆ build_armature()

◆ build_armature_bone_collections()

void blender::deg::DepsgraphRelationBuilder::build_armature_bone_collections ( blender::Span< BoneCollection * > collections)
virtual

Definition at line 2886 of file deg_builder_relations.cc.

References build_idproperties().

Referenced by build_armature().

◆ build_armature_bones()

void blender::deg::DepsgraphRelationBuilder::build_armature_bones ( ListBase * bones)
virtual

◆ build_cachefile()

◆ build_camera()

◆ build_collection()

◆ build_constraints()

void blender::deg::DepsgraphRelationBuilder::build_constraints ( ID * id,
NodeType component_type,
const char * component_subdata,
ListBase * constraints,
RootPChanMap * root_map )
virtual

Definition at line 1394 of file deg_builder_relations.cc.

References add_customdata_mask(), add_relation(), add_special_eval_flag(), BKE_constraint_target_uses_bbone(), BKE_constraint_targets_flush(), BKE_constraint_targets_get(), BKE_constraint_typeinfo_get(), BKE_shrinkwrap_needs_normals(), blender::deg::BONE, blender::deg::BONE_CONSTRAINTS, blender::deg::BONE_DONE, blender::deg::BONE_SEGMENTS, blender::deg::CACHE, Scene::camera, CD_MASK_CUSTOMLOOPNORMAL, CD_MASK_MDEFORMVERT, blender::deg::DepsgraphBuilder::check_pchan_has_bbone_segments(), CON_SHRINKWRAP_TRACK_NORMAL, CONSTRAINT_TYPE_ARMATURE, CONSTRAINT_TYPE_CAMERASOLVER, CONSTRAINT_TYPE_CLAMPTO, CONSTRAINT_TYPE_FOLLOWPATH, CONSTRAINT_TYPE_FOLLOWTRACK, CONSTRAINT_TYPE_KINEMATIC, CONSTRAINT_TYPE_LOCLIKE, CONSTRAINT_TYPE_OBJECTSOLVER, CONSTRAINT_TYPE_ROTLIKE, CONSTRAINT_TYPE_SHRINKWRAP, CONSTRAINT_TYPE_SIZELIKE, CONSTRAINT_TYPE_SPLINEIK, CONSTRAINT_TYPE_TRANSFORM_CACHE, CONSTRAINT_TYPE_TRANSLIKE, constraints, DAG_EVAL_NEED_SHRINKWRAP_BOUNDARY, ELEM, bShrinkwrapConstraint::flag, FOLLOWTRACK_ACTIVECLIP, blender::deg::GEOMETRY, Object::id, LISTBASE_FOREACH, blender::deg::DEGCustomDataMeshMasks::MaskLoop(), blender::deg::DEGCustomDataMeshMasks::MaskVert(), MOD_SHRINKWRAP_NEAREST_VERTEX, MOD_SHRINKWRAP_TARGET_PROJECT, bConstraintTypeInfo::name, OB_ARMATURE, OB_LATTICE, OB_MESH, bShrinkwrapConstraint::shrinkMode, bShrinkwrapConstraint::shrinkType, blender::deg::BuilderStack::trace(), blender::deg::TRANSFORM, blender::deg::TRANSFORM_CONSTRAINTS, blender::deg::TRANSFORM_FINAL, blender::deg::TRANSFORM_LOCAL, and bConstraintTypeInfo::type.

Referenced by build_object(), and build_rig().

◆ build_copy_on_write_relations() [1/2]

void blender::deg::DepsgraphRelationBuilder::build_copy_on_write_relations ( )
virtual

◆ build_copy_on_write_relations() [2/2]

◆ build_dimensions()

void blender::deg::DepsgraphRelationBuilder::build_dimensions ( Object * object)
virtual

◆ build_driver()

void blender::deg::DepsgraphRelationBuilder::build_driver ( ID * id,
FCurve * fcurve )
virtual

◆ build_driver_data()

◆ build_driver_id_property()

◆ build_driver_relations() [1/2]

void blender::deg::DepsgraphRelationBuilder::build_driver_relations ( )
virtual

◆ build_driver_relations() [2/2]

◆ build_driver_rna_path_variable()

void blender::deg::DepsgraphRelationBuilder::build_driver_rna_path_variable ( const OperationKey & driver_key,
const RNAPathKey & self_key,
ID * target_id,
const PointerRNA & target_prop,
const char * rna_path )
virtual

◆ build_driver_scene_camera_variable()

void blender::deg::DepsgraphRelationBuilder::build_driver_scene_camera_variable ( const OperationKey & driver_key,
const RNAPathKey & self_key,
Scene * scene,
const char * rna_path )
virtual

◆ build_driver_variables()

◆ build_freestyle_lineset()

void blender::deg::DepsgraphRelationBuilder::build_freestyle_lineset ( FreestyleLineSet * fls)
virtual

◆ build_freestyle_linestyle()

◆ build_generic_id()

void blender::deg::DepsgraphRelationBuilder::build_generic_id ( ID * id)
virtual

◆ build_id()

◆ build_idproperties()

◆ build_ik_pose()

◆ build_image()

void blender::deg::DepsgraphRelationBuilder::build_image ( Image * image)
virtual

◆ build_inter_ik_chains()

void blender::deg::DepsgraphRelationBuilder::build_inter_ik_chains ( Object * object,
const OperationKey & solver_key,
const bPoseChannel * rootchan,
const RootPChanMap * root_map )
virtual

◆ build_layer_collection()

◆ build_light()

◆ build_light_linking_collection()

◆ build_lightprobe()

void blender::deg::DepsgraphRelationBuilder::build_lightprobe ( LightProbe * probe)
virtual

◆ build_mask()

◆ build_material()

◆ build_materials()

void blender::deg::DepsgraphRelationBuilder::build_materials ( ID * owner,
Material ** materials,
int num_materials )
virtual

Definition at line 3152 of file deg_builder_relations.cc.

References build_material().

Referenced by build_object_data(), and build_object_data_geometry().

◆ build_movieclip()

void blender::deg::DepsgraphRelationBuilder::build_movieclip ( MovieClip * clip)
virtual

◆ build_nested_datablock()

void blender::deg::DepsgraphRelationBuilder::build_nested_datablock ( ID * owner,
ID * id,
bool flush_cow_changes )
virtual

Nested datablocks (node trees, shape keys) requires special relation to ensure owner's datablock remapping happens after node tree itself is ready.

This is similar to what happens in ntree_hack_remap_pointers().

Definition at line 3484 of file deg_builder_relations.cc.

References add_relation(), blender::deg::COPY_ON_EVAL, and blender::deg::RELATION_FLAG_NO_FLUSH.

Referenced by build_nested_nodetree(), and build_nested_shapekey().

◆ build_nested_nodetree()

void blender::deg::DepsgraphRelationBuilder::build_nested_nodetree ( ID * owner,
bNodeTree * ntree )
virtual

◆ build_nested_shapekey()

void blender::deg::DepsgraphRelationBuilder::build_nested_shapekey ( ID * owner,
Key * key )
virtual

Definition at line 3506 of file deg_builder_relations.cc.

References build_nested_datablock(), and Key::id.

Referenced by build_object_data().

◆ build_nodetree()

◆ build_nodetree_socket()

◆ build_object()

void blender::deg::DepsgraphRelationBuilder::build_object ( Object * object)
virtual

◆ build_object_data()

◆ build_object_data_camera()

void blender::deg::DepsgraphRelationBuilder::build_object_data_camera ( Object * object)
virtual

Definition at line 1035 of file deg_builder_relations.cc.

References add_relation(), build_camera(), and blender::deg::PARAMETERS.

Referenced by build_object_data().

◆ build_object_data_geometry()

void blender::deg::DepsgraphRelationBuilder::build_object_data_geometry ( Object * object)
virtual

ObData Geometry Evaluation

The evaluation of geometry on objects is as follows:

  • The actual evaluated of the derived geometry (e.g. Mesh, Curves, etc.) occurs in the Geometry component of the object which references this. This includes modifiers, and the temporary "ubereval" for geometry. Therefore, each user of a piece of shared geometry data ends up evaluating its own version of the stuff, complete with whatever modifiers it may use.
  • The data-blocks for the geometry data - "obdata" (e.g. ID_ME, ID_CU_LEGACY, ID_LT.) are used for 1) calculating the bounding boxes of the geometry data, 2) aggregating inward links from other objects (e.g. for text on curve) and also for the links coming from the shapekey data-blocks
  • Animation/Drivers affecting the parameters of the geometry are made to trigger updates on the obdata geometry component, which then trigger downstream re-evaluation of the individual instances of this geometry.

Definition at line 2583 of file deg_builder_relations.cc.

References AnimData::action, add_relation(), Key::adt, blender::deg::ANIMATION, blender::deg::BATCH_CACHE, BKE_key_from_object(), BKE_mball_basis_find(), BKE_shaderfx_depends_ontime(), BKE_shaderfx_get_info(), BLI_listbase_is_empty(), build_dimensions(), build_materials(), build_object_data_geometry_datablock(), create_node_handle(), ELEM, ListBase::first, blender::deg::GEOMETRY, blender::deg::GEOMETRY_EVAL, blender::deg::GEOMETRY_EVAL_INIT, blender::deg::GEOMETRY_SELECT_UPDATE, Key::id, Object::id, Scene::id, blender::deg::INSTANCE_GEOMETRY, blender::deg::INSTANCING, LISTBASE_FOREACH, AnimData::nla_tracks, ModifierUpdateDepsgraphContext::node, OB_CURVES_LEGACY, OB_LATTICE, OB_MBALL, OB_MESH, ModifierUpdateDepsgraphContext::object, blender::deg::RELATION_FLAG_NO_FLUSH, blender::deg::SCENE, ModifierUpdateDepsgraphContext::scene, blender::deg::SHADING, blender::deg::SYNCHRONIZATION, blender::deg::SYNCHRONIZE_TO_ORIGINAL, blender::deg::TRANSFORM, and ShaderFxTypeInfo::update_depsgraph.

Referenced by build_object_data().

◆ build_object_data_geometry_datablock()

◆ build_object_data_light()

void blender::deg::DepsgraphRelationBuilder::build_object_data_light ( Object * object)
virtual

◆ build_object_data_lightprobe()

void blender::deg::DepsgraphRelationBuilder::build_object_data_lightprobe ( Object * object)
virtual

◆ build_object_data_speaker()

void blender::deg::DepsgraphRelationBuilder::build_object_data_speaker ( Object * object)
virtual

◆ build_object_from_view_layer_base()

void blender::deg::DepsgraphRelationBuilder::build_object_from_view_layer_base ( Object * object)
virtual

◆ build_object_instance_collection()

◆ build_object_layer_component_relations()

void blender::deg::DepsgraphRelationBuilder::build_object_layer_component_relations ( Object * object)
virtual

◆ build_object_light_linking()

◆ build_object_modifiers()

◆ build_object_parent()

◆ build_object_pointcache()

◆ build_object_shading()

void blender::deg::DepsgraphRelationBuilder::build_object_shading ( Object * object)
virtual

◆ build_parameters()

◆ build_particle_settings()

◆ build_particle_system_visualization_object()

void blender::deg::DepsgraphRelationBuilder::build_particle_system_visualization_object ( Object * object,
ParticleSystem * psys,
Object * draw_object )
virtual

◆ build_particle_systems()

◆ build_rig()

◆ build_rigidbody()

◆ build_scene_audio()

void blender::deg::DepsgraphRelationBuilder::build_scene_audio ( Scene * scene)
virtual

◆ build_scene_camera()

void blender::deg::DepsgraphRelationBuilder::build_scene_camera ( Scene * scene)
virtual

Definition at line 35 of file deg_builder_relations_scene.cc.

References build_object(), ELEM, and LISTBASE_FOREACH.

Referenced by build_view_layer().

◆ build_scene_compositor()

void blender::deg::DepsgraphRelationBuilder::build_scene_compositor ( Scene * scene)
virtual

◆ build_scene_parameters()

◆ build_scene_render()

◆ build_scene_sequencer()

◆ build_scene_speakers()

void blender::deg::DepsgraphRelationBuilder::build_scene_speakers ( Scene * scene,
ViewLayer * view_layer )
virtual

◆ build_shapekeys()

◆ build_sound()

◆ build_speaker()

◆ build_splineik_pose()

◆ build_texture()

◆ build_vfont()

void blender::deg::DepsgraphRelationBuilder::build_vfont ( VFont * vfont)
virtual

◆ build_view_layer()

◆ build_view_layer_collections()

void blender::deg::DepsgraphRelationBuilder::build_view_layer_collections ( ViewLayer * view_layer)
virtual

◆ build_world()

◆ create_node_handle()

template<typename KeyType >
DepsNodeHandle blender::deg::DepsgraphRelationBuilder::create_node_handle ( const KeyType & key,
const char * default_name = "" )
protected

Definition at line 140 of file deg_builder_relations_impl.h.

References get_node().

Referenced by build_object_data_geometry(), and build_object_modifiers().

◆ find_node() [1/2]

◆ find_node() [2/2]

◆ find_operation_node()

template<typename KeyType >
OperationNode * blender::deg::DepsgraphRelationBuilder::find_operation_node ( const KeyType & key)

Definition at line 22 of file deg_builder_relations_impl.h.

References get_node().

◆ get_node() [1/4]

◆ get_node() [2/4]

OperationNode * blender::deg::DepsgraphRelationBuilder::get_node ( const OperationKey & key) const
protected

◆ get_node() [3/4]

Node * blender::deg::DepsgraphRelationBuilder::get_node ( const RNAPathKey & key)
protected

◆ get_node() [4/4]

◆ getGraph()

Depsgraph * blender::deg::DepsgraphRelationBuilder::getGraph ( )

◆ has_node() [1/2]

bool blender::deg::DepsgraphRelationBuilder::has_node ( const ComponentKey & key) const
protected

Definition at line 329 of file deg_builder_relations.cc.

References find_node().

Referenced by build_collection(), and build_object_layer_component_relations().

◆ has_node() [2/2]

bool blender::deg::DepsgraphRelationBuilder::has_node ( const OperationKey & key) const
protected

Definition at line 324 of file deg_builder_relations.cc.

References find_node().

◆ is_same_bone_dependency()

template<typename KeyFrom , typename KeyTo >
bool blender::deg::DepsgraphRelationBuilder::is_same_bone_dependency ( const KeyFrom & key_from,
const KeyTo & key_to )
protected

◆ is_same_nodetree_node_dependency()

template<typename KeyFrom , typename KeyTo >
bool blender::deg::DepsgraphRelationBuilder::is_same_nodetree_node_dependency ( const KeyFrom & key_from,
const KeyTo & key_to )
protected

The documentation for this class was generated from the following files: