Blender V2.61 - r43446
Functions | Variables

depsgraph.c File Reference

#include <stdio.h>
#include <string.h>
#include <math.h>
#include "MEM_guardedalloc.h"
#include "BLI_winstuff.h"
#include "BLI_utildefines.h"
#include "BLI_listbase.h"
#include "BLI_ghash.h"
#include "DNA_anim_types.h"
#include "DNA_camera_types.h"
#include "DNA_group_types.h"
#include "DNA_lattice_types.h"
#include "DNA_key_types.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_node_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_windowmanager_types.h"
#include "DNA_movieclip_types.h"
#include "BKE_animsys.h"
#include "BKE_action.h"
#include "BKE_effect.h"
#include "BKE_fcurve.h"
#include "BKE_global.h"
#include "BKE_group.h"
#include "BKE_key.h"
#include "BKE_library.h"
#include "BKE_main.h"
#include "BKE_node.h"
#include "BKE_mball.h"
#include "BKE_modifier.h"
#include "BKE_object.h"
#include "BKE_particle.h"
#include "BKE_pointcache.h"
#include "BKE_scene.h"
#include "BKE_screen.h"
#include "BKE_utildefines.h"
#include "depsgraph_private.h"

Go to the source code of this file.

Functions

DagNodeQueuequeue_create (int slots)
void queue_raz (DagNodeQueue *queue)
void queue_delete (DagNodeQueue *queue)
void push_queue (DagNodeQueue *queue, DagNode *node)
void push_stack (DagNodeQueue *queue, DagNode *node)
DagNodepop_queue (DagNodeQueue *queue)
void * pop_ob_queue (struct DagNodeQueue *queue)
DagNodeget_top_node_queue (DagNodeQueue *queue)
int queue_count (struct DagNodeQueue *queue)
DagForestdag_init (void)
static void dag_add_driver_relation (AnimData *adt, DagForest *dag, DagNode *node, int isdata)
static void dag_add_collision_field_relation (DagForest *dag, Scene *scene, Object *ob, DagNode *node)
static void build_dag_object (DagForest *dag, DagNode *scenenode, Scene *scene, Object *ob, int mask)
struct DagForestbuild_dag (Main *bmain, Scene *sce, short mask)
void free_forest (DagForest *Dag)
DagNodedag_find_node (DagForest *forest, void *fob)
DagNodedag_add_node (DagForest *forest, void *fob)
DagNodedag_get_node (DagForest *forest, void *fob)
DagNodedag_get_sub_node (DagForest *forest, void *fob)
static void dag_add_parent_relation (DagForest *UNUSED(forest), DagNode *fob1, DagNode *fob2, short rel, const char *name)
void dag_add_relation (DagForest *forest, DagNode *fob1, DagNode *fob2, short rel, const char *name)
static const char * dag_node_name (DagNode *node)
static void dag_node_print_dependencies (DagNode *node)
static int dag_node_print_dependency_recurs (DagNode *node, DagNode *endnode)
static void dag_node_print_dependency_cycle (DagForest *dag, DagNode *startnode, DagNode *endnode, const char *name)
static int dag_node_recurs_level (DagNode *node, int level)
static void dag_check_cycle (DagForest *dag)
DagForestgetMainDag (void)
void setMainDag (DagForest *dag)
void graph_bfs (void)
int pre_and_post_BFS (DagForest *dag, short mask, graph_action_func pre_func, graph_action_func post_func, void **data)
int pre_and_post_source_BFS (DagForest *dag, short mask, DagNode *source, graph_action_func pre_func, graph_action_func post_func, void **data)
DagNodeQueuegraph_dfs (void)
int pre_and_post_DFS (DagForest *dag, short mask, graph_action_func pre_func, graph_action_func post_func, void **data)
int pre_and_post_source_DFS (DagForest *dag, short mask, DagNode *source, graph_action_func pre_func, graph_action_func post_func, void **data)
struct DagNodeQueueget_obparents (struct DagForest *dag, void *ob)
struct DagNodeQueueget_first_ancestors (struct DagForest *dag, void *ob)
struct DagNodeQueueget_all_childs (struct DagForest *dag, void *ob)
short are_obs_related (struct DagForest *dag, void *ob1, void *ob2)
int is_acyclic (DagForest *dag)
void set_node_xy (DagNode *node, float x, float y)
void graph_print_queue (DagNodeQueue *nqueue)
void graph_print_queue_dist (DagNodeQueue *nqueue)
void graph_print_adj_list (void)
void DAG_editors_update_cb (void(*id_func)(Main *bmain, ID *id), void(*scene_func)(Main *bmain, Scene *scene, int updated))
static void dag_editors_id_update (Main *bmain, ID *id)
static void dag_editors_scene_update (Main *bmain, Scene *scene, int updated)
static void scene_sort_groups (Main *bmain, Scene *sce)
void DAG_scene_sort (Main *bmain, Scene *sce)
static void lib_id_recalc_tag (Main *bmain, ID *id)
static void lib_id_recalc_data_tag (Main *bmain, ID *id)
static void flush_update_node (DagNode *node, unsigned int layer, int curtime)
static unsigned int flush_layer_node (Scene *sce, DagNode *node, int curtime)
static void flush_pointcache_reset (Scene *scene, DagNode *node, int curtime, int reset)
static void dag_scene_flush_layers (Scene *sce, int lay)
static void dag_tag_renderlayers (Scene *sce, unsigned int lay)
void DAG_scene_flush_update (Main *bmain, Scene *sce, unsigned int lay, const short time)
static int object_modifiers_use_time (Object *ob)
static short animdata_use_time (AnimData *adt)
static void dag_object_time_update_flags (Object *ob)
void DAG_scene_update_flags (Main *bmain, Scene *scene, unsigned int lay, const short do_time)
static void dag_current_scene_layers (Main *bmain, Scene **sce, unsigned int *lay)
void DAG_ids_flush_update (Main *bmain, int time)
void DAG_on_visible_update (Main *bmain, const short do_time)
static void dag_id_flush_update__isDependentTexture (void *userData, Object *UNUSED(ob), ID **idpoin)
static void dag_id_flush_update (Scene *sce, ID *id)
void DAG_ids_flush_tagged (Main *bmain)
void DAG_ids_check_recalc (Main *bmain, Scene *scene, int time)
void DAG_ids_clear_recalc (Main *bmain)
void DAG_id_tag_update (ID *id, short flag)
void DAG_id_type_tag (struct Main *bmain, short idtype)
int DAG_id_type_tagged (Main *bmain, short idtype)
void DAG_pose_sort (Object *ob)
void DAG_print_dependencies (Main *bmain, Scene *scene, Object *ob)

