|
Blender V4.3
|
#include <deg_builder_nodes.h>
Inherits blender::deg::DepsgraphBuilder.
Classes | |
| struct | BuilderWalkUserData |
| struct | IDInfo |
Public Member Functions | |
| DepsgraphNodeBuilder (Main *bmain, Depsgraph *graph, DepsgraphBuilderCache *cache) | |
| ~DepsgraphNodeBuilder () | |
| ID * | get_cow_id (const ID *id_orig) const |
| ID * | ensure_cow_id (ID *id_orig) |
| template<typename T > | |
| T * | get_cow_datablock (const T *orig) const |
| template<typename T > | |
| T * | get_orig_datablock (const T *cow) const |
| virtual void | begin_build () |
| virtual void | end_build () |
| int | foreach_id_cow_detect_need_for_update_callback (ID *id_cow_self, ID *id_pointer) |
| IDNode * | add_id_node (ID *id) |
| IDNode * | find_id_node (const ID *id) |
| TimeSourceNode * | add_time_source () |
| ComponentNode * | add_component_node (ID *id, NodeType comp_type, const char *comp_name="") |
| ComponentNode * | find_component_node (const ID *id, NodeType comp_type, const char *comp_name="") |
| OperationNode * | add_operation_node (ComponentNode *comp_node, OperationCode opcode, const DepsEvalOperationCb &op=nullptr, const char *name="", int name_tag=-1) |
| OperationNode * | add_operation_node (ID *id, NodeType comp_type, const char *comp_name, OperationCode opcode, const DepsEvalOperationCb &op=nullptr, const char *name="", int name_tag=-1) |
| OperationNode * | add_operation_node (ID *id, NodeType comp_type, OperationCode opcode, const DepsEvalOperationCb &op=nullptr, const char *name="", int name_tag=-1) |
| OperationNode * | ensure_operation_node (ID *id, NodeType comp_type, const char *comp_name, OperationCode opcode, const DepsEvalOperationCb &op=nullptr, const char *name="", int name_tag=-1) |
| OperationNode * | ensure_operation_node (ID *id, NodeType comp_type, OperationCode opcode, const DepsEvalOperationCb &op=nullptr, const char *name="", int name_tag=-1) |
| bool | has_operation_node (ID *id, NodeType comp_type, const char *comp_name, OperationCode opcode, const char *name="", int name_tag=-1) |
| bool | has_operation_node (ID *id, NodeType comp_type, OperationCode opcode) |
| OperationNode * | find_operation_node (const ID *id, NodeType comp_type, const char *comp_name, OperationCode opcode, const char *name="", int name_tag=-1) |
| OperationNode * | find_operation_node (const ID *id, NodeType comp_type, OperationCode opcode, const char *name="", int name_tag=-1) |
| OperationNode * | find_operation_node (const OperationKey &key) |
| virtual void | build_id (ID *id, bool force_be_visible=false) |
| virtual void | build_generic_id (ID *id) |
| virtual void | build_idproperties (IDProperty *id_property) |
| virtual void | build_scene_render (Scene *scene, ViewLayer *view_layer) |
| virtual void | build_scene_camera (Scene *scene) |
| virtual void | build_scene_parameters (Scene *scene) |
| virtual void | build_scene_compositor (Scene *scene) |
| virtual void | build_layer_collections (ListBase *lb) |
| 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 (int base_index, Object *object, eDepsNode_LinkedState_Type linked_state, bool is_visible) |
| virtual void | build_object_instance_collection (Object *object, bool is_object_visible) |
| virtual void | build_object_from_layer (int base_index, Object *object, eDepsNode_LinkedState_Type linked_state) |
| virtual void | build_object_flags (int base_index, Object *object, eDepsNode_LinkedState_Type linked_state) |
| 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_data_grease_pencil (Object *object) |
| virtual void | build_object_transform (Object *object) |
| virtual void | build_object_constraints (Object *object) |
| virtual void | build_object_pointcache (Object *object) |
| virtual void | build_object_shading (Object *object) |
| virtual void | build_object_light_linking (Object *object) |
| virtual void | build_light_linking_collection (Collection *collection) |
| virtual void | build_pose_constraints (Object *object, bPoseChannel *pchan, int pchan_index) |
| virtual void | build_rigidbody (Scene *scene) |
| virtual void | build_particle_systems (Object *object, bool is_object_visible) |
| virtual void | build_particle_settings (ParticleSettings *part) |
| virtual void | build_animdata (ID *id) |
| virtual void | build_animdata_nlastrip_targets (ListBase *strips) |
| virtual void | build_animation_images (ID *id) |
| virtual void | build_action (bAction *action) |
| virtual void | build_driver (ID *id, FCurve *fcurve, int driver_index) |
| virtual void | build_driver_variables (ID *id, FCurve *fcurve) |
| virtual void | build_driver_scene_camera_variable (Scene *scene, const char *camera_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_ik_pose (Object *object, bPoseChannel *pchan, bConstraint *con) |
| virtual void | build_splineik_pose (Object *object, bPoseChannel *pchan, bConstraint *con) |
| virtual void | build_rig (Object *object) |
| 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_shapekeys (Key *key) |
| 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) |
| virtual void | build_materials (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_world (World *world) |
| 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) |
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 | |
| void | tag_previously_tagged_nodes () |
| void | update_invalid_cow_pointers () |
Protected Member Functions inherited from blender::deg::DepsgraphBuilder | |
| DepsgraphBuilder (Main *bmain, Depsgraph *graph, DepsgraphBuilderCache *cache) | |
Static Protected Member Functions | |
| static void | modifier_walk (void *user_data, struct Object *object, struct ID **idpoin, int cb_flag) |
| static void | constraint_walk (bConstraint *constraint, ID **idpoin, bool is_reference, void *user_data) |
Protected Attributes | |
| Vector< PersistentOperationKey > | saved_entry_tags_ |
| Vector< PersistentOperationKey > | needs_update_operations_ |
| Scene * | scene_ |
| ViewLayer * | view_layer_ |
| int | view_layer_index_ |
| bool | is_parent_collection_visible_ |
| Map< uint, IDInfo * > | id_info_hash_ |
| BuilderMap | built_map_ |
Protected Attributes inherited from blender::deg::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) |
Definition at line 66 of file deg_builder_nodes.h.
| blender::deg::DepsgraphNodeBuilder::DepsgraphNodeBuilder | ( | Main * | bmain, |
| Depsgraph * | graph, | ||
| DepsgraphBuilderCache * | cache ) |
Definition at line 129 of file deg_builder_nodes.cc.
| blender::deg::DepsgraphNodeBuilder::~DepsgraphNodeBuilder | ( | ) |
Definition at line 140 of file deg_builder_nodes.cc.
References blender::deg::deg_free_eval_copy_datablock(), id_info_hash_, and MEM_freeN().
| ComponentNode * blender::deg::DepsgraphNodeBuilder::add_component_node | ( | ID * | id, |
| NodeType | comp_type, | ||
| const char * | comp_name = "" ) |
Definition at line 224 of file deg_builder_nodes.cc.
References add_id_node(), id_node, and blender::deg::ComponentNode::owner.
Referenced by add_operation_node(), and build_particle_systems().
Definition at line 151 of file deg_builder_nodes.cc.
References blender::deg::Depsgraph::add_id_node(), blender::deg::ComponentNode::add_operation(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert, blender::deg::COPY_ON_EVAL, blender::deg::deg_create_eval_copy(), blender::deg::deg_eval_copy_is_needed(), blender::deg::deg_evaluate_object_node_visibility(), depsgraph, blender::deg::DEPSOP_FLAG_AFFECTS_VISIBILITY, blender::deg::DEPSOP_FLAG_PINNED, blender::deg::OperationNode::flag, blender::deg::DepsgraphBuilder::graph_, GS, blender::deg::DepsgraphNodeBuilder::IDInfo::id_cow, id_info_hash_, id_node, ID_OB, MAIN_ID_SESSION_UID_UNSET, blender::deg::Depsgraph::operations, blender::deg::DepsgraphNodeBuilder::IDInfo::previous_customdata_masks, blender::deg::DepsgraphNodeBuilder::IDInfo::previous_eval_flags, blender::deg::DepsgraphNodeBuilder::IDInfo::previously_visible_components_mask, blender::deg::IDNode::previously_visible_components_mask, and blender::deg::VISIBILITY.
Referenced by add_component_node(), build_animdata(), build_cachefile(), build_collection(), build_material(), build_nodetree(), build_object(), build_object_data_geometry_datablock(), build_parameters(), build_particle_settings(), build_scene_render(), build_sound(), build_texture(), build_view_layer(), build_world(), and ensure_cow_id().
| OperationNode * blender::deg::DepsgraphNodeBuilder::add_operation_node | ( | ComponentNode * | comp_node, |
| OperationCode | opcode, | ||
| const DepsEvalOperationCb & | op = nullptr, | ||
| const char * | name = "", | ||
| int | name_tag = -1 ) |
Definition at line 245 of file deg_builder_nodes.cc.
References blender::deg::ComponentNode::add_operation(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert_msg, blender::deg::ComponentNode::find_operation(), blender::deg::DepsgraphBuilder::graph_, blender::deg::ComponentNode::identifier(), blender::deg::OperationNode::identifier(), and blender::deg::Depsgraph::operations.
Referenced by add_operation_node(), add_operation_node(), build_action(), build_animation_images(), build_animdata(), build_armature(), build_cachefile(), build_collection(), build_dimensions(), build_ik_pose(), build_image(), build_light(), build_light_linking_collection(), build_lightprobe(), build_mask(), build_material(), build_movieclip(), build_nodetree(), build_object(), build_object_constraints(), build_object_data_geometry(), build_object_data_geometry_datablock(), build_object_data_lightprobe(), build_object_data_speaker(), build_object_flags(), build_object_from_layer(), build_object_light_linking(), build_object_modifiers(), build_object_pointcache(), build_object_shading(), build_object_transform(), build_parameters(), build_particle_settings(), build_particle_systems(), build_pose_constraints(), 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_vfont(), build_view_layer(), build_world(), ensure_operation_node(), and ensure_operation_node().
| OperationNode * blender::deg::DepsgraphNodeBuilder::add_operation_node | ( | ID * | id, |
| NodeType | comp_type, | ||
| const char * | comp_name, | ||
| OperationCode | opcode, | ||
| const DepsEvalOperationCb & | op = nullptr, | ||
| const char * | name = "", | ||
| int | name_tag = -1 ) |
Definition at line 267 of file deg_builder_nodes.cc.
References add_component_node(), and add_operation_node().
| OperationNode * blender::deg::DepsgraphNodeBuilder::add_operation_node | ( | ID * | id, |
| NodeType | comp_type, | ||
| OperationCode | opcode, | ||
| const DepsEvalOperationCb & | op = nullptr, | ||
| const char * | name = "", | ||
| int | name_tag = -1 ) |
Definition at line 279 of file deg_builder_nodes.cc.
References add_operation_node().
| TimeSourceNode * blender::deg::DepsgraphNodeBuilder::add_time_source | ( | ) |
Definition at line 219 of file deg_builder_nodes.cc.
References blender::deg::Depsgraph::add_time_source(), and blender::deg::DepsgraphBuilder::graph_.
Referenced by build_scene_render(), and build_view_layer().
|
virtual |
Definition at line 378 of file deg_builder_nodes.cc.
References BLI_assert, blender::Vector< T, InlineBufferCapacity, Allocator >::clear(), blender::deg::Depsgraph::clear_all_nodes(), blender::deg::deg_eval_copy_is_expanded(), blender::deg::deg_eval_copy_is_needed(), blender::deg::DEPSOP_FLAG_NEEDS_UPDATE, blender::deg::Depsgraph::entry_tags, blender::deg::DepsgraphBuilder::graph_, blender::deg::DepsgraphNodeBuilder::IDInfo::id_cow, id_info_hash_, id_node, blender::deg::Depsgraph::id_nodes, MEM_mallocN, needs_update_operations_, blender::deg::Depsgraph::operations, blender::deg::DepsgraphNodeBuilder::IDInfo::previous_customdata_masks, blender::deg::DepsgraphNodeBuilder::IDInfo::previous_eval_flags, blender::deg::DepsgraphNodeBuilder::IDInfo::previously_visible_components_mask, and saved_entry_tags_.
|
virtual |
Definition at line 1306 of file deg_builder_nodes.cc.
References add_operation_node(), blender::deg::ANIMATION, blender::deg::ANIMATION_EVAL, build_idproperties(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), bAction::id, and ID::properties.
Referenced by build_animdata(), build_animdata_nlastrip_targets(), and build_id().
|
virtual |
Build graph nodes to update the current frame in image users.
Definition at line 1283 of file deg_builder_nodes.cc.
References add_operation_node(), BKE_image_user_id_eval_animation(), BKE_image_user_id_has_animation(), depsgraph, ELEM, get_cow_id(), GS, ID_MA, ID_WO, blender::deg::IMAGE_ANIMATION, blender::bke::node_tree_ptr_from_id(), NTREE_RUNTIME_FLAG_HAS_IMAGE_ANIMATION, and bNodeTree::runtime.
Referenced by build_animdata().
|
virtual |
Build graph nodes for AnimData block and any animated images used.
| id | ID-Block which hosts the AnimData |
Definition at line 1230 of file deg_builder_nodes.cc.
References AnimData::action, add_id_node(), add_operation_node(), blender::deg::ANIMATION, blender::deg::ANIMATION_ENTRY, blender::deg::ANIMATION_EVAL, blender::deg::ANIMATION_EXIT, BKE_animdata_from_id(), BKE_animsys_eval_animdata(), BLI_listbase_is_empty(), build_action(), build_animation_images(), build_animdata_nlastrip_targets(), build_driver(), depsgraph, AnimData::drivers, get_cow_id(), LISTBASE_FOREACH, AnimData::nla_tracks, blender::deg::OperationNode::set_as_entry(), and blender::deg::OperationNode::set_as_exit().
Referenced by build_armature(), build_cachefile(), build_camera(), build_freestyle_linestyle(), build_generic_id(), build_light(), build_lightprobe(), build_mask(), build_material(), build_movieclip(), build_nodetree(), build_object(), build_object_data(), build_object_data_geometry_datablock(), build_particle_settings(), build_scene_render(), build_shapekeys(), build_sound(), build_speaker(), build_texture(), build_view_layer(), and build_world().
|
virtual |
Definition at line 1271 of file deg_builder_nodes.cc.
References build_action(), build_animdata_nlastrip_targets(), and LISTBASE_FOREACH.
Referenced by build_animdata(), and build_animdata_nlastrip_targets().
|
virtual |
Definition at line 1836 of file deg_builder_nodes.cc.
References add_operation_node(), blender::deg::ARMATURE, blender::deg::ARMATURE_EVAL, bArmature::bonebase, build_animdata(), build_armature_bone_collections(), build_armature_bones(), build_idproperties(), build_parameters(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), bArmature::id, and ID::properties.
Referenced by build_id(), and build_rig().
|
virtual |
Definition at line 1864 of file deg_builder_nodes.cc.
References build_idproperties().
Referenced by build_armature().
|
virtual |
Definition at line 1856 of file deg_builder_nodes.cc.
References build_armature_bones(), build_idproperties(), and LISTBASE_FOREACH.
Referenced by build_armature(), and build_armature_bones().
|
virtual |
Definition at line 2093 of file deg_builder_nodes.cc.
References add_id_node(), add_operation_node(), BKE_cachefile_eval(), blender::deg::DepsgraphBuilder::bmain_, build_animdata(), build_idproperties(), build_parameters(), built_map_, blender::deg::CACHE, blender::deg::BuilderMap::checkIsBuiltAndTag(), depsgraph, blender::deg::FILE_CACHE_UPDATE, get_cow_datablock(), CacheFile::id, and ID::properties.
Referenced by build_id(), and build_view_layer().
|
virtual |
Definition at line 1872 of file deg_builder_nodes.cc.
References build_animdata(), build_idproperties(), build_object(), build_parameters(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), and blender::deg::DEG_ID_LINKED_INDIRECTLY.
Referenced by build_id(), and build_object_data_camera().
|
virtual |
Definition at line 694 of file deg_builder_nodes.cc.
References add_id_node(), add_operation_node(), build_collection(), build_idproperties(), build_object(), build_parameters(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), COLLECTION_HIDE_RENDER, COLLECTION_HIDE_VIEWPORT, DAG_EVAL_VIEWPORT, blender::deg::DEG_ID_LINKED_INDIRECTLY, find_id_node(), blender::deg::GEOMETRY, blender::deg::GEOMETRY_EVAL_DONE, blender::deg::DepsgraphBuilder::graph_, blender::deg::HIERARCHY, id_node, is_parent_collection_visible_, LISTBASE_FOREACH, and blender::deg::Depsgraph::mode.
Referenced by build_collection(), build_freestyle_lineset(), build_id(), build_layer_collections(), build_light_linking_collection(), build_object_instance_collection(), build_particle_systems(), and build_rigidbody().
|
virtual |
Definition at line 1453 of file deg_builder_nodes.cc.
References add_operation_node(), blender::deg::DIMENSIONS, and blender::deg::PARAMETERS.
Referenced by build_object_data_geometry().
|
virtual |
Build graph node(s) for Driver
| id | ID-Block that driver is attached to |
| fcurve | Driver-FCurve |
| driver_index | Index in animation data drivers list |
Definition at line 1315 of file deg_builder_nodes.cc.
References FCurve::array_index, BKE_animsys_eval_driver(), build_driver_variables(), depsgraph, blender::deg::DRIVER, ensure_operation_node(), get_cow_id(), blender::deg::PARAMETERS, and FCurve::rna_path.
Referenced by build_animdata().
|
virtual |
Definition at line 1388 of file deg_builder_nodes.cc.
References blender::deg::BONE, build_id(), PointerRNA::data, ensure_operation_node(), blender::deg::ID_PROPERTY, bPoseChannel::name, PointerRNA::owner_id, blender::deg::PARAMETERS, ptr, RNA_path_resolve_full(), blender::deg::rna_prop_affects_parameters_node(), RNA_property_identifier(), RNA_struct_is_a(), and PointerRNA::type.
Referenced by build_driver_scene_camera_variable(), and build_driver_variables().
|
virtual |
Definition at line 1376 of file deg_builder_nodes.cc.
References build_driver_id_property(), ELEM, LISTBASE_FOREACH, and RNA_id_pointer_create().
Referenced by build_driver_variables().
|
virtual |
Definition at line 1336 of file deg_builder_nodes.cc.
References BLI_assert, build_driver_id_property(), build_driver_scene_camera_variable(), build_id(), FCurve::driver, driver_get_target_property(), DRIVER_TARGETS_LOOPER_END, DRIVER_TARGETS_USED_LOOPER_BEGIN, DTAR_FLAG_STRUCT_REF, blender::deg::DepsgraphBuilder::get_rna_path_relative_to_scene_camera(), blender::deg::DepsgraphBuilder::graph_, LISTBASE_FOREACH, PointerRNA::owner_id, RNA_id_pointer_create(), FCurve::rna_path, blender::deg::Depsgraph::scene, DriverTargetContext::scene, scene_, ChannelDriver::variables, blender::deg::Depsgraph::view_layer, and DriverTargetContext::view_layer.
Referenced by build_driver().
|
virtual |
Definition at line 62 of file deg_builder_nodes_view_layer.cc.
References build_collection(), build_freestyle_linestyle(), FreestyleLineSet::group, and FreestyleLineSet::linestyle.
Referenced by build_view_layer().
|
virtual |
Definition at line 2151 of file deg_builder_nodes.cc.
References build_animdata(), build_idproperties(), build_nodetree(), build_parameters(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), FreestyleLineStyle::id, linestyle, FreestyleLineStyle::nodetree, and ID::properties.
Referenced by build_freestyle_lineset(), and build_id().
|
virtual |
Definition at line 676 of file deg_builder_nodes.cc.
References build_animdata(), build_idproperties(), build_parameters(), built_map_, and blender::deg::BuilderMap::checkIsBuiltAndTag().
Referenced by build_id().
|
virtual |
Definition at line 565 of file deg_builder_nodes.cc.
References BLI_assert, build_action(), build_armature(), build_cachefile(), build_camera(), build_collection(), build_freestyle_linestyle(), build_generic_id(), build_image(), build_light(), build_lightprobe(), build_mask(), build_material(), build_movieclip(), build_nodetree(), build_object(), build_object_data_geometry_datablock(), build_particle_settings(), build_scene_parameters(), build_shapekeys(), build_sound(), build_speaker(), build_texture(), build_world(), blender::deg::deg_eval_copy_is_needed(), blender::deg::DEG_ID_LINKED_INDIRECTLY, GS, ID_AC, ID_AR, ID_BR, ID_CA, ID_CF, ID_CU_LEGACY, ID_CV, ID_GD_LEGACY, ID_GP, ID_GR, ID_IM, ID_IP, ID_KE, ID_LA, ID_LI, ID_LP, ID_LS, ID_LT, ID_MA, ID_MB, ID_MC, ID_ME, ID_MSK, ID_NT, ID_OB, ID_PA, ID_PAL, ID_PC, ID_PT, ID_SCE, ID_SCR, ID_SO, ID_SPK, ID_TE, ID_TXT, ID_VF, ID_VO, ID_WM, ID_WO, and ID_WS.
Referenced by build_driver_id_property(), build_driver_variables(), build_idproperties(), build_mask(), blender::deg::FromCollectionBuilderPipeline::build_nodes(), blender::deg::FromIDsBuilderPipeline::build_nodes(), and build_nodetree_socket().
|
virtual |
Definition at line 687 of file deg_builder_nodes.cc.
References build_id(), IDProperty::data, IDP_foreach_property(), IDP_TYPE_FILTER_ID, and IDPropertyData::pointer.
Referenced by build_action(), build_armature(), build_armature_bone_collections(), build_armature_bones(), build_cachefile(), build_camera(), build_collection(), build_freestyle_linestyle(), build_generic_id(), build_image(), build_light(), build_lightprobe(), build_mask(), build_material(), build_movieclip(), build_nodetree(), build_nodetree_socket(), build_object(), build_object_data_geometry_datablock(), build_rig(), build_scene_parameters(), build_shapekeys(), build_sound(), build_speaker(), build_texture(), build_vfont(), build_world(), and blender::deg::seq_node_build_cb().
|
virtual |
IK Solver Eval Steps.
Definition at line 67 of file deg_builder_nodes_rig.cc.
References add_operation_node(), BKE_armature_ik_solver_find_root(), BLI_assert, BLI_findindex(), bConstraint::data, depsgraph, blender::deg::EVAL_POSE, get_cow_datablock(), has_operation_node(), bPoseChannel::name, blender::deg::POSE_IK_SOLVER, and scene_.
Referenced by build_rig().
|
virtual |
Definition at line 2082 of file deg_builder_nodes.cc.
References add_operation_node(), build_idproperties(), build_parameters(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), blender::deg::GENERIC_DATABLOCK, and blender::deg::GENERIC_DATABLOCK_UPDATE.
Referenced by build_id(), build_nodetree(), and build_texture().
|
virtual |
Definition at line 46 of file deg_builder_nodes_view_layer.cc.
References build_collection(), build_layer_collections(), COLLECTION_HIDE_RENDER, COLLECTION_HIDE_VIEWPORT, DAG_EVAL_VIEWPORT, blender::deg::DepsgraphBuilder::graph_, LAYER_COLLECTION_EXCLUDE, LISTBASE_FOREACH, and blender::deg::Depsgraph::mode.
Referenced by build_layer_collections(), and build_view_layer().
|
virtual |
Definition at line 1885 of file deg_builder_nodes.cc.
References add_operation_node(), build_animdata(), build_idproperties(), build_nodetree(), build_parameters(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), depsgraph, get_cow_datablock(), Light::id, lamp, blender::deg::LIGHT_UPDATE, Light::nodetree, ID::properties, and blender::deg::SHADING.
Referenced by build_id(), and build_object_data_light().
|
virtual |
Definition at line 1183 of file deg_builder_nodes.cc.
References add_operation_node(), build_collection(), has_operation_node(), is_parent_collection_visible_, blender::deg::LIGHT_LINKING_UPDATE, and blender::deg::PARAMETERS.
Referenced by build_object_light_linking().
|
virtual |
Definition at line 2184 of file deg_builder_nodes.cc.
References add_operation_node(), build_animdata(), build_idproperties(), build_parameters(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), LightProbe::id, blender::deg::LIGHT_PROBE_EVAL, blender::deg::PARAMETERS, and ID::properties.
Referenced by build_id(), and build_object_data_lightprobe().
|
virtual |
Definition at line 2114 of file deg_builder_nodes.cc.
References add_operation_node(), blender::deg::ANIMATION, BKE_mask_eval_animation(), BKE_mask_eval_update(), build_animdata(), build_id(), build_idproperties(), build_parameters(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), depsgraph, ensure_cow_id(), MaskParent::id, LISTBASE_FOREACH, blender::deg::MASK_ANIMATION, blender::deg::MASK_EVAL, blender::deg::PARAMETERS, and MaskParent::parent.
Referenced by build_id(), build_nodetree(), and build_view_layer().
|
virtual |
Recursively build graph for material.
Definition at line 2028 of file deg_builder_nodes.cc.
References add_id_node(), add_operation_node(), build_animdata(), build_idproperties(), build_nodetree(), build_parameters(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), depsgraph, get_cow_datablock(), blender::deg::MATERIAL_UPDATE, and blender::deg::SHADING.
Referenced by build_id(), build_materials(), build_nodetree(), and build_view_layer().
|
virtual |
Definition at line 2050 of file deg_builder_nodes.cc.
References build_material().
Referenced by build_object_data(), and build_object_data_geometry().
|
virtual |
Definition at line 2164 of file deg_builder_nodes.cc.
References add_operation_node(), BKE_movieclip_eval_update(), blender::deg::DepsgraphBuilder::bmain_, build_animdata(), build_idproperties(), build_parameters(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), depsgraph, ensure_cow_id(), blender::deg::MOVIECLIP_EVAL, blender::deg::PARAMETERS, and ID::properties.
Referenced by build_id(), build_nodetree(), and build_view_layer().
|
virtual |
Definition at line 1924 of file deg_builder_nodes.cc.
References add_id_node(), add_operation_node(), build_animdata(), build_idproperties(), build_image(), build_mask(), build_material(), build_movieclip(), build_nodetree(), build_nodetree_socket(), build_object(), build_parameters(), build_scene_parameters(), build_texture(), build_vfont(), built_map_, Scene::camera, blender::deg::BuilderMap::checkIsBuiltAndTag(), blender::deg::DEG_ID_LINKED_INDIRECTLY, ELEM, get_cow_id(), GS, bNodeTree::id, ID_IM, ID_MA, ID_MC, ID_MSK, ID_OB, ID_SCE, ID_TE, ID_TXT, ID_VF, LISTBASE_FOREACH, NODE_CUSTOM_GROUP, NODE_GROUP, NTREE_GEOMETRY, blender::deg::NTREE_GEOMETRY_PREPROCESS, blender::deg::NTREE_OUTPUT, ID::properties, and bNodeTree::type.
Referenced by build_freestyle_linestyle(), build_id(), build_light(), build_material(), blender::deg::CompositorBuilderPipeline::build_nodes(), build_nodetree(), build_scene_compositor(), build_texture(), and build_world().
|
virtual |
Definition at line 1903 of file deg_builder_nodes.cc.
References build_id(), build_idproperties(), bNodeSocket::default_value, bNodeSocket::prop, SOCK_COLLECTION, SOCK_IMAGE, SOCK_MATERIAL, SOCK_OBJECT, SOCK_TEXTURE, and bNodeSocket::type.
Referenced by build_nodetree().
|
virtual |
Definition at line 752 of file deg_builder_nodes.cc.
References add_id_node(), add_operation_node(), BKE_constraints_id_loop(), BKE_gpencil_modifiers_foreach_ID_link(), BKE_shaderfx_foreach_ID_link(), build_animdata(), build_idproperties(), build_object(), build_object_data(), build_object_flags(), build_object_from_layer(), build_object_instance_collection(), build_object_light_linking(), build_object_modifiers(), build_object_shading(), build_object_transform(), build_parameters(), build_particle_systems(), build_texture(), blender::deg::DepsgraphNodeBuilder::BuilderWalkUserData::builder, built_map_, Scene::camera, blender::deg::BuilderMap::checkIsBuiltAndTag(), constraint_walk(), data, blender::deg::DEG_ID_LINKED_INDIRECTLY, depsgraph, blender::deg::DEPSOP_FLAG_PINNED, find_id_node(), blender::deg::OperationNode::flag, get_cow_datablock(), blender::deg::HIERARCHY, id_node, IDWALK_NOP, blender::deg::INSTANCE, blender::deg::INSTANCE_GEOMETRY, blender::deg::INSTANCER, blender::deg::INSTANCING, max, modifier_walk(), PFIELD_TEXTURE, scene_, blender::deg::SYNCHRONIZATION, and blender::deg::SYNCHRONIZE_TO_ORIGINAL.
Referenced by build_camera(), build_collection(), build_id(), build_nodetree(), build_object(), build_object_data_geometry_datablock(), build_object_data_grease_pencil(), build_particle_systems(), build_rig(), build_rigidbody(), build_scene_camera(), build_scene_speakers(), and build_view_layer().
|
virtual |
Constraints Graph Notes
For constraints, we currently only add a operation node to the Transform or Bone components (depending on whichever type of owner we have). This represents the entire constraints stack, which is for now just executed as a single monolithic block. At least initially, this should be sufficient for ensuring that the porting/refactoring process remains manageable.
However, when the time comes for developing "node-based" constraints, we'll need to split this up into pre/post nodes for "constraint stack evaluation" + operation nodes for each constraint (i.e. the contents of the loop body used in the current "solve_constraints()" operation).
– Aligorith, August 2013
Definition at line 1134 of file deg_builder_nodes.cc.
References add_operation_node(), depsgraph, get_cow_datablock(), scene_, blender::deg::TRANSFORM, and blender::deg::TRANSFORM_CONSTRAINTS.
Referenced by build_object_transform().
|
virtual |
Definition at line 981 of file deg_builder_nodes.cc.
References BKE_object_material_array_p(), BKE_object_material_len_p(), build_animdata(), build_materials(), build_object_data_camera(), build_object_data_geometry(), build_object_data_grease_pencil(), build_object_data_light(), build_object_data_lightprobe(), build_object_data_speaker(), build_rig(), built_map_, blender::deg::BuilderMap::checkIsBuilt(), OB_ARMATURE, OB_CAMERA, OB_CURVES, OB_CURVES_LEGACY, OB_FONT, OB_GPENCIL_LEGACY, OB_GREASE_PENCIL, OB_LAMP, OB_LATTICE, OB_LIGHTPROBE, OB_MBALL, OB_MESH, OB_POINTCLOUD, OB_SPEAKER, OB_SURF, and OB_VOLUME.
Referenced by build_object().
|
virtual |
Definition at line 1034 of file deg_builder_nodes.cc.
References build_camera().
Referenced by build_object_data().
|
virtual |
Definition at line 1685 of file deg_builder_nodes.cc.
References add_operation_node(), blender::deg::BATCH_CACHE, build_dimensions(), build_materials(), build_object_data_geometry_datablock(), build_object_pointcache(), depsgraph, blender::deg::GEOMETRY, blender::deg::GEOMETRY_EVAL, blender::deg::GEOMETRY_EVAL_INIT, blender::deg::GEOMETRY_SELECT_UPDATE, get_cow_datablock(), scene_, blender::deg::OperationNode::set_as_entry(), and blender::deg::OperationNode::set_as_exit().
Referenced by build_object_data(), and build_object_data_grease_pencil().
|
virtual |
Definition at line 1717 of file deg_builder_nodes.cc.
References add_id_node(), add_operation_node(), blender::deg::BATCH_CACHE, Curve::bevobj, BKE_curve_eval_geometry(), BKE_key_from_id(), BKE_lattice_eval_geometry(), BKE_mesh_eval_geometry(), BKE_object_data_select_update(), BKE_volume_eval_geometry(), BLI_assert_msg, build_animdata(), build_idproperties(), build_object(), build_parameters(), build_shapekeys(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), blender::deg::DEG_ID_LINKED_INDIRECTLY, depsgraph, blender::deg::GEOMETRY, blender::deg::GEOMETRY_EVAL, blender::deg::GEOMETRY_EVAL_DONE, blender::deg::GEOMETRY_SELECT_UPDATE, get_cow_id(), GS, ID_CU_LEGACY, ID_CV, ID_GP, ID_LT, ID_MB, ID_ME, ID_PT, ID_VO, ID::name, ID::properties, blender::deg::OperationNode::set_as_entry(), blender::deg::OperationNode::set_as_exit(), blender::deg::SHADING, Curves::surface, Curve::taperobj, and Curve::textoncurve.
Referenced by build_id(), and build_object_data_geometry().
|
virtual |
Definition at line 1053 of file deg_builder_nodes.cc.
References build_object(), build_object_data_geometry(), blender::deg::DEG_ID_LINKED_INDIRECTLY, and Object::parent.
Referenced by build_object_data().
|
virtual |
Definition at line 1040 of file deg_builder_nodes.cc.
References build_light(), and lamp.
Referenced by build_object_data().
|
virtual |
Definition at line 1046 of file deg_builder_nodes.cc.
References add_operation_node(), build_lightprobe(), blender::deg::LIGHT_PROBE_EVAL, and blender::deg::PARAMETERS.
Referenced by build_object_data().
|
virtual |
Definition at line 1067 of file deg_builder_nodes.cc.
References add_operation_node(), blender::deg::AUDIO, build_speaker(), and blender::deg::SPEAKER_EVAL.
Referenced by build_object_data().
|
virtual |
Definition at line 892 of file deg_builder_nodes.cc.
References add_operation_node(), blender::deg::DEG_ID_LINKED_VIA_SET, depsgraph, get_cow_datablock(), blender::deg::OBJECT_BASE_FLAGS, blender::deg::OBJECT_FROM_LAYER, scene_, and view_layer_index_.
Referenced by build_object(), and build_object_from_layer().
|
virtual |
Definition at line 877 of file deg_builder_nodes.cc.
References add_operation_node(), build_object_flags(), blender::deg::OBJECT_FROM_LAYER, blender::deg::OBJECT_FROM_LAYER_ENTRY, blender::deg::OBJECT_FROM_LAYER_EXIT, blender::deg::OperationNode::set_as_entry(), and blender::deg::OperationNode::set_as_exit().
Referenced by build_object().
|
virtual |
Definition at line 914 of file deg_builder_nodes.cc.
References build_collection(), and is_parent_collection_visible_.
Referenced by build_object().
|
virtual |
Definition at line 1162 of file deg_builder_nodes.cc.
References blender::deg::light_linking::Cache::add_emitter(), add_operation_node(), build_light_linking_collection(), depsgraph, get_cow_datablock(), blender::deg::DepsgraphBuilder::graph_, blender::deg::Depsgraph::light_linking_cache, blender::deg::LIGHT_LINKING_UPDATE, blender::deg::Depsgraph::scene, and blender::deg::SHADING.
Referenced by build_object().
|
virtual |
Definition at line 925 of file deg_builder_nodes.cc.
References add_operation_node(), BKE_modifiers_foreach_ID_link(), BLI_findlink(), BLI_listbase_is_empty(), blender::deg::DepsgraphNodeBuilder::BuilderWalkUserData::builder, DAG_EVAL_VIEWPORT, data, depsgraph, blender::deg::DEPSOP_FLAG_MUTE, blender::deg::DEPSOP_FLAG_USER_MODIFIED, eModifierFlag_UserModified, eModifierMode_Realtime, eModifierMode_Render, eModifierType_Nodes, blender::deg::OperationNode::evaluate, find_id_node(), blender::deg::OperationNode::flag, ModifierData::flag, blender::deg::GEOMETRY, blender::deg::DepsgraphBuilder::graph_, blender::deg::Depsgraph::has_animated_visibility, id_node, blender::deg::DepsgraphBuilder::is_modifier_visibility_animated(), is_parent_collection_visible_, LISTBASE_FOREACH_INDEX, blender::deg::Depsgraph::mode, blender::deg::MODIFIER, modifier_walk(), Object::modifiers, SET_FLAG_FROM_TEST, and blender::deg::VISIBILITY.
Referenced by build_object().
|
virtual |
Definition at line 1147 of file deg_builder_nodes.cc.
References add_operation_node(), BKE_ptcache_object_has(), depsgraph, get_cow_datablock(), blender::deg::POINT_CACHE, blender::deg::POINT_CACHE_RESET, and scene_.
Referenced by build_object_data_geometry().
|
virtual |
Definition at line 1216 of file deg_builder_nodes.cc.
References add_operation_node(), depsgraph, get_cow_datablock(), blender::deg::OperationNode::set_as_exit(), blender::deg::SHADING, and blender::deg::SHADING_DONE.
Referenced by build_object().
|
virtual |
Definition at line 1074 of file deg_builder_nodes.cc.
References add_operation_node(), build_object_constraints(), depsgraph, get_cow_datablock(), blender::deg::OperationNode::set_as_entry(), blender::deg::OperationNode::set_as_exit(), blender::deg::TRANSFORM, blender::deg::TRANSFORM_EVAL, blender::deg::TRANSFORM_FINAL, blender::deg::TRANSFORM_INIT, blender::deg::TRANSFORM_LOCAL, blender::deg::TRANSFORM_PARENT, and blender::deg::TRANSFORM_SIMULATION_INIT.
Referenced by build_object().
|
virtual |
Definition at line 1427 of file deg_builder_nodes.cc.
References add_id_node(), add_operation_node(), BKE_id_eval_properties_copy(), get_cow_id(), GS, ID_TYPE_SUPPORTS_PARAMS_WITHOUT_COW, blender::deg::PARAMETERS, blender::deg::PARAMETERS_ENTRY, blender::deg::PARAMETERS_EVAL, blender::deg::PARAMETERS_EXIT, blender::deg::OperationNode::set_as_entry(), and blender::deg::OperationNode::set_as_exit().
Referenced by build_armature(), build_cachefile(), build_camera(), build_collection(), build_freestyle_linestyle(), build_generic_id(), build_image(), build_light(), build_lightprobe(), build_mask(), build_material(), build_movieclip(), build_nodetree(), build_object(), build_object_data_geometry_datablock(), build_particle_settings(), build_scene_parameters(), build_shapekeys(), build_sound(), build_speaker(), build_texture(), build_vfont(), and build_world().
|
virtual |
Definition at line 1630 of file deg_builder_nodes.cc.
References add_id_node(), add_operation_node(), build_animdata(), build_parameters(), build_texture(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), depsgraph, get_cow_datablock(), ParticleSettings::id, ParticleSettings::mtex, blender::deg::PARTICLE_SETTINGS, blender::deg::PARTICLE_SETTINGS_EVAL, blender::deg::PARTICLE_SETTINGS_INIT, blender::deg::PARTICLE_SETTINGS_RESET, blender::deg::OperationNode::set_as_entry(), and blender::deg::OperationNode::set_as_exit().
Referenced by build_id(), and build_particle_systems().
|
virtual |
There are two types of nodes associated with representing particle systems: 1) Component (EVAL_PARTICLES) - This is the particle-system evaluation context for an object. It acts as the container for all the nodes associated with a particular set of particle systems. 2) Particle System Evaluation Operation - This operation node acts as a black-box evaluation step for one particle system referenced by the particle systems stack. All dependencies link to this operation.
Definition at line 1569 of file deg_builder_nodes.cc.
References add_component_node(), add_operation_node(), BKE_particle_system_eval_init(), build_collection(), build_object(), build_particle_settings(), blender::deg::DEG_ID_LINKED_INDIRECTLY, depsgraph, ELEM, get_cow_datablock(), LISTBASE_FOREACH, blender::deg::Node::name, PART_DRAW_GR, PART_DRAW_OB, PART_PHYS_BOIDS, PART_PHYS_KEYED, blender::deg::PARTICLE_SYSTEM, blender::deg::PARTICLE_SYSTEM_DONE, blender::deg::PARTICLE_SYSTEM_EVAL, blender::deg::PARTICLE_SYSTEM_INIT, blender::deg::OperationNode::set_as_entry(), and blender::deg::OperationNode::set_as_exit().
Referenced by build_object().
|
virtual |
Definition at line 45 of file deg_builder_nodes_rig.cc.
References add_operation_node(), BKE_constraints_id_loop(), blender::deg::BONE, blender::deg::BONE_CONSTRAINTS, blender::deg::DepsgraphNodeBuilder::BuilderWalkUserData::builder, constraint_walk(), bPoseChannel::constraints, data, depsgraph, get_cow_datablock(), IDWALK_NOP, bPoseChannel::name, and scene_.
Referenced by build_rig().
|
virtual |
Pose/Armature Bones Graph.
Pose Component:
Bone Component:
IK Solvers.
Unsolved Issues:
Definition at line 132 of file deg_builder_nodes_rig.cc.
References add_operation_node(), BKE_pose_channels_hash_ensure(), BKE_pose_rebuild(), BKE_pose_update_constraint_flags(), blender::deg::BONE, blender::deg::BONE_DONE, blender::deg::BONE_LOCAL, blender::deg::BONE_POSE_PARENT, blender::deg::BONE_READY, blender::deg::BONE_SEGMENTS, build_armature(), build_idproperties(), build_ik_pose(), build_object(), build_pose_constraints(), build_splineik_pose(), blender::deg::DepsgraphBuilder::check_pchan_has_bbone(), CONSTRAINT_TYPE_KINEMATIC, CONSTRAINT_TYPE_SPLINEIK, blender::deg::DEG_ID_LINKED_INDIRECTLY, depsgraph, blender::deg::EVAL_POSE, get_cow_datablock(), LISTBASE_FOREACH, blender::deg::PARAMETERS, blender::deg::PARAMETERS_EVAL, blender::deg::POSE_CLEANUP, POSE_CONSTRAINTS_NEED_UPDATE_FLAGS, blender::deg::POSE_DONE, blender::deg::POSE_INIT, blender::deg::POSE_INIT_IK, POSE_RECALC, scene_, blender::deg::OperationNode::set_as_entry(), and blender::deg::OperationNode::set_as_exit().
Referenced by build_object_data().
|
virtual |
There are 3 nodes related to Rigidbody Simulation: 1) "Initialize/Rebuild World" - this is called sparingly, only when the simulation needs to be rebuilt (mainly after file reload, or moving back to start frame) 2) "Do Simulation" - perform a simulation step - interleaved between the evaluation steps for clusters of objects (i.e. between those affected and/or not affected by the sim for instance).
3) "Pull Results" - grab the specific transforms applied for a specific object - performed as part of object's transform-stack building.
Definition at line 1482 of file deg_builder_nodes.cc.
References add_operation_node(), build_collection(), build_object(), RigidBodyWorld::constraints, blender::deg::DEG_ID_LINKED_INDIRECTLY, depsgraph, blender::deg::ComponentNode::entry_operation, FOREACH_COLLECTION_OBJECT_RECURSIVE_BEGIN, FOREACH_COLLECTION_OBJECT_RECURSIVE_END, get_cow_datablock(), RigidBodyWorld::group, RigidBodyCon::ob1, RigidBodyCon::ob2, OB_MESH, blender::deg::OperationNode::owner, RBO_TYPE_PASSIVE, blender::deg::RIGIDBODY_REBUILD, blender::deg::RIGIDBODY_SIM, blender::deg::RIGIDBODY_TRANSFORM_COPY, blender::deg::OperationNode::set_as_entry(), blender::deg::OperationNode::set_as_exit(), and blender::deg::TRANSFORM.
Referenced by build_view_layer().
|
virtual |
Definition at line 2281 of file deg_builder_nodes.cc.
References add_operation_node(), blender::deg::AUDIO, blender::deg::AUDIO_ENTRY, blender::deg::AUDIO_VOLUME, built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), depsgraph, get_cow_datablock(), blender::deg::OperationNode::set_as_entry(), blender::deg::SOUND_EVAL, and blender::deg::BuilderMap::TAG_SCENE_AUDIO.
Referenced by build_scene_render(), build_scene_sequencer(), and build_view_layer().
|
virtual |
Definition at line 37 of file deg_builder_nodes_scene.cc.
References build_object(), blender::deg::DEG_ID_LINKED_INDIRECTLY, ELEM, and LISTBASE_FOREACH.
Referenced by build_scene_render(), and build_view_layer().
|
virtual |
Definition at line 76 of file deg_builder_nodes_scene.cc.
References build_nodetree(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), and blender::deg::BuilderMap::TAG_SCENE_COMPOSITOR.
Referenced by build_scene_parameters(), build_scene_render(), and build_view_layer().
|
virtual |
Definition at line 49 of file deg_builder_nodes_scene.cc.
References add_operation_node(), build_idproperties(), build_parameters(), build_scene_compositor(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), LISTBASE_FOREACH, blender::deg::SCENE, blender::deg::SCENE_EVAL, and blender::deg::BuilderMap::TAG_PARAMETERS.
Referenced by build_id(), build_nodetree(), build_scene_render(), build_view_layer(), and blender::deg::seq_node_build_cb().
|
virtual |
Definition at line 15 of file deg_builder_nodes_scene.cc.
References add_id_node(), add_time_source(), build_animdata(), build_scene_audio(), build_scene_camera(), build_scene_compositor(), build_scene_parameters(), build_scene_sequencer(), build_scene_speakers(), blender::deg::DEG_ID_LINKED_DIRECTLY, id_node, R_DOCOMP, R_DOSEQ, scene, scene_, and view_layer_.
Referenced by blender::deg::CompositorBuilderPipeline::build_nodes(), and blender::deg::RenderBuilderPipeline::build_nodes().
|
virtual |
Definition at line 2261 of file deg_builder_nodes.cc.
References add_operation_node(), build_scene_audio(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), depsgraph, get_cow_datablock(), SEQ_for_each_callback(), blender::deg::seq_node_build_cb(), blender::deg::SEQUENCER, blender::deg::SEQUENCES_EVAL, and blender::deg::BuilderMap::TAG_SCENE_SEQUENCER.
Referenced by build_scene_render(), build_view_layer(), and blender::deg::seq_node_build_cb().
|
virtual |
Definition at line 2302 of file deg_builder_nodes.cc.
References BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), build_object(), blender::deg::DEG_ID_LINKED_INDIRECTLY, LISTBASE_FOREACH, blender::deg::DepsgraphBuilder::need_pull_base_into_graph(), and OB_SPEAKER.
Referenced by build_scene_render(), and blender::deg::seq_node_build_cb().
|
virtual |
Shape-keys.
Definition at line 1664 of file deg_builder_nodes.cc.
References add_operation_node(), Key::block, build_animdata(), build_idproperties(), build_parameters(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), blender::deg::GEOMETRY, blender::deg::GEOMETRY_SHAPEKEY, Key::id, LISTBASE_FOREACH, ID::name, blender::deg::PARAMETERS, blender::deg::PARAMETERS_EVAL, and ID::properties.
Referenced by build_id(), and build_object_data_geometry_datablock().
|
virtual |
Definition at line 2211 of file deg_builder_nodes.cc.
References add_id_node(), add_operation_node(), blender::deg::AUDIO, blender::deg::DepsgraphBuilder::bmain_, build_animdata(), build_idproperties(), build_parameters(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), depsgraph, get_cow_datablock(), bSound::id, ID::properties, and blender::deg::SOUND_EVAL.
Referenced by build_id(), build_speaker(), and blender::deg::seq_node_build_cb().
|
virtual |
Definition at line 2196 of file deg_builder_nodes.cc.
References add_operation_node(), blender::deg::AUDIO, build_animdata(), build_idproperties(), build_parameters(), build_sound(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), Speaker::id, ID::properties, Speaker::sound, and blender::deg::SPEAKER_EVAL.
Referenced by build_id(), and build_object_data_speaker().
|
virtual |
Spline IK Eval Steps.
Definition at line 98 of file deg_builder_nodes_rig.cc.
References add_operation_node(), BKE_armature_splineik_solver_find_root(), BLI_assert, BLI_findindex(), bConstraint::data, depsgraph, blender::deg::EVAL_POSE, get_cow_datablock(), has_operation_node(), bPoseChannel::name, blender::deg::POSE_SPLINE_IK_SOLVER, and scene_.
Referenced by build_rig().
|
virtual |
Recursively build graph for texture.
Definition at line 2060 of file deg_builder_nodes.cc.
References add_id_node(), add_operation_node(), build_animdata(), build_idproperties(), build_image(), build_nodetree(), build_parameters(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), blender::deg::GENERIC_DATABLOCK, blender::deg::GENERIC_DATABLOCK_UPDATE, and TEX_IMAGE.
Referenced by build_id(), build_nodetree(), build_object(), and build_particle_settings().
|
virtual |
Definition at line 2229 of file deg_builder_nodes.cc.
References add_operation_node(), build_idproperties(), build_parameters(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), blender::deg::GENERIC_DATABLOCK, blender::deg::GENERIC_DATABLOCK_UPDATE, VFont::id, and ID::properties.
Referenced by build_nodetree().
|
virtual |
Definition at line 72 of file deg_builder_nodes_view_layer.cc.
References add_id_node(), add_operation_node(), add_time_source(), BKE_view_layer_default_render(), BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), blender::deg::DepsgraphBuilder::bmain_, build_animdata(), build_cachefile(), build_freestyle_lineset(), build_layer_collections(), build_mask(), build_material(), build_movieclip(), build_object(), build_rigidbody(), build_scene_audio(), build_scene_camera(), build_scene_compositor(), build_scene_parameters(), build_scene_sequencer(), build_view_layer(), build_world(), Main::cachefiles, blender::deg::DEG_ID_LINKED_DIRECTLY, blender::deg::DEG_ID_LINKED_VIA_SET, depsgraph, ViewLayer::freestyle_config, get_cow_datablock(), blender::deg::DepsgraphBuilder::graph_, blender::deg::Depsgraph::has_animated_visibility, blender::deg::HIERARCHY, id_node, blender::deg::DepsgraphBuilder::is_object_visibility_animated(), blender::deg::LAYER_COLLECTIONS, ViewLayer::layer_collections, FreestyleConfig::linesets, LISTBASE_FOREACH, Main::masks, ViewLayer::mat_override, Main::movieclips, blender::deg::DepsgraphBuilder::need_pull_base_into_graph(), scene, scene_, view_layer_, blender::deg::VIEW_LAYER_EVAL, view_layer_index_, and ViewLayer::world_override.
Referenced by blender::deg::FromCollectionBuilderPipeline::build_nodes(), blender::deg::FromIDsBuilderPipeline::build_nodes(), blender::deg::ViewLayerBuilderPipeline::build_nodes(), and build_view_layer().
|
virtual |
Recursively build graph for world.
Definition at line 1459 of file deg_builder_nodes.cc.
References add_id_node(), add_operation_node(), build_animdata(), build_idproperties(), build_nodetree(), build_parameters(), built_map_, blender::deg::BuilderMap::checkIsBuiltAndTag(), depsgraph, get_cow_datablock(), blender::deg::SHADING, and blender::deg::WORLD_UPDATE.
Referenced by build_id(), and build_view_layer().
|
staticprotected |
Definition at line 2337 of file deg_builder_nodes.cc.
References blender::deg::DEG_ID_LINKED_INDIRECTLY, GS, and ID_OB.
Referenced by build_object(), and build_pose_constraints().
|
virtual |
Definition at line 366 of file deg_builder_nodes.cc.
References add_id_node(), id_node, ID_TAG_COPIED_ON_EVAL, and ID::tag.
Referenced by build_mask(), and build_movieclip().
| OperationNode * blender::deg::DepsgraphNodeBuilder::ensure_operation_node | ( | ID * | id, |
| NodeType | comp_type, | ||
| const char * | comp_name, | ||
| OperationCode | opcode, | ||
| const DepsEvalOperationCb & | op = nullptr, | ||
| const char * | name = "", | ||
| int | name_tag = -1 ) |
Definition at line 289 of file deg_builder_nodes.cc.
References add_operation_node(), and find_operation_node().
Referenced by build_driver(), and build_driver_id_property().
| OperationNode * blender::deg::DepsgraphNodeBuilder::ensure_operation_node | ( | ID * | id, |
| NodeType | comp_type, | ||
| OperationCode | opcode, | ||
| const DepsEvalOperationCb & | op = nullptr, | ||
| const char * | name = "", | ||
| int | name_tag = -1 ) |
Definition at line 304 of file deg_builder_nodes.cc.
References add_operation_node(), and find_operation_node().
| ComponentNode * blender::deg::DepsgraphNodeBuilder::find_component_node | ( | const ID * | id, |
| NodeType | comp_type, | ||
| const char * | comp_name = "" ) |
Definition at line 234 of file deg_builder_nodes.cc.
References find_id_node(), and id_node.
Referenced by find_operation_node().
Definition at line 214 of file deg_builder_nodes.cc.
References blender::deg::Depsgraph::find_id_node(), and blender::deg::DepsgraphBuilder::graph_.
Referenced by build_collection(), build_object(), build_object_modifiers(), find_component_node(), and foreach_id_cow_detect_need_for_update_callback().
| OperationNode * blender::deg::DepsgraphNodeBuilder::find_operation_node | ( | const ID * | id, |
| NodeType | comp_type, | ||
| const char * | comp_name, | ||
| OperationCode | opcode, | ||
| const char * | name = "", | ||
| int | name_tag = -1 ) |
Definition at line 335 of file deg_builder_nodes.cc.
References find_component_node(), and blender::deg::ComponentNode::find_operation().
Referenced by ensure_operation_node(), ensure_operation_node(), find_operation_node(), find_operation_node(), has_operation_node(), has_operation_node(), and tag_previously_tagged_nodes().
| OperationNode * blender::deg::DepsgraphNodeBuilder::find_operation_node | ( | const ID * | id, |
| NodeType | comp_type, | ||
| OperationCode | opcode, | ||
| const char * | name = "", | ||
| int | name_tag = -1 ) |
Definition at line 349 of file deg_builder_nodes.cc.
References find_operation_node().
| OperationNode * blender::deg::DepsgraphNodeBuilder::find_operation_node | ( | const OperationKey & | key | ) |
Definition at line 355 of file deg_builder_nodes.cc.
References blender::deg::OperationKey::component_name, blender::deg::OperationKey::component_type, find_operation_node(), blender::deg::OperationKey::id, blender::deg::OperationKey::name, blender::deg::OperationKey::name_tag, and blender::deg::OperationKey::opcode.
| int blender::deg::DepsgraphNodeBuilder::foreach_id_cow_detect_need_for_update_callback | ( | ID * | id_cow_self, |
| ID * | id_pointer ) |
id_cow_self is the user of id_pointer, see also LibraryIDLinkCallbackData struct definition.
Definition at line 431 of file deg_builder_nodes.cc.
References blender::deg::DepsgraphBuilder::bmain_, blender::deg::DEG_UPDATE_SOURCE_RELATIONS, find_id_node(), blender::deg::DepsgraphBuilder::graph_, blender::deg::graph_id_tag_update(), id_node, ID_RECALC_SYNC_TO_EVAL, IDWALK_RET_NOP, IDWALK_RET_STOP_ITER, and ID::orig_id.
Referenced by blender::deg::foreach_id_cow_detect_need_for_update_callback().
|
inline |
Definition at line 78 of file deg_builder_nodes.h.
References get_cow_id().
Referenced by build_cachefile(), build_ik_pose(), build_light(), build_material(), build_object(), build_object_constraints(), build_object_data_geometry(), build_object_flags(), build_object_light_linking(), build_object_pointcache(), build_object_shading(), build_object_transform(), build_particle_settings(), build_particle_systems(), build_pose_constraints(), build_rig(), build_rigidbody(), build_scene_audio(), build_scene_sequencer(), build_sound(), build_splineik_pose(), build_view_layer(), and build_world().
Definition at line 361 of file deg_builder_nodes.cc.
References blender::deg::Depsgraph::get_cow_id(), and blender::deg::DepsgraphBuilder::graph_.
Referenced by build_animation_images(), build_animdata(), build_driver(), build_nodetree(), build_object_data_geometry_datablock(), build_parameters(), and get_cow_datablock().
|
inline |
Definition at line 84 of file deg_builder_nodes.h.
| bool blender::deg::DepsgraphNodeBuilder::has_operation_node | ( | ID * | id, |
| NodeType | comp_type, | ||
| const char * | comp_name, | ||
| OperationCode | opcode, | ||
| const char * | name = "", | ||
| int | name_tag = -1 ) |
Definition at line 318 of file deg_builder_nodes.cc.
References find_operation_node().
Referenced by build_ik_pose(), build_light_linking_collection(), and build_splineik_pose().
| bool blender::deg::DepsgraphNodeBuilder::has_operation_node | ( | ID * | id, |
| NodeType | comp_type, | ||
| OperationCode | opcode ) |
Definition at line 328 of file deg_builder_nodes.cc.
References find_operation_node().
|
staticprotected |
Definition at line 2317 of file deg_builder_nodes.cc.
References blender::deg::DEG_ID_LINKED_INDIRECTLY, GS, and ID_OB.
Referenced by build_object(), and build_object_modifiers().
|
protected |
Definition at line 534 of file deg_builder_nodes.cc.
References blender::deg::DEG_UPDATE_SOURCE_USER_EDIT, blender::deg::DEPSOP_FLAG_NEEDS_UPDATE, find_operation_node(), blender::deg::OperationNode::flag, blender::deg::DepsgraphBuilder::graph_, needs_update_operations_, saved_entry_tags_, and blender::deg::OperationNode::tag_update().
Referenced by end_build().
|
protected |
Check for IDs that need to be flushed (copy-on-eval-updated) because the depsgraph itself created or removed some of their evaluated dependencies.
Definition at line 484 of file deg_builder_nodes.cc.
References BKE_library_foreach_ID_link(), ELEM, blender::deg::foreach_id_cow_detect_need_for_update_callback(), blender::deg::DepsgraphBuilder::graph_, ID_FLAG_EMBEDDED_DATA, id_node, blender::deg::Depsgraph::id_nodes, ID_RECALC_SYNC_TO_EVAL, IDWALK_IGNORE_EMBEDDED_ID, and IDWALK_READONLY.
Referenced by end_build().
|
protected |
Definition at line 343 of file deg_builder_nodes.h.
Referenced by build_action(), build_armature(), build_cachefile(), build_camera(), build_collection(), build_freestyle_linestyle(), build_generic_id(), build_image(), build_light(), build_lightprobe(), build_mask(), build_material(), build_movieclip(), build_nodetree(), build_object(), build_object_data(), build_object_data_geometry_datablock(), build_particle_settings(), build_scene_audio(), build_scene_compositor(), build_scene_parameters(), build_scene_sequencer(), build_shapekeys(), build_sound(), build_speaker(), build_texture(), build_vfont(), and build_world().
Definition at line 339 of file deg_builder_nodes.h.
Referenced by add_id_node(), begin_build(), and ~DepsgraphNodeBuilder().
|
protected |
Definition at line 336 of file deg_builder_nodes.h.
Referenced by build_collection(), build_light_linking_collection(), build_object_instance_collection(), and build_object_modifiers().
|
protected |
Definition at line 306 of file deg_builder_nodes.h.
Referenced by begin_build(), and tag_previously_tagged_nodes().
|
protected |
Definition at line 305 of file deg_builder_nodes.h.
Referenced by begin_build(), and tag_previously_tagged_nodes().
|
protected |
Definition at line 328 of file deg_builder_nodes.h.
Referenced by build_driver_variables(), build_ik_pose(), build_object(), build_object_constraints(), build_object_data_geometry(), build_object_flags(), build_object_pointcache(), build_pose_constraints(), build_rig(), build_scene_render(), build_splineik_pose(), and build_view_layer().
|
protected |
Definition at line 329 of file deg_builder_nodes.h.
Referenced by build_scene_render(), and build_view_layer().
|
protected |
Definition at line 330 of file deg_builder_nodes.h.
Referenced by build_object_flags(), and build_view_layer().