|
Blender V5.0
|
#include <deg_builder_nodes.h>
Inherits blender::deg::DepsgraphBuilder.
Classes | |
| struct | IDInfo |
| struct | BuilderWalkUserData |
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_animdata_drivers (ID *id, AnimData *adt) |
| 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 () |
| DepsgraphBuilder (Main *bmain, Depsgraph *graph, DepsgraphBuilderCache *cache) | |
Static Protected Member Functions | |
| static void | modifier_walk (void *user_data, struct Object *object, struct ID **idpoin, LibraryForeachIDCallbackFlag 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 const char * | get_rna_path_relative_to_scene_camera (const Scene *scene, const PointerRNA &target_prop, const char *rna_path) |
Definition at line 68 of file deg_builder_nodes.h.
| blender::deg::DepsgraphNodeBuilder::DepsgraphNodeBuilder | ( | Main * | bmain, |
| Depsgraph * | graph, | ||
| DepsgraphBuilderCache * | cache ) |
Definition at line 127 of file deg_builder_nodes.cc.
References blender::deg::DepsgraphBuilder::DepsgraphBuilder(), is_parent_collection_visible_, nullptr, scene_, true, view_layer_, and view_layer_index_.
| blender::deg::DepsgraphNodeBuilder::~DepsgraphNodeBuilder | ( | ) |
Definition at line 138 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 222 of file deg_builder_nodes.cc.
References blender::deg::IDNode::add_component(), add_id_node(), and blender::deg::ComponentNode::owner.
Referenced by add_operation_node(), and build_particle_systems().
Definition at line 149 of file deg_builder_nodes.cc.
References blender::deg::IDNode::add_component(), blender::deg::ComponentNode::add_operation(), BLI_assert, blender::deg::IDNode::components, 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_OB, MAIN_ID_SESSION_UID_UNSET, ID::name, blender::deg::DepsgraphNodeBuilder::IDInfo::previous_customdata_masks, blender::deg::IDNode::previous_customdata_masks, blender::deg::DepsgraphNodeBuilder::IDInfo::previous_eval_flags, blender::deg::IDNode::previous_eval_flags, blender::deg::DepsgraphNodeBuilder::IDInfo::previously_visible_components_mask, blender::deg::IDNode::previously_visible_components_mask, ID::session_uid, 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 243 of file deg_builder_nodes.cc.
References blender::deg::ComponentNode::add_operation(), BLI_assert_msg, blender::deg::ComponentNode::find_operation(), blender::deg::DepsgraphBuilder::graph_, blender::deg::ComponentNode::identifier(), blender::deg::OperationNode::identifier(), and name.
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 265 of file deg_builder_nodes.cc.
References add_component_node(), add_operation_node(), and name.
| 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 277 of file deg_builder_nodes.cc.
References add_operation_node(), and name.
| TimeSourceNode * blender::deg::DepsgraphNodeBuilder::add_time_source | ( | ) |
Definition at line 217 of file deg_builder_nodes.cc.
References blender::deg::DepsgraphBuilder::graph_.
Referenced by build_scene_render(), and build_view_layer().
|
virtual |
Definition at line 376 of file deg_builder_nodes.cc.
References BLI_assert, blender::deg::IDNode::customdata_masks, blender::deg::deg_eval_copy_is_expanded(), blender::deg::deg_eval_copy_is_needed(), blender::deg::DEPSOP_FLAG_NEEDS_UPDATE, blender::deg::IDNode::eval_flags, blender::deg::OperationNode::flag, blender::deg::DepsgraphBuilder::graph_, blender::deg::DepsgraphNodeBuilder::IDInfo::id_cow, blender::deg::IDNode::id_cow, id_info_hash_, blender::deg::IDNode::id_orig, blender::deg::IDNode::id_orig_session_uid, blender::deg::IDNode::id_type, MEM_SAFE_FREE, needs_update_operations_, blender::deg::DepsgraphNodeBuilder::IDInfo::previous_customdata_masks, blender::deg::DepsgraphNodeBuilder::IDInfo::previous_eval_flags, blender::deg::DepsgraphNodeBuilder::IDInfo::previously_visible_components_mask, saved_entry_tags_, and blender::deg::IDNode::visible_components_mask.
|
virtual |
Definition at line 1312 of file deg_builder_nodes.cc.
References add_operation_node(), blender::deg::ANIMATION, blender::deg::ANIMATION_EVAL, build_idproperties(), build_parameters(), built_map_, bAction::id, ID::properties, and ID::system_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 1289 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, ID::name, 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 1237 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(), BKE_nlatrack_is_enabled(), BLI_listbase_is_empty(), build_action(), build_animation_images(), build_animdata_drivers(), build_animdata_nlastrip_targets(), depsgraph, 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().
Definition at line 1326 of file deg_builder_nodes.cc.
References BKE_animsys_eval_driver_unshare(), build_driver(), blender::deg::data_path_maybe_shared(), depsgraph, blender::deg::DRIVER_UNSHARE, AnimData::drivers, ensure_operation_node(), get_cow_id(), LISTBASE_FOREACH_INDEX, and blender::deg::PARAMETERS.
Referenced by build_animdata().
|
virtual |
Definition at line 1277 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 1878 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_, bArmature::id, ID::properties, and ID::system_properties.
Referenced by build_id(), and build_rig().
|
virtual |
Definition at line 1908 of file deg_builder_nodes.cc.
References build_idproperties().
Referenced by build_armature().
|
virtual |
Definition at line 1899 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 2152 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, depsgraph, blender::deg::FILE_CACHE_UPDATE, get_cow_datablock(), CacheFile::id, ID::properties, and ID::system_properties.
Referenced by build_id(), and build_view_layer().
|
virtual |
Definition at line 1917 of file deg_builder_nodes.cc.
References build_animdata(), build_idproperties(), build_object(), build_parameters(), built_map_, blender::deg::DEG_ID_LINKED_INDIRECTLY, Camera::dof, CameraDOFSettings::focus_object, Camera::id, ID::properties, and ID::system_properties.
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_, Collection::children, COLLECTION_HIDE_RENDER, COLLECTION_HIDE_VIEWPORT, DAG_EVAL_VIEWPORT, blender::deg::DEG_ID_LINKED_INDIRECTLY, find_id_node(), Collection::flag, blender::deg::GEOMETRY, blender::deg::GEOMETRY_EVAL_DONE, Collection::gobject, blender::deg::DepsgraphBuilder::graph_, blender::deg::HIERARCHY, Collection::id, blender::deg::IDNode::is_collection_fully_expanded, is_parent_collection_visible_, blender::deg::IDNode::is_visible_on_build, LISTBASE_FOREACH, ID::properties, and ID::system_properties.
Referenced by build_collection(), build_freestyle_lineset(), build_id(), build_layer_collections(), build_light_linking_collection(), build_nodetree(), build_object_instance_collection(), build_particle_systems(), and build_rigidbody().
|
virtual |
Definition at line 1486 of file deg_builder_nodes.cc.
References add_operation_node(), blender::deg::DIMENSIONS, Object::id, 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 1348 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_drivers().
|
virtual |
Definition at line 1421 of file deg_builder_nodes.cc.
References blender::deg::BONE, build_id(), ensure_operation_node(), blender::deg::ID_PROPERTY, bPoseChannel::name, blender::deg::PARAMETERS, ptr, RNA_path_resolve_full(), blender::deg::rna_prop_affects_parameters_node(), RNA_property_identifier(), and RNA_struct_is_a().
Referenced by build_driver_scene_camera_variable(), and build_driver_variables().
|
virtual |
Definition at line 1409 of file deg_builder_nodes.cc.
References build_driver_id_property(), Scene::camera, ELEM, LISTBASE_FOREACH, Scene::markers, and RNA_id_pointer_create().
Referenced by build_driver_variables().
|
virtual |
Definition at line 1369 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, DriverTargetContext::scene, scene_, ChannelDriver::variables, and DriverTargetContext::view_layer.
Referenced by build_driver().
|
virtual |
Definition at line 55 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 2212 of file deg_builder_nodes.cc.
References build_animdata(), build_idproperties(), build_nodetree(), build_parameters(), built_map_, FreestyleLineStyle::id, FreestyleLineStyle::nodetree, ID::properties, and ID::system_properties.
Referenced by build_freestyle_lineset(), and build_id().
|
virtual |
Definition at line 675 of file deg_builder_nodes.cc.
References build_animdata(), build_idproperties(), build_parameters(), built_map_, ID::properties, and ID::system_properties.
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_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, ID_WS, and ID::name.
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::strip_node_build_cb().
|
virtual |
IK Solver Eval Steps.
Definition at line 59 of file deg_builder_nodes_rig.cc.
References add_operation_node(), BKE_armature_ik_solver_find_root(), BLI_assert, BLI_findindex(), bPose::chanbase, bConstraint::data, data, depsgraph, blender::deg::EVAL_POSE, get_cow_datablock(), has_operation_node(), Object::id, bPoseChannel::name, Object::pose, blender::deg::POSE_IK_SOLVER, and scene_.
Referenced by build_rig().
|
virtual |
Definition at line 2140 of file deg_builder_nodes.cc.
References add_operation_node(), build_idproperties(), build_parameters(), built_map_, blender::deg::GENERIC_DATABLOCK, blender::deg::GENERIC_DATABLOCK_UPDATE, Image::id, ID::properties, and ID::system_properties.
Referenced by build_id(), build_nodetree(), and build_texture().
|
virtual |
Definition at line 39 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, and LISTBASE_FOREACH.
Referenced by build_layer_collections(), and build_view_layer().
|
virtual |
Definition at line 1931 of file deg_builder_nodes.cc.
References add_operation_node(), build_animdata(), build_idproperties(), build_nodetree(), build_parameters(), built_map_, depsgraph, get_cow_datablock(), Light::id, blender::deg::LIGHT_UPDATE, Light::nodetree, ID::properties, blender::deg::SHADING, and ID::system_properties.
Referenced by build_id(), and build_object_data_light().
|
virtual |
Definition at line 1190 of file deg_builder_nodes.cc.
References add_operation_node(), build_collection(), has_operation_node(), Collection::id, is_parent_collection_visible_, blender::deg::LIGHT_LINKING_UPDATE, and blender::deg::PARAMETERS.
Referenced by build_object_light_linking().
|
virtual |
Definition at line 2247 of file deg_builder_nodes.cc.
References add_operation_node(), build_animdata(), build_idproperties(), build_parameters(), built_map_, LightProbe::id, blender::deg::LIGHT_PROBE_EVAL, blender::deg::PARAMETERS, ID::properties, and ID::system_properties.
Referenced by build_id(), and build_object_data_lightprobe().
|
virtual |
Definition at line 2174 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_, depsgraph, ensure_cow_id(), i, MaskParent::id, LISTBASE_FOREACH, mask(), blender::deg::MASK_ANIMATION, blender::deg::MASK_EVAL, blender::deg::PARAMETERS, and MaskSplinePoint::parent.
Referenced by build_id(), build_nodetree(), and build_view_layer().
|
virtual |
Recursively build graph for material.
Definition at line 2079 of file deg_builder_nodes.cc.
References add_id_node(), add_operation_node(), build_animdata(), build_idproperties(), build_nodetree(), build_parameters(), built_map_, depsgraph, get_cow_datablock(), Material::id, blender::deg::MATERIAL_UPDATE, Material::nodetree, ID::properties, blender::deg::SHADING, and ID::system_properties.
Referenced by build_id(), build_materials(), build_nodetree(), and build_view_layer().
|
virtual |
Definition at line 2102 of file deg_builder_nodes.cc.
References build_material(), and i.
Referenced by build_object_data(), and build_object_data_geometry().
|
virtual |
Definition at line 2226 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_, depsgraph, ensure_cow_id(), MovieClip::id, blender::deg::MOVIECLIP_EVAL, blender::deg::PARAMETERS, ID::properties, and ID::system_properties.
Referenced by build_id(), build_nodetree(), and build_view_layer().
|
virtual |
Definition at line 1971 of file deg_builder_nodes.cc.
References add_id_node(), add_operation_node(), build_animdata(), build_collection(), 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::DEG_ID_LINKED_INDIRECTLY, get_cow_id(), GS, bNodeTree::id, ID_GR, ID_IM, ID_MA, ID_MC, ID_MSK, ID_OB, ID_SCE, ID_TE, ID_TXT, ID_VF, LISTBASE_FOREACH, ID::name, NTREE_GEOMETRY, blender::deg::NTREE_GEOMETRY_PREPROCESS, blender::deg::NTREE_OUTPUT, ID::properties, ID::system_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(), build_world(), and blender::deg::strip_node_build_cb().
|
virtual |
Definition at line 1950 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 753 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(), built_map_, constraint_walk(), Object::constraints, data, blender::deg::DEG_ID_LINKED_INDIRECTLY, depsgraph, blender::deg::DEPSOP_FLAG_PINNED, find_id_node(), ListBase::first, blender::deg::OperationNode::flag, PartDeflect::forcefield, get_cow_datablock(), Object::greasepencil_modifiers, blender::deg::IDNode::has_base, blender::deg::HIERARCHY, Object::id, IDWALK_NOP, blender::deg::INSTANCE, Object::instance_collection, blender::deg::INSTANCE_GEOMETRY, blender::deg::INSTANCER, blender::deg::INSTANCING, blender::deg::IDNode::is_visible_on_build, blender::deg::IDNode::linked_state, modifier_walk(), Object::parent, Object::particlesystem, Object::pd, PFIELD_TEXTURE, ID::properties, scene_, Object::shader_fx, blender::deg::SYNCHRONIZATION, blender::deg::SYNCHRONIZE_TO_ORIGINAL, ID::system_properties, and PartDeflect::tex.
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 1141 of file deg_builder_nodes.cc.
References add_operation_node(), depsgraph, get_cow_datablock(), Object::id, scene_, blender::deg::TRANSFORM, and blender::deg::TRANSFORM_CONSTRAINTS.
Referenced by build_object_transform().
|
virtual |
Definition at line 989 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_, Object::data, OB_ARMATURE, OB_CAMERA, OB_CURVES, OB_CURVES_LEGACY, OB_FONT, OB_GREASE_PENCIL, OB_LAMP, OB_LATTICE, OB_LIGHTPROBE, OB_MBALL, OB_MESH, OB_POINTCLOUD, OB_SPEAKER, OB_SURF, OB_VOLUME, and Object::type.
Referenced by build_object().
|
virtual |
Definition at line 1041 of file deg_builder_nodes.cc.
References build_camera(), and Object::data.
Referenced by build_object_data().
|
virtual |
Definition at line 1720 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(), Object::data, depsgraph, blender::deg::GEOMETRY, blender::deg::GEOMETRY_EVAL, blender::deg::GEOMETRY_EVAL_INIT, blender::deg::GEOMETRY_SELECT_UPDATE, get_cow_datablock(), Object::id, Object::mat, scene_, blender::deg::OperationNode::set_as_entry(), blender::deg::OperationNode::set_as_exit(), and Object::totcol.
Referenced by build_object_data(), and build_object_data_grease_pencil().
|
virtual |
Definition at line 1752 of file deg_builder_nodes.cc.
References add_id_node(), add_operation_node(), blender::deg::BATCH_CACHE, Curve::bevobj, BKE_curve_eval_geometry(), BKE_grease_pencil_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::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, ID::system_properties, Curve::taperobj, and Curve::textoncurve.
Referenced by build_id(), and build_object_data_geometry().
|
virtual |
Definition at line 1060 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 1047 of file deg_builder_nodes.cc.
References build_light(), and Object::data.
Referenced by build_object_data().
|
virtual |
Definition at line 1053 of file deg_builder_nodes.cc.
References add_operation_node(), build_lightprobe(), Object::data, Object::id, blender::deg::LIGHT_PROBE_EVAL, and blender::deg::PARAMETERS.
Referenced by build_object_data().
|
virtual |
Definition at line 1074 of file deg_builder_nodes.cc.
References add_operation_node(), blender::deg::AUDIO, build_speaker(), Object::data, Object::id, and blender::deg::SPEAKER_EVAL.
Referenced by build_object_data().
|
virtual |
Definition at line 894 of file deg_builder_nodes.cc.
References add_operation_node(), blender::deg::DEG_ID_LINKED_VIA_SET, depsgraph, get_cow_datablock(), Object::id, 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 879 of file deg_builder_nodes.cc.
References add_operation_node(), build_object_flags(), Object::id, 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 916 of file deg_builder_nodes.cc.
References build_collection(), Object::instance_collection, and is_parent_collection_visible_.
Referenced by build_object().
|
virtual |
Definition at line 1169 of file deg_builder_nodes.cc.
References add_operation_node(), LightLinking::blocker_collection, build_light_linking_collection(), depsgraph, get_cow_datablock(), blender::deg::DepsgraphBuilder::graph_, Object::id, Object::light_linking, blender::deg::LIGHT_LINKING_UPDATE, LightLinking::receiver_collection, and blender::deg::SHADING.
Referenced by build_object().
|
virtual |
Definition at line 927 of file deg_builder_nodes.cc.
References add_operation_node(), BKE_modifiers_foreach_ID_link(), BLI_findlink(), BLI_listbase_is_empty(), 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_, Object::id, blender::deg::IDNode::id_cow, blender::deg::DepsgraphBuilder::is_modifier_visibility_animated(), is_parent_collection_visible_, LISTBASE_FOREACH_INDEX, blender::deg::MODIFIER, modifier_walk(), Object::modifiers, SET_FLAG_FROM_TEST, and blender::deg::VISIBILITY.
Referenced by build_object().
|
virtual |
Definition at line 1154 of file deg_builder_nodes.cc.
References add_operation_node(), BKE_ptcache_object_has(), depsgraph, get_cow_datablock(), Object::id, blender::deg::POINT_CACHE, blender::deg::POINT_CACHE_RESET, and scene_.
Referenced by build_object_data_geometry().
|
virtual |
Definition at line 1223 of file deg_builder_nodes.cc.
References add_operation_node(), depsgraph, get_cow_datablock(), Object::id, blender::deg::OperationNode::set_as_exit(), blender::deg::SHADING, and blender::deg::SHADING_DONE.
Referenced by build_object().
|
virtual |
Definition at line 1081 of file deg_builder_nodes.cc.
References add_operation_node(), build_object_constraints(), Object::constraints, depsgraph, ListBase::first, get_cow_datablock(), Object::id, Object::parent, 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 1460 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, ID::name, 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_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_vfont(), and build_world().
|
virtual |
Definition at line 1664 of file deg_builder_nodes.cc.
References add_id_node(), add_operation_node(), build_animdata(), build_parameters(), build_texture(), built_map_, 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(), blender::deg::OperationNode::set_as_exit(), and MTex::tex.
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 1603 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(), Object::id, ParticleSettings::instance_collection, ParticleSettings::instance_object, LISTBASE_FOREACH, 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, Object::particlesystem, ParticleSettings::phystype, ParticleSettings::ren_as, blender::deg::OperationNode::set_as_entry(), and blender::deg::OperationNode::set_as_exit().
Referenced by build_object().
|
virtual |
Definition at line 37 of file deg_builder_nodes_rig.cc.
References add_operation_node(), BKE_constraints_id_loop(), blender::deg::BONE, blender::deg::BONE_CONSTRAINTS, constraint_walk(), bPoseChannel::constraints, data, depsgraph, get_cow_datablock(), Object::id, 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 124 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(), bPose::chanbase, blender::deg::DepsgraphBuilder::check_pchan_has_bbone(), CONSTRAINT_TYPE_KINEMATIC, CONSTRAINT_TYPE_SPLINEIK, Object::data, blender::deg::DEG_ID_LINKED_INDIRECTLY, depsgraph, blender::deg::EVAL_POSE, bPose::flag, get_cow_datablock(), Object::id, LISTBASE_FOREACH, blender::deg::PARAMETERS, blender::deg::PARAMETERS_EVAL, Object::pose, 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 1516 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, Scene::id, 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, Scene::rigidbody_world, 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 2361 of file deg_builder_nodes.cc.
References add_operation_node(), blender::deg::AUDIO, blender::deg::AUDIO_ENTRY, blender::deg::AUDIO_VOLUME, built_map_, depsgraph, get_cow_datablock(), Scene::id, 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 39 of file deg_builder_nodes_scene.cc.
References build_object(), Scene::camera, blender::deg::DEG_ID_LINKED_INDIRECTLY, ELEM, LISTBASE_FOREACH, and Scene::markers.
Referenced by build_scene_render(), and build_view_layer().
|
virtual |
Definition at line 79 of file deg_builder_nodes_scene.cc.
References build_nodetree(), built_map_, Scene::compositing_node_group, and blender::deg::BuilderMap::TAG_SCENE_COMPOSITOR.
Referenced by build_scene_parameters(), build_scene_render(), and build_view_layer().
|
virtual |
Definition at line 51 of file deg_builder_nodes_scene.cc.
References add_operation_node(), build_idproperties(), build_parameters(), build_scene_compositor(), built_map_, Scene::id, LISTBASE_FOREACH, Scene::markers, ID::properties, blender::deg::SCENE, blender::deg::SCENE_EVAL, ID::system_properties, and blender::deg::BuilderMap::TAG_PARAMETERS.
Referenced by build_id(), build_nodetree(), build_scene_render(), build_view_layer(), and blender::deg::strip_node_build_cb().
|
virtual |
Definition at line 17 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, Scene::id, blender::deg::IDNode::linked_state, Scene::r, R_DOCOMP, R_DOSEQ, RenderData::scemode, scene_, and view_layer_.
Referenced by blender::deg::CompositorBuilderPipeline::build_nodes(), and blender::deg::RenderBuilderPipeline::build_nodes().
|
virtual |
Definition at line 2341 of file deg_builder_nodes.cc.
References add_operation_node(), build_scene_audio(), built_map_, depsgraph, Scene::ed, blender::seq::foreach_strip(), get_cow_datablock(), Scene::id, Editing::seqbase, blender::deg::SEQUENCER, blender::deg::SEQUENCES_EVAL, blender::deg::strip_node_build_cb(), and blender::deg::BuilderMap::TAG_SCENE_SEQUENCER.
Referenced by build_scene_render(), build_view_layer(), and blender::deg::strip_node_build_cb().
|
virtual |
Definition at line 2382 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(), OB_SPEAKER, and Object::type.
Referenced by build_scene_render(), and blender::deg::strip_node_build_cb().
|
virtual |
Shape-keys.
Definition at line 1698 of file deg_builder_nodes.cc.
References add_operation_node(), Key::block, build_animdata(), build_idproperties(), build_parameters(), built_map_, blender::deg::GEOMETRY, blender::deg::GEOMETRY_SHAPEKEY, Key::id, LISTBASE_FOREACH, blender::deg::PARAMETERS, blender::deg::PARAMETERS_EVAL, ID::properties, and ID::system_properties.
Referenced by build_id(), and build_object_data_geometry_datablock().
|
virtual |
Definition at line 2276 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_, depsgraph, get_cow_datablock(), bSound::id, ID::properties, blender::deg::SOUND_EVAL, and ID::system_properties.
Referenced by build_id(), build_speaker(), and blender::deg::strip_node_build_cb().
|
virtual |
Definition at line 2260 of file deg_builder_nodes.cc.
References add_operation_node(), blender::deg::AUDIO, build_animdata(), build_idproperties(), build_parameters(), build_sound(), built_map_, Speaker::id, ID::properties, Speaker::sound, blender::deg::SPEAKER_EVAL, and ID::system_properties.
Referenced by build_id(), and build_object_data_speaker().
|
virtual |
Spline IK Eval Steps.
Definition at line 90 of file deg_builder_nodes_rig.cc.
References add_operation_node(), BKE_armature_splineik_solver_find_root(), BLI_assert, BLI_findindex(), bPose::chanbase, bConstraint::data, data, depsgraph, blender::deg::EVAL_POSE, get_cow_datablock(), has_operation_node(), Object::id, bPoseChannel::name, Object::pose, blender::deg::POSE_SPLINE_IK_SOLVER, and scene_.
Referenced by build_rig().
|
virtual |
Recursively build graph for texture.
Definition at line 2112 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_, depsgraph, blender::deg::GENERIC_DATABLOCK, blender::deg::GENERIC_DATABLOCK_UPDATE, get_cow_datablock(), TEX_IMAGE, and texture().
Referenced by build_id(), build_nodetree(), build_object(), and build_particle_settings().
|
virtual |
Definition at line 2295 of file deg_builder_nodes.cc.
References add_operation_node(), build_idproperties(), build_parameters(), built_map_, blender::deg::GENERIC_DATABLOCK, blender::deg::GENERIC_DATABLOCK_UPDATE, VFont::id, ID::properties, and ID::system_properties.
Referenced by build_nodetree().
|
virtual |
Definition at line 65 of file deg_builder_nodes_view_layer.cc.
References add_id_node(), add_operation_node(), add_time_source(), Scene::adt, 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(), 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::HIERARCHY, Scene::id, blender::deg::DepsgraphBuilder::is_object_visibility_animated(), blender::deg::LAYER_COLLECTIONS, ViewLayer::layer_collections, FreestyleConfig::linesets, blender::deg::IDNode::linked_state, LISTBASE_FOREACH, mask(), ViewLayer::mat_override, blender::deg::DepsgraphBuilder::need_pull_base_into_graph(), Scene::rigidbody_world, scene_, Scene::set, view_layer_, blender::deg::VIEW_LAYER_EVAL, view_layer_index_, Scene::world, 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 1492 of file deg_builder_nodes.cc.
References add_id_node(), add_operation_node(), build_animdata(), build_idproperties(), build_nodetree(), build_parameters(), built_map_, depsgraph, get_cow_datablock(), World::id, World::nodetree, ID::properties, blender::deg::SHADING, ID::system_properties, and blender::deg::WORLD_UPDATE.
Referenced by build_id(), and build_view_layer().
|
staticprotected |
Definition at line 2417 of file deg_builder_nodes.cc.
References data, blender::deg::DEG_ID_LINKED_INDIRECTLY, GS, ID_OB, and ID::name.
Referenced by build_object(), and build_pose_constraints().
|
virtual |
Definition at line 558 of file deg_builder_nodes.cc.
References blender::deg::DepsgraphBuilder::graph_, tag_previously_tagged_nodes(), and update_invalid_cow_pointers().
Definition at line 364 of file deg_builder_nodes.cc.
References add_id_node(), blender::deg::IDNode::id_cow, 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 287 of file deg_builder_nodes.cc.
References add_operation_node(), find_operation_node(), and name.
Referenced by build_animdata_drivers(), 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 302 of file deg_builder_nodes.cc.
References add_operation_node(), find_operation_node(), and name.
| ComponentNode * blender::deg::DepsgraphNodeBuilder::find_component_node | ( | const ID * | id, |
| NodeType | comp_type, | ||
| const char * | comp_name = "" ) |
Definition at line 232 of file deg_builder_nodes.cc.
References blender::deg::IDNode::find_component(), and find_id_node().
Referenced by find_operation_node().
Definition at line 212 of file deg_builder_nodes.cc.
References 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 333 of file deg_builder_nodes.cc.
References find_component_node(), blender::deg::ComponentNode::find_operation(), and name.
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 347 of file deg_builder_nodes.cc.
References find_operation_node(), and name.
| OperationNode * blender::deg::DepsgraphNodeBuilder::find_operation_node | ( | const OperationKey & | key | ) |
Definition at line 353 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 430 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(), blender::deg::IDNode::id_cow, 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 80 of file deg_builder_nodes.h.
References get_cow_id(), and T.
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_texture(), build_view_layer(), and build_world().
Definition at line 359 of file deg_builder_nodes.cc.
References blender::deg::DepsgraphBuilder::graph_.
Referenced by build_animation_images(), build_animdata(), build_animdata_drivers(), build_driver(), build_nodetree(), build_object_data_geometry_datablock(), build_parameters(), and get_cow_datablock().
|
inline |
Definition at line 86 of file deg_builder_nodes.h.
References T.
| 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 316 of file deg_builder_nodes.cc.
References find_operation_node(), and name.
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 326 of file deg_builder_nodes.cc.
References find_operation_node().
|
staticprotected |
Definition at line 2397 of file deg_builder_nodes.cc.
References data, blender::deg::DEG_ID_LINKED_INDIRECTLY, GS, ID_OB, and ID::name.
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 483 of file deg_builder_nodes.cc.
References BKE_library_foreach_ID_link(), blender::deg::deg_eval_copy_is_expanded(), ELEM, ID::flag, blender::deg::foreach_id_cow_detect_need_for_update_callback(), blender::deg::DepsgraphBuilder::graph_, blender::deg::IDNode::id_cow, ID_FLAG_EMBEDDED_DATA, blender::deg::IDNode::id_orig, ID_RECALC_SYNC_TO_EVAL, IDWALK_IGNORE_EMBEDDED_ID, IDWALK_READONLY, and ID::recalc.
Referenced by end_build().
|
protected |
Definition at line 346 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 342 of file deg_builder_nodes.h.
Referenced by add_id_node(), begin_build(), and ~DepsgraphNodeBuilder().
|
protected |
Definition at line 339 of file deg_builder_nodes.h.
Referenced by build_collection(), build_light_linking_collection(), build_object_instance_collection(), build_object_modifiers(), and DepsgraphNodeBuilder().
|
protected |
Definition at line 309 of file deg_builder_nodes.h.
Referenced by begin_build(), and tag_previously_tagged_nodes().
|
protected |
Definition at line 308 of file deg_builder_nodes.h.
Referenced by begin_build(), and tag_previously_tagged_nodes().
|
protected |
Definition at line 331 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(), build_view_layer(), and DepsgraphNodeBuilder().
|
protected |
Definition at line 332 of file deg_builder_nodes.h.
Referenced by build_scene_render(), build_view_layer(), and DepsgraphNodeBuilder().
|
protected |
Definition at line 333 of file deg_builder_nodes.h.
Referenced by build_object_flags(), build_view_layer(), and DepsgraphNodeBuilder().