Variables

static int ugly_hack_sorry = 1
static int dag_print_dependencies = 0
static DagForestMainDag = NULL
static void(* EditorsUpdateIDCb )(Main *bmain, ID *id) = NULL
static void(* EditorsUpdateSceneCb )(Main *bmain, Scene *scene, int updated) = NULL

Detailed Description

Definition in file depsgraph.c.


Function Documentation

static short animdata_use_time ( AnimData adt) [static]
short are_obs_related ( struct DagForest dag,
void *  ob1,
void *  ob2 
)
struct DagForest* build_dag ( Main bmain,
Scene sce,
short  mask 
) [read]
static void build_dag_object ( DagForest dag,
DagNode scenenode,
Scene scene,
Object ob,
int  mask 
) [static]

Definition at line 360 of file depsgraph.c.

References Key::adt, Object::adt, DagNode::ancestor_count, Curve::bevobj, BKE_animdata_from_id(), BLI_findlink(), ParticleSettings::boids, Scene::camera, CD_MASK_MDEFORMVERT, CD_MASK_ORIGINDEX, bPose::chanbase, bFollowTrackConstraint::clip, constraint_get_typeinfo(), CONSTRAINT_TYPE_CAMERASOLVER, CONSTRAINT_TYPE_CLAMPTO, CONSTRAINT_TYPE_FOLLOWPATH, CONSTRAINT_TYPE_FOLLOWTRACK, CONSTRAINT_TYPE_OBJECTSOLVER, CONSTRAINT_TYPE_SPLINEIK, bPoseChannel::constraints, Object::constraints, CU_PATH, DagNode::customdata_mask, dag_add_collision_field_relation(), dag_add_driver_relation(), dag_add_relation(), dag_get_node(), DAG_RL_DATA, DAG_RL_DATA_DATA, DAG_RL_DATA_OB, DAG_RL_OB_DATA, DAG_RL_OB_OB, DAG_RL_SCENE, Object::data, data, bConstraint::data, bFollowTrackConstraint::depth_ob, Camera::dof_ob, Object::dup_group, ParticleSettings::dup_group, ParticleSettings::dup_ob, eBoidRuleType_Avoid, eBoidRuleType_FollowLeader, ParticleSettings::effector_weights, ELEM, ELEM3, find_basis_mball(), ListBase::first, DagNode::first_ancestor, bFollowTrackConstraint::flag, Curve::flag, bConstraintTypeInfo::flush_constraint_targets, FOLLOWTRACK_ACTIVECLIP, bConstraintTypeInfo::get_constraint_targets, Group::gobject, if(), bActionStrip::modifiers, Object::modifiers, modifiers_isClothEnabled(), modifiers_isSoftbodyEnabled(), modifierType_getInfo(), mti, bConstraintTypeInfo::name, bPoseChannel::next, ParticleTarget::next, ModifierData::next, GroupObject::next, bConstraint::next, ParticleSystem::next, bConstraintTarget::next, bActionModifier::next, bActionStrip::next, BoidState::next, BoidRule::next, EffectorCache::next, NULL, EffectorCache::ob, GroupObject::ob, bActionModifier::ob, ParticleTarget::ob, OB_ARMATURE, OB_CAMERA, OB_CURVE, OB_DUPLI, OB_DUPLIGROUP, OB_DUPLIVERTS, OB_FONT, ob_get_key(), OB_LATTICE, OB_MBALL, OB_MESH, PARBONE, Object::parent, PARSKEL, ParticleSystem::part, PART_DRAW_GR, PART_DRAW_OB, PART_PHYS_BOIDS, PART_PHYS_KEYED, Object::particlesystem, Object::partype, PARVERT1, PARVERT3, pdEndEffectors(), pdInitEffectors(), ParticleSettings::phystype, Object::pose, Object::proxy, ParticleTarget::psys, EffectorCache::psys, psys_check_enabled(), ParticleSettings::ren_as, BoidState::rules, state, BoidSettings::states, io_export_cycles_xml::strip(), bConstraintTarget::subtarget, Curve::taperobj, bConstraintTarget::tar, ParticleSystem::targets, Curve::textoncurve, bFollowTrackConstraint::track, Object::transflag, bConstraint::type, Object::type, ModifierData::type, BoidRule::type, bConstraintTypeInfo::type, and ModifierTypeInfo::updateDepgraph.

