Blender V2.61 - r43446
Defines | Typedefs | Functions

BKE_depsgraph.h File Reference

Go to the source code of this file.

Defines

#define DAG_RL_SCENE   (1<<0)
#define DAG_RL_DATA   (1<<1)
#define DAG_RL_OB_OB   (1<<2)
#define DAG_RL_OB_DATA   (1<<3)
#define DAG_RL_DATA_OB   (1<<4)
#define DAG_RL_DATA_DATA   (1<<5)
#define DAG_NO_RELATION   (1<<6)
#define DAG_RL_ALL_BUT_DATA   (DAG_RL_SCENE|DAG_RL_OB_OB|DAG_RL_OB_DATA|DAG_RL_DATA_OB|DAG_RL_DATA_DATA)
#define DAG_RL_ALL   (DAG_RL_ALL_BUT_DATA|DAG_RL_DATA)

Typedefs

typedef void(* graph_action_func )(void *ob, void **data)

Functions

void * pop_ob_queue (struct DagNodeQueue *queue)
int queue_count (struct DagNodeQueue *queue)
void queue_delete (struct DagNodeQueue *queue)
struct DagForestbuild_dag (struct Main *bmain, struct Scene *sce, short mask)
void free_forest (struct DagForest *Dag)
int pre_and_post_BFS (struct DagForest *dag, short mask, graph_action_func pre_func, graph_action_func post_func, void **data)
int pre_and_post_DFS (struct DagForest *dag, short mask, graph_action_func pre_func, graph_action_func post_func, void **data)
int pre_and_post_source_BFS (struct DagForest *dag, short mask, struct DagNode *source, graph_action_func pre_func, graph_action_func post_func, void **data)
int pre_and_post_source_DFS (struct DagForest *dag, short mask, struct 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 (struct DagForest *dag)
void boundbox_deps (void)
void draw_all_deps (void)
void DAG_scene_sort (struct Main *bmain, struct Scene *sce)
void DAG_scene_update_flags (struct Main *bmain, struct Scene *sce, unsigned int lay, const short do_time)
void DAG_scene_flush_update (struct Main *bmain, struct Scene *sce, unsigned int lay, const short do_time)
void DAG_on_visible_update (struct Main *bmain, const short do_time)
void DAG_ids_flush_update (struct Main *bmain, int time)
void DAG_id_tag_update (struct ID *id, short flag)
void DAG_ids_flush_tagged (struct Main *bmain)
void DAG_ids_check_recalc (struct Main *bmain, struct Scene *scene, int time)
void DAG_ids_clear_recalc (struct Main *bmain)
void DAG_id_type_tag (struct Main *bmain, short idtype)
int DAG_id_type_tagged (struct Main *bmain, short idtype)
void DAG_pose_sort (struct Object *ob)
void DAG_editors_update_cb (void(*id_func)(struct Main *bmain, struct ID *id), void(*scene_func)(struct Main *bmain, struct Scene *scene, int updated))
void DAG_print_dependencies (struct Main *bmain, struct Scene *scene, struct Object *ob)

Detailed Description

Definition in file BKE_depsgraph.h.


Define Documentation

#define DAG_NO_RELATION   (1<<6)

Definition at line 65 of file BKE_depsgraph.h.

Referenced by are_obs_related().

#define DAG_RL_ALL   (DAG_RL_ALL_BUT_DATA|DAG_RL_DATA)

Definition at line 68 of file BKE_depsgraph.h.

#define DAG_RL_ALL_BUT_DATA   (DAG_RL_SCENE|DAG_RL_OB_OB|DAG_RL_OB_DATA|DAG_RL_DATA_OB|DAG_RL_DATA_DATA)

Definition at line 67 of file BKE_depsgraph.h.

Referenced by DAG_scene_sort().

#define DAG_RL_DATA   (1<<1)

Definition at line 54 of file BKE_depsgraph.h.

Referenced by build_dag_object(), and get_obparents().

#define DAG_RL_DATA_DATA   (1<<5)
#define DAG_RL_DATA_OB   (1<<4)
#define DAG_RL_OB_DATA   (1<<3)
#define DAG_RL_OB_OB   (1<<2)
#define DAG_RL_SCENE   (1<<0)

Definition at line 52 of file BKE_depsgraph.h.

Referenced by build_dag_object().


Typedef Documentation

typedef void(* graph_action_func)(void *ob, void **data)

Definition at line 71 of file BKE_depsgraph.h.


Function Documentation

short are_obs_related ( struct DagForest dag,
void *  ob1,
void *  ob2 
)
void boundbox_deps ( void  )
struct DagForest* build_dag ( struct Main bmain,
struct Scene sce,
short  mask 
) [read]
void DAG_editors_update_cb ( void(*)(struct Main *bmain, struct ID *id)  id_func,
void(*)(struct Main *bmain, struct Scene *scene, int updated)  scene_func 
)

Referenced by WM_init().

void DAG_id_tag_update ( struct 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 ( struct Main bmain,
short  idtype 
)

Definition at line 2738 of file depsgraph.c.

References Main::id_tag_update.

void DAG_ids_check_recalc ( struct Main bmain,
struct Scene scene,
int  time 
)
void DAG_ids_clear_recalc ( struct Main bmain)
void DAG_ids_flush_tagged ( struct Main bmain)
void DAG_ids_flush_update ( struct Main bmain,
int  time 
)
void DAG_on_visible_update ( struct Main bmain,
const short  do_time 
)
void DAG_pose_sort ( struct Object ob)
void DAG_print_dependencies ( struct Main bmain,
struct Scene scene,
struct Object ob 
)
void DAG_scene_flush_update ( struct Main bmain,
struct Scene sce,
unsigned int  lay,
const short  do_time 
)
void DAG_scene_sort ( struct Main bmain,
struct 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 ( struct Main bmain,
struct Scene sce,
unsigned int  lay,
const short  do_time 
)
void draw_all_deps ( void  )
void free_forest ( struct 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]
int is_acyclic ( struct DagForest dag)

Definition at line 1586 of file depsgraph.c.

References DagForest::is_acyclic.

void* pop_ob_queue ( struct DagNodeQueue queue)

Definition at line 272 of file depsgraph.c.

References pop_queue().

int pre_and_post_BFS ( struct 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 ( struct 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 ( struct DagForest dag,
short  mask,
struct DagNode source,
graph_action_func  pre_func,
graph_action_func  post_func,
void **  data 
)
int pre_and_post_source_DFS ( struct DagForest dag,
short  mask,
struct DagNode source,
graph_action_func  pre_func,
graph_action_func  post_func,
void **  data 
)
int queue_count ( struct DagNodeQueue queue)

Definition at line 282 of file depsgraph.c.

References DagNodeQueue::count.

void queue_delete ( struct DagNodeQueue queue)