Blender V2.61 - r43446
|
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_dlrbTree.h"
Go to the source code of this file.
Definition in file DLRB_tree.c.
DLRBT_Node* BLI_dlrbTree_add | ( | DLRBT_Tree * | tree, |
DLRBT_Comparator_FP | cmp_cb, | ||
DLRBT_NAlloc_FP | new_cb, | ||
DLRBT_NUpdate_FP | update_cb, | ||
void * | data | ||
) |
Definition at line 508 of file DLRB_tree.c.
References BLI_dlrbTree_search(), DLRBT_RED, insert_check_1(), DLRBT_Node::left, NULL, DLRBT_Node::parent, DLRBT_Node::right, DLRBT_Tree::root, DLRBT_Node::tree_col, and update_cb().
Referenced by add_bezt_to_keycolumns_list(), add_gpframe_to_keycolumns_list(), and fcurve_to_keylist().
short BLI_dlrbTree_contains | ( | DLRBT_Tree * | tree, |
DLRBT_Comparator_FP | cmp_cb, | ||
void * | search_data | ||
) |
Definition at line 272 of file DLRB_tree.c.
References BLI_dlrbTree_search_exact(), and NULL.
void BLI_dlrbTree_free | ( | DLRBT_Tree * | tree | ) |
Definition at line 71 of file DLRB_tree.c.
References BLI_freelistN(), DLRBT_Tree::first, DLRBT_Tree::last, NULL, recursive_tree_free_nodes(), and DLRBT_Tree::root.
Referenced by draw_action_channel(), draw_agroup_channel(), draw_fcurve_channel(), draw_ghost_poses_keys(), draw_gpl_channel(), draw_motion_path_instance(), draw_object_channel(), draw_scene_channel(), draw_summary_channel(), fcurve_to_keylist(), keyframe_jump_exec(), mouse_action_keys(), nla_action_draw_keyframes(), pose_propagate_get_boneHoldEndFrame(), pose_slide_exit(), poselib_sanitise_exec(), and time_draw_idblock_keyframes().
void BLI_dlrbTree_init | ( | DLRBT_Tree * | tree | ) |
Definition at line 47 of file DLRB_tree.c.
References DLRBT_Tree::first, DLRBT_Tree::last, NULL, and DLRBT_Tree::root.
Referenced by draw_action_channel(), draw_agroup_channel(), draw_fcurve_channel(), draw_ghost_poses_keys(), draw_gpl_channel(), draw_motion_path_instance(), draw_object_channel(), draw_scene_channel(), draw_summary_channel(), keyframe_jump_exec(), mouse_action_keys(), nla_action_draw_keyframes(), pose_propagate_get_boneHoldEndFrame(), pose_slide_init(), poselib_sanitise_exec(), and time_draw_idblock_keyframes().
void BLI_dlrbTree_insert | ( | DLRBT_Tree * | tree, |
DLRBT_Node * | node | ||
) |
Definition at line 491 of file DLRB_tree.c.
References DLRBT_RED, insert_check_1(), NULL, and DLRBT_Node::tree_col.
Referenced by add_bezt_to_keyblocks_list().
void BLI_dlrbTree_linkedlist_sync | ( | DLRBT_Tree * | tree | ) |
Definition at line 116 of file DLRB_tree.c.
References DLRBT_Tree::first, DLRBT_Tree::last, linkedlist_sync_add_node(), NULL, and DLRBT_Tree::root.
Referenced by draw_action_channel(), draw_agroup_channel(), draw_fcurve_channel(), draw_ghost_poses_keys(), draw_gpl_channel(), draw_motion_path_instance(), draw_object_channel(), draw_scene_channel(), draw_summary_channel(), fcurve_to_keylist(), keyframe_jump_exec(), nla_action_draw_keyframes(), pose_propagate_get_boneHoldEndFrame(), pose_slide_invoke_common(), poselib_sanitise_exec(), and time_draw_idblock_keyframes().
DLRBT_Tree* BLI_dlrbTree_new | ( | void | ) |
Definition at line 40 of file DLRB_tree.c.
References MEM_callocN().
Referenced by fcurve_to_keylist().
DLRBT_Node* BLI_dlrbTree_search | ( | DLRBT_Tree * | tree, |
DLRBT_Comparator_FP | cmp_cb, | ||
void * | search_data | ||
) |
Definition at line 133 of file DLRB_tree.c.
References if(), DLRBT_Node::left, NULL, DLRBT_Node::right, and DLRBT_Tree::root.
Referenced by BLI_dlrbTree_add(), BLI_dlrbTree_search_next(), and BLI_dlrbTree_search_prev().
DLRBT_Node* BLI_dlrbTree_search_exact | ( | DLRBT_Tree * | tree, |
DLRBT_Comparator_FP | cmp_cb, | ||
void * | search_data | ||
) |
Definition at line 175 of file DLRB_tree.c.
References if(), DLRBT_Node::left, NULL, DLRBT_Node::right, and DLRBT_Tree::root.
Referenced by actkeyblock_is_valid(), BLI_dlrbTree_contains(), draw_motion_path_instance(), pose_propagate_get_boneHoldEndFrame(), and pose_slide_invoke_common().
DLRBT_Node* BLI_dlrbTree_search_next | ( | DLRBT_Tree * | tree, |
DLRBT_Comparator_FP | cmp_cb, | ||
void * | search_data | ||
) |
Definition at line 244 of file DLRB_tree.c.
References BLI_dlrbTree_search(), DLRBT_Node::next, and NULL.
Referenced by keyframe_jump_exec(), pose_propagate_get_boneHoldEndFrame(), and pose_slide_invoke_common().
DLRBT_Node* BLI_dlrbTree_search_prev | ( | DLRBT_Tree * | tree, |
DLRBT_Comparator_FP | cmp_cb, | ||
void * | search_data | ||
) |
Definition at line 217 of file DLRB_tree.c.
References BLI_dlrbTree_search(), NULL, and DLRBT_Node::prev.
Referenced by add_bezt_to_keyblocks_list(), keyframe_jump_exec(), pose_propagate_get_boneHoldEndFrame(), and pose_slide_invoke_common().
static DLRBT_Node* get_grandparent | ( | DLRBT_Node * | node | ) | [static] |
Definition at line 282 of file DLRB_tree.c.
References NULL, and DLRBT_Node::parent.
Referenced by insert_check_2(), and insert_check_3().
static DLRBT_Node* get_sibling | ( | DLRBT_Node * | node | ) | [static] |
Definition at line 291 of file DLRB_tree.c.
References DLRBT_Node::left, NULL, DLRBT_Node::parent, and DLRBT_Node::right.
Referenced by get_uncle().
static DLRBT_Node* get_uncle | ( | DLRBT_Node * | node | ) | [static] |
Definition at line 305 of file DLRB_tree.c.
References get_sibling(), NULL, and DLRBT_Node::parent.
Referenced by insert_check_2().
static void insert_check_1 | ( | DLRBT_Tree * | tree, |
DLRBT_Node * | node | ||
) | [static] |
Definition at line 397 of file DLRB_tree.c.
References DLRBT_BLACK, insert_check_2(), NULL, DLRBT_Node::parent, and DLRBT_Node::tree_col.
Referenced by BLI_dlrbTree_add(), BLI_dlrbTree_insert(), and insert_check_2().
static void insert_check_2 | ( | DLRBT_Tree * | tree, |
DLRBT_Node * | node | ||
) | [static] |
Definition at line 409 of file DLRB_tree.c.
References DLRBT_BLACK, DLRBT_RED, get_grandparent(), get_uncle(), insert_check_1(), insert_check_3(), DLRBT_Node::parent, and DLRBT_Node::tree_col.
Referenced by insert_check_1().
static void insert_check_3 | ( | DLRBT_Tree * | tree, |
DLRBT_Node * | node | ||
) | [static] |
Definition at line 444 of file DLRB_tree.c.
References DLRBT_BLACK, DLRBT_RED, get_grandparent(), DLRBT_Node::left, DLRBT_Node::parent, DLRBT_Node::right, rotate_left(), rotate_right(), and DLRBT_Node::tree_col.
Referenced by insert_check_2().
static void linkedlist_sync_add_node | ( | DLRBT_Tree * | tree, |
DLRBT_Node * | node | ||
) | [static] |
Definition at line 95 of file DLRB_tree.c.
References BLI_addtail(), DLRBT_Node::left, DLRBT_Node::next, NULL, and DLRBT_Node::prev.
Referenced by BLI_dlrbTree_linkedlist_sync().
static void recursive_tree_free_nodes | ( | DLRBT_Node * | node | ) | [static] |
Definition at line 56 of file DLRB_tree.c.
References DLRBT_Node::left, MEM_freeN(), NULL, and DLRBT_Node::right.
Referenced by BLI_dlrbTree_free().
static void rotate_left | ( | DLRBT_Tree * | tree, |
DLRBT_Node * | root | ||
) | [static] |
Definition at line 319 of file DLRB_tree.c.
References DLRBT_Node::left, NULL, DLRBT_Node::parent, DLRBT_Node::right, DLRBT_Tree::root, and MakeCursor::root.
Referenced by insert_check_3().
static void rotate_right | ( | DLRBT_Tree * | tree, |
DLRBT_Node * | root | ||
) | [static] |
Definition at line 353 of file DLRB_tree.c.
References DLRBT_Node::left, NULL, DLRBT_Node::parent, DLRBT_Node::right, DLRBT_Tree::root, and MakeCursor::root.
Referenced by insert_check_3().