Referenced by build_dag().

static void dag_add_collision_field_relation ( DagForest dag,
Scene scene,
Object ob,
DagNode node 
) [static]
static void dag_add_driver_relation ( AnimData adt,
DagForest dag,
DagNode node,
int  isdata 
) [static]
DagNode* dag_add_node ( DagForest forest,
void *  fob 
)
static void dag_add_parent_relation ( DagForest UNUSEDforest,
DagNode fob1,
DagNode fob2,
short  rel,
const char *  name 
) [static]
void dag_add_relation ( DagForest forest,
DagNode fob1,
DagNode fob2,
short  rel,
const char *  name 
)
static void dag_check_cycle ( DagForest dag) [static]
static void dag_current_scene_layers ( Main bmain,
Scene **  sce,
unsigned int *  lay 
) [static]
static void dag_editors_id_update ( Main bmain,
ID id 
) [static]

Definition at line 1664 of file depsgraph.c.

References EditorsUpdateIDCb.

Referenced by dag_id_flush_update().

static void dag_editors_scene_update ( Main bmain,
Scene scene,
int  updated 
) [static]

Definition at line 1670 of file depsgraph.c.

References EditorsUpdateSceneCb.

Referenced by DAG_ids_check_recalc().

void DAG_editors_update_cb ( void(*)(Main *bmain, ID *id)  id_func,
void(*)(Main *bmain, Scene *scene, int updated)  scene_func 
)

Definition at line 1658 of file depsgraph.c.

References EditorsUpdateIDCb, and EditorsUpdateSceneCb.

DagNode* dag_find_node ( DagForest forest,
void *  fob 
)
DagNode* dag_get_node ( DagForest forest,
void *  fob 
)
DagNode* dag_get_sub_node ( DagForest forest,
void *  fob 
)
static void dag_id_flush_update ( Scene sce,
ID id 
) [static]
static void dag_id_flush_update__isDependentTexture ( void *  userData,
Object UNUSEDob,
ID **  idpoin 
) [static]

