Blender V2.61 - r43446
|
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 DagForest * | build_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 DagNodeQueue * | get_obparents (struct DagForest *dag, void *ob) |
struct DagNodeQueue * | get_first_ancestors (struct DagForest *dag, void *ob) |
struct DagNodeQueue * | get_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) |
Definition in file BKE_depsgraph.h.
#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) |
Definition at line 63 of file BKE_depsgraph.h.
Referenced by build_dag_object(), dag_add_collision_field_relation(), dag_add_driver_relation(), flush_update_node(), and updateDepgraph().
#define DAG_RL_DATA_OB (1<<4) |
Definition at line 61 of file BKE_depsgraph.h.
Referenced by build_dag_object(), dag_add_driver_relation(), flush_update_node(), and updateDepgraph().
#define DAG_RL_OB_DATA (1<<3) |
Definition at line 59 of file BKE_depsgraph.h.
Referenced by build_dag_object(), dag_add_collision_field_relation(), dag_add_driver_relation(), flush_update_node(), and updateDepgraph().
#define DAG_RL_OB_OB (1<<2) |
Definition at line 57 of file BKE_depsgraph.h.
Referenced by build_dag_object(), dag_add_driver_relation(), flush_update_node(), and updateDepgraph().
#define DAG_RL_SCENE (1<<0) |
Definition at line 52 of file BKE_depsgraph.h.
Referenced by build_dag_object().
typedef void(* graph_action_func)(void *ob, void **data) |
Definition at line 71 of file BKE_depsgraph.h.
short are_obs_related | ( | struct DagForest * | dag, |
void * | ob1, | ||
void * | ob2 | ||
) |
Definition at line 1569 of file depsgraph.c.
References DagNode::child, dag_find_node(), DAG_NO_RELATION, DagAdjList::next, DagAdjList::node, NULL, DagNode::ob, and DagNode::type.
void boundbox_deps | ( | void | ) |
Definition at line 712 of file depsgraph.c.
References Scene::base, build_dag_object(), DagNode::child, DagNode::color, DagNode::customdata_mask, dag_add_node(), dag_init(), Scene::dagisvalid, DagForest::DagNode, Object::dup_group, ListBase::first, ID::flag, free_forest(), Group::gobject, Main::group, Group::id, ID_OB, LIB_DOIT, DagNode::next, GroupObject::next, DagAdjList::next, Base::next, ID::next, DagAdjList::node, DagNode::ob, GroupObject::ob, Base::object, Object::proxy, Scene::theDag, DagNode::type, and DagAdjList::type.
Referenced by DAG_scene_sort().
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 | ||
) |
Definition at line 2733 of file depsgraph.c.
References Main::id_tag_update.
Referenced by animsys_write_rna_setting(), DAG_on_visible_update(), ED_base_object_free_and_unlink(), ED_object_add_type(), object_hide_view_clear_exec(), and object_hide_view_set_exec().
int DAG_id_type_tagged | ( | struct Main * | bmain, |
short | idtype | ||
) |
Definition at line 2738 of file depsgraph.c.
References Main::id_tag_update.
Definition at line 2640 of file depsgraph.c.
References dag_editors_scene_update(), ListBase::first, Main::id_tag_update, MAX_LIBARRAY, ID::name, and set_listbasepointers().
Referenced by scene_update_for_newframe(), and scene_update_tagged().
void DAG_ids_clear_recalc | ( | struct Main * | bmain | ) |
Definition at line 2663 of file depsgraph.c.
References ListBase::first, ID::flag, Main::id_tag_update, LIB_ID_RECALC, LIB_ID_RECALC_DATA, MAX_LIBARRAY, ID::name, ID::next, and set_listbasepointers().
Referenced by scene_update_for_newframe(), and scene_update_tagged().
void DAG_ids_flush_tagged | ( | struct Main * | bmain | ) |
Definition at line 2604 of file depsgraph.c.
References dag_current_scene_layers(), dag_id_flush_update(), DAG_scene_flush_update(), ListBase::first, ID::flag, Main::id_tag_update, LIB_ID_RECALC, LIB_ID_RECALC_DATA, MAX_LIBARRAY, ID::name, ID::next, set_listbasepointers(), and Scene::theDag.
Referenced by scene_update_for_newframe(), and scene_update_tagged().
void DAG_ids_flush_update | ( | struct Main * | bmain, |
int | time | ||
) |
Definition at line 2390 of file depsgraph.c.
References dag_current_scene_layers(), and DAG_scene_flush_update().
Referenced by add_driver_button_exec(), add_keyingset_button_exec(), add_named_exec(), bc_set_parent(), copy_attr(), DocumentImporter::create_instance_node(), delete_key_button_exec(), delete_key_exec(), delete_key_v3d_exec(), do_graph_region_driver_buttons(), drop_named_material_invoke(), duplicate_exec(), DocumentImporter::finish(), insert_key_button_exec(), insert_key_exec(), SkinInfo::link_armature(), make_links_data_exec(), make_links_scene_exec(), object_clear_transform_generic_exec(), object_delete_exec(), object_duplicates_make_real_exec(), object_origin_clear_exec(), object_origin_set_exec(), object_slow_parent_clear_exec(), object_slow_parent_set_exec(), object_track_clear_exec(), outliner_animdata_operation_exec(), parent_clear_exec(), parent_noinv_set_exec(), parent_set_exec(), remove_driver_button_exec(), remove_keyingset_button_exec(), snap_sel_to_curs(), snap_sel_to_grid(), track_set_exec(), and wm_link_append_exec().
void DAG_on_visible_update | ( | struct Main * | bmain, |
const short | do_time | ||
) |
Definition at line 2401 of file depsgraph.c.
References dag_current_scene_layers(), dag_get_node(), DAG_id_type_tag(), dag_scene_flush_layers(), DAG_scene_update_flags(), Object::dup_group, ELEM6, ListBase::first, ID::flag, Group::gobject, Main::group, Group::id, ID_OB, Object::lay, DagNode::lay, Scene::lay_updated, LIB_DOIT, GroupObject::next, ID::next, NULL, GroupObject::ob, OB_CURVE, OB_FONT, OB_LATTICE, OB_MBALL, OB_MESH, OB_RECALC_DATA, OB_RECALC_OB, OB_SURF, Base::object, Object::proxy_from, Object::recalc, SETLOOPER, Scene::theDag, and Object::type.
Referenced by endlocalview(), load_file(), read_undosave(), view3d_layers_exec(), WM_read_file(), and WM_read_homefile().
void DAG_pose_sort | ( | struct Object * | ob | ) |
Definition at line 2778 of file depsgraph.c.
References BLI_addhead(), BLI_remlink(), bPose::chanbase, DagNode::child, DagNode::color, constraint_get_typeinfo(), CONSTRAINT_IK_TIP, CONSTRAINT_TYPE_KINEMATIC, bPoseChannel::constraints, DagNodeQueue::count, dag_add_node(), dag_add_relation(), DAG_BLACK, dag_check_cycle(), dag_get_node(), DAG_GRAY, dag_init(), DAG_WHITE, DagForest::DagNode, DAGQUEUEALLOC, data, bConstraint::data, ListBase::first, bKinematicConstraint::flag, bConstraintTypeInfo::flush_constraint_targets, free_forest(), bConstraintTypeInfo::get_constraint_targets, get_pose_channel(), get_top_node_queue(), ListBase::last, MEM_freeN(), bPoseChannel::name, bPoseChannel::next, DagNode::next, bConstraint::next, bConstraintTarget::next, DagAdjList::next, DagAdjList::node, NULL, DagNode::ob, bPoseChannel::parent, pop_queue(), Object::pose, push_stack(), queue_create(), queue_delete(), bKinematicConstraint::rootbone, bConstraintTarget::subtarget, bConstraintTarget::tar, bConstraint::type, and ugly_hack_sorry.
Referenced by armature_rebuild_pose(), and DAG_print_dependencies().
Definition at line 2926 of file depsgraph.c.
References DAG_pose_sort(), dag_print_dependencies, DAG_scene_sort(), Scene::id, Object::id, Object::mode, ID::name, and OB_MODE_POSE.
Referenced by dependency_relations_exec().
void DAG_scene_flush_update | ( | struct Main * | bmain, |
struct Scene * | sce, | ||
unsigned int | lay, | ||
const short | do_time | ||
) |
Definition at line 2042 of file depsgraph.c.
References BKE_ptcache_object_reset(), DagNode::child, dag_scene_flush_layers(), DAG_scene_sort(), dag_tag_renderlayers(), DagForest::DagNode, ListBase::first, flush_pointcache_reset(), flush_update_node(), Object::id, ID_OB, DagNode::lasttime, lib_id_recalc_data_tag(), DagAdjList::next, DagAdjList::node, NULL, DagNode::ob, OB_RECALC_ALL, OB_RECALC_DATA, PTCACHE_RESET_DEPSGRAPH, Object::recalc, Scene::theDag, DagForest::time, and DagNode::type.
Referenced by count_proportional_objects(), DAG_ids_flush_tagged(), DAG_ids_flush_update(), DAG_scene_update_flags(), and set_trans_object_base_flags().
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 | ||
) |
Definition at line 2296 of file depsgraph.c.
References Scene::camera, dag_object_time_update_flags(), DAG_scene_flush_update(), Object::dup_group, ListBase::first, ID::flag, Group::gobject, Main::group, Group::id, LIB_DOIT, GroupObject::next, ID::next, GroupObject::ob, OB_RECALC_TIME, Base::object, Object::recalc, GroupObject::recalc, Scene::set, and SETLOOPER.
Referenced by DAG_on_visible_update(), motionpaths_calc_update_scene(), and scene_update_for_newframe().
void draw_all_deps | ( | void | ) |
void free_forest | ( | struct DagForest * | Dag | ) |
Definition at line 793 of file depsgraph.c.
References BLI_ghash_free(), DagNode::child, DagForest::DagNode, ListBase::first, ListBase::last, MEM_freeN(), DagNode::next, DagAdjList::next, DagForest::nodeHash, NULL, DagForest::numNodes, and DagNode::parent.
Referenced by build_dag(), DAG_pose_sort(), and free_scene().
struct DagNodeQueue* get_all_childs | ( | struct DagForest * | dag, |
void * | ob | ||
) | [read] |
Definition at line 1509 of file depsgraph.c.
References DagNode::child, DagNode::color, DagNodeQueue::count, DAG_BLACK, dag_find_node(), DAG_GRAY, DAG_WHITE, DagForest::DagNode, DAGQUEUEALLOC, DagNode::DFS_dvtm, ListBase::first, get_top_node_queue(), DagNode::next, DagAdjList::next, DagAdjList::node, NULL, DagForest::numNodes, pop_queue(), push_stack(), queue_create(), and queue_delete().
struct DagNodeQueue* get_first_ancestors | ( | struct DagForest * | dag, |
void * | ob | ||
) | [read] |
Definition at line 1480 of file depsgraph.c.
References DagNode::ancestor_count, DagNode::child, dag_find_node(), DagForest::DagNode, DagNode::DFS_fntm, ListBase::first, DagNode::next, DagAdjList::next, DagAdjList::node, NULL, push_queue(), and queue_create().
struct DagNodeQueue* get_obparents | ( | struct DagForest * | dag, |
void * | ob | ||
) | [read] |
Definition at line 1447 of file depsgraph.c.
References DagNode::ancestor_count, DagNode::child, dag_find_node(), DAG_RL_DATA, DagForest::DagNode, DagNode::DFS_fntm, ListBase::first, DagNode::next, DagAdjList::next, DagAdjList::node, NULL, push_queue(), queue_create(), and DagAdjList::type.
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 | ||
) |
Definition at line 1179 of file depsgraph.c.
References DagNode::BFS_dist, DagNode::child, DagNode::color, DagNodeQueue::count, DAG_BLACK, DAG_GRAY, DAG_WHITE, DagForest::DagNode, DAGQUEUEALLOC, ListBase::first, DagNode::next, DagAdjList::next, DagAdjList::node, NULL, DagNode::ob, pop_queue(), push_queue(), queue_create(), queue_delete(), and DagAdjList::type.
Referenced by pre_and_post_BFS().
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 | ||
) |
Definition at line 1365 of file depsgraph.c.
References DagNode::child, DagNode::color, DagNodeQueue::count, DAG_BLACK, DAG_GRAY, DAG_WHITE, DagForest::DagNode, DAGQUEUEALLOC, DagNode::DFS_dist, DagNode::DFS_dvtm, DagNode::DFS_fntm, ListBase::first, get_top_node_queue(), DagNode::k, DagNode::next, DagAdjList::next, DagAdjList::node, NULL, DagNode::ob, pop_queue(), push_stack(), queue_create(), queue_delete(), DagForest::time, and DagAdjList::type.
Referenced by pre_and_post_DFS().
int queue_count | ( | struct DagNodeQueue * | queue | ) |
Definition at line 282 of file depsgraph.c.
References DagNodeQueue::count.
void queue_delete | ( | struct DagNodeQueue * | queue | ) |
Definition at line 129 of file depsgraph.c.
References DagNodeQueue::first, DagNodeQueue::freenodes, MEM_freeN(), and DagNodeQueueElem::next.
Referenced by DAG_pose_sort(), DAG_scene_sort(), get_all_childs(), graph_bfs(), graph_dfs(), pre_and_post_source_BFS(), and pre_and_post_source_DFS().