Collaboration diagram for Pointer Tables:
Files | |
file | ptbl.c |
Support for generalized "pointer tables". | |
Functions | |
void | bu_ptbl_init (struct bu_ptbl *b, int len, const char *str) |
void | bu_ptbl_reset (struct bu_ptbl *b) |
int | bu_ptbl_ins (struct bu_ptbl *b, long int *p) |
int | bu_ptbl_locate (const struct bu_ptbl *b, const long int *p) |
void | bu_ptbl_zero (struct bu_ptbl *b, const long int *p) |
int | bu_ptbl_ins_unique (struct bu_ptbl *b, long int *p) |
int | bu_ptbl_rm (struct bu_ptbl *b, const long int *p) |
void | bu_ptbl_cat (struct bu_ptbl *dest, const struct bu_ptbl *src) |
void | bu_ptbl_cat_uniq (struct bu_ptbl *dest, const struct bu_ptbl *src) |
void | bu_ptbl_free (struct bu_ptbl *b) |
int | bu_ptbl (struct bu_ptbl *b, int func, long int *p) |
void | bu_pr_ptbl (const char *title, const struct bu_ptbl *tbl, int verbose) |
void | bu_ptbl_trunc (struct bu_ptbl *tbl, int end) |
|
|
B U _ P T B L _ R E S E T Reset the table to have no elements, but retain any existing storage. Definition at line 91 of file ptbl.c. References bu_ptbl::blen, BU_CK_PTBL, bu_debug, BU_DEBUG_PTBL, bu_log(), bu_ptbl::buffer, and bu_ptbl::end. Referenced by bu_ptbl(), dgo_E_cmd(), nmg_decompose_shell(), nmg_fix_overlapping_loops(), nmg_intersect_loops_self(), nmg_move_edge_thru_pt(), nmg_split_loops_handler(), and rt_shootray(). Here is the call graph for this function: |
|
B U _ P T B L _ I N S Append/Insert a (long *) item to/into the table. Definition at line 107 of file ptbl.c. References bu_ptbl::blen, BU_CK_PTBL, bu_debug, BU_DEBUG_PTBL, bu_log(), bu_ptbl_init(), bu_realloc(), bu_ptbl::buffer, and bu_ptbl::end. Here is the call graph for this function: |
|
B U _ P T B L _ L O C A T E locate a (long *) in an existing table
Definition at line 143 of file ptbl.c. References BU_CK_PTBL, bu_ptbl::buffer, and bu_ptbl::end. |
|
B U _ P T B L _ Z E R O Set all occurrences of "p" in the table to zero. This is different than deleting them. Definition at line 165 of file ptbl.c. References BU_CK_PTBL, bu_ptbl::buffer, and bu_ptbl::end. |
|
B U _ P T B L _ I N S _ U N I Q U E Append item to table, if not already present. Unique insert.
Definition at line 192 of file ptbl.c. References bu_ptbl::blen, BU_CK_PTBL, bu_debug, BU_DEBUG_PTBL, bu_log(), bu_ptbl_ins(), bu_ptbl::buffer, and bu_ptbl::end. Here is the call graph for this function: |
|
B U _ P T B L _ R M Remove all occurrences of an item from a table
Definition at line 235 of file ptbl.c. References BU_CK_PTBL, bu_debug, BU_DEBUG_PTBL, bu_log(), bu_ptbl::buffer, and bu_ptbl::end. Here is the call graph for this function: |
|
B U _ P T B L _ C A T Catenate one table onto end of another. There is no checking for duplication. Definition at line 271 of file ptbl.c. References bcopy, bu_ptbl::blen, BU_CK_PTBL, bu_debug, BU_DEBUG_PTBL, bu_log(), bu_realloc(), bu_ptbl::buffer, and bu_ptbl::end. Referenced by bu_ptbl(). Here is the call graph for this function: |
|
B U _ P T B L _ C A T _ U N I Q Catenate one table onto end of another, ensuring that no entry is duplicated. Duplications between multiple items in 'src' are not caught. The search is a nasty n**2 one. The tables are expected to be short. Definition at line 299 of file ptbl.c. References bu_ptbl::blen, BU_CK_PTBL, bu_debug, BU_DEBUG_PTBL, bu_log(), BU_PTBL_FOR, bu_ptbl_ins_unique(), bu_realloc(), bu_ptbl::buffer, and bu_ptbl::end. Referenced by rt_rebuild_overlaps(). Here is the call graph for this function: |
|
|
B U _ P T B L This version maintained for source compatibility with existing NMG code. Definition at line 345 of file ptbl.c. References bu_bomb(), BU_CK_PTBL, bu_log(), bu_ptbl_cat(), BU_PTBL_CAT, bu_ptbl_free(), BU_PTBL_FREE, bu_ptbl_init(), BU_PTBL_INIT, bu_ptbl_ins(), BU_PTBL_INS, bu_ptbl_ins_unique(), BU_PTBL_INS_UNIQUE, BU_PTBL_LOC, bu_ptbl_locate(), bu_ptbl_reset(), bu_ptbl_rm(), BU_PTBL_RM, BU_PTBL_RST, bu_ptbl_zero(), and BU_PTBL_ZERO. Here is the call graph for this function: |
|
B U _ P R _ P T B L Print a bu_ptbl array for inspection. Definition at line 385 of file ptbl.c. References BU_CK_PTBL, bu_log(), BU_PTBL_BASEADDR, BU_PTBL_LASTADDR, and bu_ptbl::end. Referenced by rt_pr_soltab(), and rt_prep_parallel(). Here is the call graph for this function: |
|
B U _ P T B L _ T R U N C truncate a bu_ptbl Definition at line 414 of file ptbl.c. References BU_CK_PTBL, and bu_ptbl::end. Referenced by rt_comb_import5(), and rt_rebuild_overlaps(). |