Definition at line 2456 of file depsgraph.c.

References data, GS, and ID_TE.

Referenced by dag_id_flush_update().

void DAG_id_tag_update ( ID id,
short  flag 
)

Definition at line 2687 of file depsgraph.c.

References ListBase::first, G, GS, ParticleSettings::id, Object::id, ID_OB, ID_PA, lib_id_recalc_data_tag(), lib_id_recalc_tag(), ID::name, ParticleSystem::next, ID::next, NULL, OB_RECALC_ALL, OB_RECALC_DATA, OB_RECALC_OB, Main::object, ParticleSystem::part, Object::particlesystem, PSYS_RECALC, ParticleSystem::recalc, and Object::recalc.

Referenced by addedgeface_mesh_exec(), addvert_Nurb(), ANIM_id_update(), ANIM_list_elem_update(), apply_objects_internal(), armature_autoside_names_exec(), armature_flip_names_exec(), average_islands_scale_exec(), beautify_fill_exec(), BKE_ptcache_set_continue_physics(), blend_from_shape_exec(), brush_edit_apply(), clear_edited_exec(), clear_fgon_exec(), clear_solution_exec(), clear_tilt_exec(), clip_delete_track(), connect_hair_exec(), constraint_add_exec(), convert_exec(), createRepresentation(), cube_project_exec(), curvesurf_prim_add(), cylinder_project_exec(), delete_exec(), delete_mesh_exec(), delete_metaelems_exec(), disable_markers_exec(), disconnect_hair_exec(), do_constraint_panels(), do_set_scale(), do_view3d_region_buttons(), do_view3d_vgroup_buttons(), dupli_extrude_cursor(), duplicate_exec(), duplicate_metaelems_exec(), ED_armature_from_edit(), ED_do_pose_selectbuffer(), ED_mesh_color_add(), ED_mesh_color_remove(), ED_mesh_color_remove_named(), ED_mesh_update(), ED_mesh_uv_texture_add(), ED_mesh_uv_texture_remove(), ED_node_changed_update(), ED_object_constraint_update(), ED_object_enter_editmode(), ED_object_exit_editmode(), ED_object_modifier_add(), ED_object_modifier_clear(), ED_object_modifier_remove(), ED_object_shape_key_remove(), ED_uvedit_assign_image(), ED_view3d_camera_lock_sync(), edge_flip_exec(), edge_rotate_selected(), editmesh_mark_seam(), editmesh_mark_sharp(), EM_automerge(), explode_refresh_exec(), extrude_exec(), extrude_mesh(), extrude_repeat_mesh_exec(), fill_mesh_exec(), flip_normals(), flyEnd(), hide_exec(), hide_metaelems_exec(), image_aspect(), insert_lorem_exec(), join_mesh_exec(), knife_cut_exec(), make_fgon_exec(), make_object_duplilist_real(), make_prim_ext(), make_proxy_exec(), make_regular_exec(), make_segment_exec(), make_vertexcol(), marker_block_handler(), material_slot_assign_exec(), material_slot_remove_exec(), merge_exec(), merge_nurb(), mesh_duplicate_exec(), mesh_extrude_exec(), mesh_extrude_invoke(), mesh_faces_shade_flat_exec(), mesh_faces_shade_smooth_exec(), mesh_mirror_colors(), mesh_mirror_uvs(), mesh_noise_exec(), mesh_rip_invoke(), mesh_rotate_colors(), mesh_rotate_uvs(), mesh_select_nth_exec(), mesh_separate_selected(), meshdeform_bind_exec(), minimize_stretch_exit(), minimize_stretch_iteration(), mirror_exec(), modifier_apply_exec(), modifier_apply_obdata(), modifier_convert_exec(), modifier_copy_exec(), modifier_move_down_exec(), modifier_move_up_exec(), modifiers_convertToReal(), modifiers_setOnCage(), mouse_mesh_shortest_path(), mouse_select(), move_camera(), multires_base_apply_exec(), multires_reshape_exec(), multires_subdivide_exec(), navmesh_clear_exec(), navmesh_face_add_exec(), navmesh_face_copy_exec(), navmesh_reset_exec(), new_particle_settings_exec(), new_particle_target_exec(), NewBooleanMesh(), normals_make_consistent_exec(), object_add_particle_system(), object_armature_add_exec(), object_clear_transform_generic_exec(), object_constraint_copy_exec(), object_constraints_clear_exec(), object_hook_assign_exec(), object_hook_recenter_exec(), object_hook_remove_exec(), object_hook_reset_exec(), object_metaball_add_exec(), object_origin_clear_exec(), object_origin_set_exec(), object_remove_particle_system(), object_shape_key_mirror(), ocean_bake_exec(), pack_islands_exec(), particle_edit_toggle_exec(), PE_undo_step(), pose_autoside_names_exec(), pose_bone_flip_active_exec(), pose_bone_rotmode_exec(), pose_clear_transform_generic_exec(), pose_clear_user_transforms_exec(), pose_constraints_clear_exec(), pose_de_select_all_exec(), pose_flip_names_exec(), pose_flip_quats_exec(), pose_ik_clear_exec(), pose_paste_exec(), pose_visual_transform_apply_exec(), poseAnim_mapping_refresh(), poselib_preview_apply(), poselib_preview_cleanup(), quads_convert_to_tris_exec(), recalcData_clip(), recalcData_image(), recalcData_view3d(), remake_editMesh(), remove_doubles_exec(), remove_particle_target_exec(), removedoublesflag_exec(), reset_exec(), restrictbutton_modifier_cb(), reveal_exec(), reveal_metaelems_exec(), ringsel_finish(), rna_property_update(), rule_add_exec(), rule_del_exec(), rule_move_down_exec(), rule_move_up_exec(), screw_mesh_exec(), sculpt_flush_update(), sculpt_stroke_done(), sculpt_toggle_mode(), sculpt_undo_restore(), select_linked_internal(), separate_armature_exec(), separate_exec(), set_active_group_exec(), set_axis_exec(), set_floor_exec(), set_goal_weight_exec(), set_handle_type_exec(), set_origin_exec(), set_radius_exec(), set_spline_type_exec(), set_style(), set_vpaint(), set_wpaint(), shade_smooth_exec(), shape_key_clear_exec(), shape_key_move_exec(), shape_propagate(), shape_propagate_to_all_exec(), slide_marker_modal(), smooth_exec(), smooth_radius_exec(), smooth_vertex(), snap_sel_to_curs(), snap_sel_to_grid(), snap_selection_exec(), snode_dag_update(), solidify_exec(), solve_camera_freejob(), sort_faces_exec(), special_aftertrans_update(), special_transvert_update(), sphere_project_exec(), spin_exec(), spin_mesh(), spin_mesh_exec(), split_mesh(), stabilize_2d_add_exec(), stabilize_2d_remove_exec(), stabilize_2d_set_rotation_exec(), state_del_exec(), state_move_down_exec(), sticky_add_exec(), sticky_remove_exec(), stitch_exec(), subdivide_exec(), surface_slot_remove_exec(), switch_direction_exec(), target_move_down_exec(), target_move_up_exec(), text_refresh_pyconstraints_exec(), text_update_edited(), texture_paint_toggle_exec(), texture_slot_move(), toggle_cyclic_exec(), tree_element_active_defgroup(), tris_convert_to_quads_exec(), type_toggle_exec(), undo_editmode_step(), unlink_selection_exec(), unlink_text(), unwrap_exec(), uv_from_view_exec(), uvedit_set_tile(), vertex_group_add_exec(), vertex_group_assign_exec(), vertex_group_blend_exec(), vertex_group_clean_exec(), vertex_group_copy_exec(), vertex_group_copy_to_linked_exec(), vertex_group_fix_exec(), vertex_group_invert_exec(), vertex_group_levels_exec(), vertex_group_mirror_exec(), vertex_group_normalize_all_exec(), vertex_group_normalize_exec(), vertex_group_remove_exec(), vertex_group_remove_from_exec(), vertex_group_sort_exec(), vgroup_move_exec(), view3d_camera_to_view_exec(), view3d_camera_to_view_selected_exec(), visual_transform_apply_exec(), vpaint_fill(), vpaint_stroke_update_step(), weight_from_bones_exec(), weight_sample_group_exec(), weight_set_exec(), weld_align_uv(), wpaint_fill(), wpaint_stroke_done(), and wpaint_stroke_update_step().

void DAG_id_type_tag ( struct Main bmain,
short  idtype 
)
int DAG_id_type_tagged ( Main bmain,
short  idtype 
)

Definition at line 2738 of file depsgraph.c.

References Main::id_tag_update.

void DAG_ids_check_recalc ( Main bmain,
Scene scene,
int  time 
)
void DAG_ids_clear_recalc ( Main bmain)
void DAG_ids_flush_tagged ( Main bmain)
void DAG_ids_flush_update ( Main bmain,
int  time 
)
DagForest* dag_init ( void  )

Definition at line 288 of file depsgraph.c.

References MEM_callocN().

Referenced by build_dag(), and DAG_pose_sort().

static const char* dag_node_name ( DagNode node) [static]
static void dag_node_print_dependencies ( DagNode node) [static]
static void dag_node_print_dependency_cycle ( DagForest dag,
DagNode startnode,
DagNode endnode,
const char *  name 
) [static]
static int dag_node_print_dependency_recurs ( DagNode node,
DagNode endnode 
) [static]
static int dag_node_recurs_level ( DagNode node,
int  level 
) [static]
static void dag_object_time_update_flags ( Object ob) [static]
void DAG_on_visible_update ( Main bmain,
const short  do_time 
)
void DAG_pose_sort ( Object ob)
void DAG_print_dependencies ( Main bmain,
Scene scene,
Object ob 
)
static void dag_scene_flush_layers ( Scene sce,
int  lay 
) [static]
void DAG_scene_flush_update ( Main bmain,
Scene sce,
unsigned int  lay,
const short  time 
)
void DAG_scene_sort ( Main bmain,
Scene sce 
)

Definition at line 1721 of file depsgraph.c.

References Scene::base, BLI_addhead(), BLI_remlink(), build_dag(), DagNode::child, DagNode::color, DagNodeQueue::count, DAG_BLACK, dag_check_cycle(), DAG_GRAY, DAG_RL_ALL_BUT_DATA, DAG_WHITE, DagForest::DagNode, DAGQUEUEALLOC, DagNode::DFS_dvtm, ListBase::first, G, G_DEBUG, get_top_node_queue(), Object::id, ListBase::last, ID::name, Base::next, DagAdjList::next, DagNode::next, DagAdjList::node, NULL, DagNode::ob, Base::object, pop_queue(), push_stack(), queue_create(), queue_delete(), Scene::recalc, SCE_PRV_CHANGED, scene_sort_groups(), and Scene::theDag.

Referenced by add_hook_object(), add_named_exec(), bc_set_parent(), constraint_add_exec(), convert_exec(), copy_attr(), DocumentImporter::create_instance_node(), DAG_print_dependencies(), DAG_scene_flush_update(), do_constraint_panels(), do_graph_region_driver_buttons(), do_view3d_region_buttons(), duplicate_exec(), ED_object_add_duplicate(), ED_object_add_type(), ED_object_constraint_dependency_update(), ED_object_modifier_add(), ED_object_modifier_clear(), ED_object_modifier_convert(), ED_object_modifier_remove(), effector_add_type(), DocumentImporter::finish(), group_create_exec(), group_instance_add_exec(), group_objects_remove_exec(), join_armature_exec(), join_curve_exec(), join_mesh_exec(), SkinInfo::link_armature(), make_links_data_exec(), make_proxy_exec(), motionpaths_calc_optimise_depsgraph(), move_to_layer_exec(), new_particle_settings_exec(), new_particle_target_exec(), object_add_particle_system(), object_constraint_copy_exec(), object_constraints_clear_exec(), object_delete_exec(), object_duplicates_make_real_exec(), object_hide_view_clear_exec(), object_hide_view_set_exec(), object_remove_particle_system(), object_track_clear_exec(), objects_add_active_exec(), objects_remove_active_exec(), outliner_animdata_operation_exec(), outliner_object_operation_exec(), parent_clear_exec(), parent_noinv_set_exec(), parent_set_exec(), pose_constraint_copy_exec(), pose_constraints_clear_exec(), remove_particle_target_exec(), rule_del_exec(), scene_update_for_newframe(), set_scene_bg(), state_del_exec(), track_set_exec(), type_toggle_exec(), vertex_parent_set_exec(), and wm_link_append_exec().

void DAG_scene_update_flags ( Main bmain,
Scene scene,
unsigned int  lay,
const short  do_time 
)
static void dag_tag_renderlayers ( Scene sce,
unsigned int  lay 
) [static]
static unsigned int flush_layer_node ( Scene sce,
DagNode node,
int  curtime 
) [static]
static void flush_pointcache_reset ( Scene scene,
DagNode node,
int  curtime,
int  reset 
) [static]
static void flush_update_node ( DagNode node,
unsigned int  layer,
int  curtime 
) [static]
void free_forest ( DagForest Dag)
struct DagNodeQueue* get_all_childs ( struct DagForest dag,
void *  ob 
) [read]
struct DagNodeQueue* get_first_ancestors ( struct DagForest dag,
void *  ob 
) [read]
struct DagNodeQueue* get_obparents ( struct DagForest dag,
void *  ob 
) [read]
DagNode* get_top_node_queue ( DagNodeQueue queue)
DagForest* getMainDag ( void  )

Definition at line 1078 of file depsgraph.c.

References MainDag.

Referenced by graph_print_adj_list().

void graph_bfs ( void  )
DagNodeQueue* graph_dfs ( void  )
void graph_print_adj_list ( void  )
void graph_print_queue ( DagNodeQueue nqueue)
void graph_print_queue_dist ( DagNodeQueue nqueue)
int is_acyclic ( DagForest dag)

Definition at line 1586 of file depsgraph.c.

References DagForest::is_acyclic.

static void lib_id_recalc_data_tag ( Main bmain,
ID id 
) [static]
static void lib_id_recalc_tag ( Main bmain,
ID id 
) [static]
static int object_modifiers_use_time ( Object ob) [static]
void* pop_ob_queue ( struct DagNodeQueue queue)

Definition at line 272 of file depsgraph.c.

References pop_queue().

DagNode* pop_queue ( DagNodeQueue queue)
int pre_and_post_BFS ( DagForest dag,
short  mask,
graph_action_func  pre_func,
graph_action_func  post_func,
void **  data 
)

Definition at line 1170 of file depsgraph.c.

References DagForest::DagNode, ListBase::first, and pre_and_post_source_BFS().

int pre_and_post_DFS ( DagForest dag,
short  mask,
graph_action_func  pre_func,
graph_action_func  post_func,
void **  data 
)

Definition at line 1357 of file depsgraph.c.

References DagForest::DagNode, ListBase::first, and pre_and_post_source_DFS().

int pre_and_post_source_BFS ( DagForest dag,
short  mask,
DagNode source,
graph_action_func  pre_func,
graph_action_func  post_func,
void **  data 
)
int pre_and_post_source_DFS ( DagForest dag,
short  mask,
DagNode source,
graph_action_func  pre_func,
graph_action_func  post_func,
void **  data 
)
void push_queue ( DagNodeQueue queue,
DagNode node 
)
void push_stack ( DagNodeQueue queue,
DagNode node 
)
int queue_count ( struct DagNodeQueue queue)

Definition at line 282 of file depsgraph.c.

References DagNodeQueue::count.

DagNodeQueue* queue_create ( int  slots)
void queue_delete ( DagNodeQueue queue)
void queue_raz ( DagNodeQueue queue)
static void scene_sort_groups ( Main bmain,
Scene sce 
) [static]
void set_node_xy ( DagNode node,
float  x,
float  y 
)

Definition at line 1591 of file depsgraph.c.

References DagNode::x, and DagNode::y.

Referenced by graph_bfs(), and graph_dfs().

void setMainDag ( DagForest dag)

Definition at line 1084 of file depsgraph.c.


Variable Documentation

int dag_print_dependencies = 0 [static]

Definition at line 837 of file depsgraph.c.

Referenced by dag_check_cycle(), and DAG_print_dependencies().

void(* EditorsUpdateIDCb)(Main *bmain, ID *id) = NULL [static]

Definition at line 1655 of file depsgraph.c.

Referenced by dag_editors_id_update(), and DAG_editors_update_cb().

void(* EditorsUpdateSceneCb)(Main *bmain, Scene *scene, int updated) = NULL [static]

Definition at line 1656 of file depsgraph.c.

Referenced by dag_editors_scene_update(), and DAG_editors_update_cb().

DagForest* MainDag = NULL [static]

Definition at line 1076 of file depsgraph.c.

Referenced by getMainDag().

int ugly_hack_sorry = 1 [static]

Definition at line 836 of file depsgraph.c.

Referenced by dag_add_node(), dag_node_name(), and DAG_pose_sort().