BRL-CAD
Collaboration diagram for Magic Numbers:

Files

file  magic.h
 
file  badmagic.c
 
file  magic.c
 

Macros

#define BU_AVS_MAGIC   0x41765321
 
#define BU_BITV_MAGIC   0x62697476
 
#define BU_COLOR_MAGIC   0x6275636c
 
#define BU_EXTERNAL_MAGIC   0x768dbbd0
 
#define BU_HASH_ENTRY_MAGIC   0x48454e54
 
#define BU_HASH_RECORD_MAGIC   0x68617368
 
#define BU_HASH_TBL_MAGIC   0x48415348
 
#define BU_HIST_MAGIC   0x48697374
 
#define BU_HOOK_LIST_MAGIC   0x90d5dead
 
#define BU_IMAGE_FILE_MAGIC   0x6269666d
 
#define BU_LIST_HEAD_MAGIC   0x01016580
 
#define BU_MAPPED_FILE_MAGIC   0x4d617066
 
#define BU_OBSERVER_MAGIC   0x65796573
 
#define BU_PTBL_MAGIC   0x7074626c
 
#define BU_RB_LIST_MAGIC   0x72626c73
 
#define BU_RB_NODE_MAGIC   0x72626e6f
 
#define BU_RB_PKG_MAGIC   0x7262706b
 
#define BU_RB_TREE_MAGIC   0x72627472
 
#define BU_VLB_MAGIC   0x5f564c42
 
#define BU_VLS_MAGIC   0x89333bbb
 
#define BN_GAUSS_MAGIC   0x1e886880
 
#define BN_POLY_MAGIC   0x506f4c79
 
#define BN_SPM_MAGIC   0x41278678
 
#define BN_TABDATA_MAGIC   0x53736d70
 
#define BN_TABLE_MAGIC   0x53706374
 
#define BN_TOL_MAGIC   0x98c734bb
 
#define BN_UNIF_MAGIC   0x00be7460
 
#define BN_VLBLOCK_MAGIC   0x981bd112
 
#define BN_VLIST_MAGIC   0x98237474
 
#define RT_ARBN_INTERNAL_MAGIC   0x18236461
 
#define RT_ARB_INTERNAL_MAGIC   0x9befd010
 
#define RT_ARS_INTERNAL_MAGIC   0x77ddbbe3
 
#define RT_BINUNIF_INTERNAL_MAGIC   0x42696e55
 
#define RT_BOT_INTERNAL_MAGIC   0x626f7472
 
#define RT_BREP_INTERNAL_MAGIC   0x42524550
 
#define RT_CLINE_INTERNAL_MAGIC   0x43767378
 
#define RT_DSP_INTERNAL_MAGIC   0x00000de6
 
#define RT_EBM_INTERNAL_MAGIC   0xf901b231
 
#define RT_EHY_INTERNAL_MAGIC   0xaaccee91
 
#define RT_ELL_INTERNAL_MAGIC   0x93bb23ff
 
#define RT_EPA_INTERNAL_MAGIC   0xaaccee90
 
#define RT_ETO_INTERNAL_MAGIC   0xaaccee92
 
#define RT_EXTRUDE_INTERNAL_MAGIC   0x65787472
 
#define RT_GRIP_INTERNAL_MAGIC   0x31196205
 
#define RT_HALF_INTERNAL_MAGIC   0xaa87bbdd
 
#define RT_HF_INTERNAL_MAGIC   0x4846494d
 
#define RT_HYP_INTERNAL_MAGIC   0x68797065
 
#define RT_JOINT_INTERNAL_MAGIC   0x4a6f696e
 
#define RT_METABALL_INTERNAL_MAGIC   0x62616c6c
 
#define RT_NURB_INTERNAL_MAGIC   0x002b2bdd
 
#define RT_PART_INTERNAL_MAGIC   0xaaccee87
 
#define RT_PG_INTERNAL_MAGIC   0x9bfed887
 
#define RT_PIPE_INTERNAL_MAGIC   0x7dd7bb3e
 
#define RT_REVOLVE_INTERNAL_MAGIC   0x7265766C
 
#define RT_RHC_INTERNAL_MAGIC   0xaaccee89
 
#define RT_RPC_INTERNAL_MAGIC   0xaaccee88
 
#define RT_SKETCH_INTERNAL_MAGIC   0x736b6574
 
#define RT_SUBMODEL_INTERNAL_MAGIC   0x7375626d
 
#define RT_SUPERELL_INTERNAL_MAGIC   0xff93bb23
 
#define RT_TGC_INTERNAL_MAGIC   0xaabbdd87
 
#define RT_TOR_INTERNAL_MAGIC   0x9bffed87
 
#define RT_VOL_INTERNAL_MAGIC   0x987ba1d0
 
#define RT_PNTS_INTERNAL_MAGIC   0x706e7473
 
#define RT_ANNOTATION_INTERNAL_MAGIC   0x616e6e6f
 
#define RT_HRT_INTERNAL_MAGIC   0x6872743f
 
#define NMG_EDGEUSE2_MAGIC   0x91919191
 
#define NMG_EDGEUSE_MAGIC   0x90909090
 
#define NMG_EDGE_G_CNURB_MAGIC   0x636e7262
 
#define NMG_EDGE_G_LSEG_MAGIC   0x6c696768
 
#define NMG_EDGE_MAGIC   0x33333333
 
#define NMG_FACEUSE_MAGIC   0x56565656
 
#define NMG_FACE_G_PLANE_MAGIC   0x726b6e65
 
#define NMG_FACE_G_SNURB_MAGIC   0x736e7262
 
#define NMG_FACE_MAGIC   0x45454545
 
#define NMG_INTER_STRUCT_MAGIC   0x99912120
 
#define NMG_KNOT_VECTOR_MAGIC   0x6b6e6f74
 
#define NMG_LOOPUSE_MAGIC   0x78787878
 
#define NMG_LOOP_G_MAGIC   0x6420224c
 
#define NMG_LOOP_MAGIC   0x67676767
 
#define NMG_MODEL_MAGIC   0x12121212
 
#define NMG_RADIAL_MAGIC   0x52614421
 
#define NMG_RAY_DATA_MAGIC   0x01651771
 
#define NMG_REGION_A_MAGIC   0x696e6720
 
#define NMG_REGION_MAGIC   0x23232323
 
#define NMG_RT_HIT_MAGIC   0x48697400
 
#define NMG_RT_HIT_SUB_MAGIC   0x48696d00
 
#define NMG_RT_MISS_MAGIC   0x4d697300
 
#define NMG_SHELL_A_MAGIC   0x65207761
 
#define NMG_SHELL_MAGIC   0x71077345
 
#define NMG_VERTEXUSE_A_CNURB_MAGIC   0x20416e64
 
#define NMG_VERTEXUSE_A_PLANE_MAGIC   0x69676874
 
#define NMG_VERTEXUSE_MAGIC   0x12341234
 
#define NMG_VERTEX_G_MAGIC   0x72737707
 
#define NMG_VERTEX_MAGIC   0x00123123
 
#define RT_ANP_MAGIC   0x41507270
 
#define RT_AP_MAGIC   0x4170706c
 
#define RT_COMB_MAGIC   0x436f6d49
 
#define RT_CONSTRAINT_MAGIC   0x7063696d
 
#define RT_CTS_MAGIC   0x98989123
 
#define RT_DB_TRAVERSE_MAGIC   0x64627472
 
#define RT_DBTS_MAGIC   0x64627473
 
#define RT_DB_INTERNAL_MAGIC   0x0dbbd867
 
#define RT_DIR_MAGIC   0x05551212
 
#define RT_FUNCTAB_MAGIC   0x46754e63
 
#define RT_HIT_MAGIC   0x20686974
 
#define RT_HTBL_MAGIC   0x6874626c
 
#define RT_PIECELIST_MAGIC   0x70636c73
 
#define RT_PIECESTATE_MAGIC   0x70637374
 
#define RT_RAY_MAGIC   0x78726179
 
#define RT_REGION_MAGIC   0xdffb8001
 
#define RT_SEG_MAGIC   0x98bcdef1
 
#define RT_SOLTAB2_MAGIC   0x92bfcde2
 
#define RT_SOLTAB_MAGIC   0x92bfcde0
 
#define RT_TESS_TOL_MAGIC   0xb9090dab
 
#define RT_TREE_MAGIC   0x91191191
 
#define RT_WDB_MAGIC   0x5f576462
 
#define GED_CMD_MAGIC   0x65786563
 
#define FB_MAGIC   0xfbfb00fb
 
#define FB_WGL_MAGIC   0x574f4642
 
#define FB_OGL_MAGIC   0x584f4642
 
#define FB_X24_MAGIC   0x58324642
 
#define FB_TK_MAGIC   0x544b4642
 
#define FB_QT_MAGIC   0x51544642
 
#define FB_DEBUG_MAGIC   0x44424642
 
#define FB_DISK_MAGIC   0x44494642
 
#define FB_STK_MAGIC   0x53544642
 
#define FB_MEMORY_MAGIC   0x4d454642
 
#define FB_REMOTE_MAGIC   0x524d4642
 
#define FB_NULL_MAGIC   0x4e554642
 
#define FB_OSGL_MAGIC   0x4f474642
 
#define ANIMATE_MAGIC   0x414e4963
 
#define CURVE_BEZIER_MAGIC   0x62657a69
 
#define CURVE_CARC_MAGIC   0x63617263
 
#define CURVE_LSEG_MAGIC   0x6c736567
 
#define CURVE_NURB_MAGIC   0x6e757262
 
#define DB5_RAW_INTERNAL_MAGIC   0x64357269
 
#define DBI_MAGIC   0x57204381
 
#define DB_FULL_PATH_MAGIC   0x64626670
 
#define LIGHT_MAGIC   0xdbddbdb7
 
#define MF_MAGIC   0x55968058
 
#define PIXEL_EXT_MAGIC   0x50787400
 
#define PL_MAGIC   0x0beef00d
 
#define PT_HD_MAGIC   0x87687680
 
#define PT_MAGIC   0x87687681
 
#define RESOURCE_MAGIC   0x83651835
 
#define RTI_MAGIC   0x99101658
 
#define VERT_TREE_MAGIC   0x56455254
 
#define WDB_METABALLPT_MAGIC   0x6d627074
 
#define WDB_PIPESEG_MAGIC   0x9723ffef
 
#define WMEMBER_MAGIC   0x43128912
 
#define ICV_IMAGE_MAGIC   0x6269666d
 
#define BU_CKMAG(_ptr, _magic, _str)
 

Functions

void bu_badmagic (const uint32_t *ptr, uint32_t magic, const char *str, const char *file, int line)
 
const char * bu_identify_magic (uint32_t magic)
 

Detailed Description

Macro Definition Documentation

#define BU_BITV_MAGIC   0x62697476

bitv

Definition at line 47 of file magic.h.

Referenced by bu_bitv_new(), bu_identify_magic(), and main().

#define BU_COLOR_MAGIC   0x6275636c

bucl

Definition at line 48 of file magic.h.

Referenced by bu_identify_magic(), and main().

#define BU_EXTERNAL_MAGIC   0x768dbbd0

v???

Definition at line 49 of file magic.h.

Referenced by bu_identify_magic(), and main().

#define BU_HASH_ENTRY_MAGIC   0x48454e54

HENT

Definition at line 50 of file magic.h.

Referenced by bu_hash_tbl_add(), and bu_identify_magic().

#define BU_HASH_RECORD_MAGIC   0x68617368

hash

Definition at line 51 of file magic.h.

Referenced by bu_hash_tbl_first(), and bu_identify_magic().

#define BU_HASH_TBL_MAGIC   0x48415348

HASH

Definition at line 52 of file magic.h.

Referenced by bu_hash_tbl_create(), and bu_identify_magic().

#define BU_HIST_MAGIC   0x48697374

Hist

Definition at line 53 of file magic.h.

Referenced by bu_hist_init(), and bu_identify_magic().

#define BU_HOOK_LIST_MAGIC   0x90d5dead

???? => Nietzsche?

Definition at line 54 of file magic.h.

Referenced by bu_hook_add(), and bu_identify_magic().

#define BU_IMAGE_FILE_MAGIC   0x6269666d

bifm

Definition at line 55 of file magic.h.

Referenced by bu_identify_magic().

#define BU_MAPPED_FILE_MAGIC   0x4d617066

Mapf

Definition at line 57 of file magic.h.

Referenced by bu_identify_magic(), and bu_open_mapped_file().

#define BU_OBSERVER_MAGIC   0x65796573

eyes

Definition at line 58 of file magic.h.

#define BU_PTBL_MAGIC   0x7074626c
#define BU_RB_LIST_MAGIC   0x72626c73

rbls

Definition at line 60 of file magic.h.

Referenced by bu_identify_magic(), bu_rb_free(), bu_rb_insert(), rb_free_node(), and rb_free_package().

#define BU_RB_PKG_MAGIC   0x7262706b

rbpk

Definition at line 62 of file magic.h.

Referenced by bu_identify_magic(), bu_rb_free(), bu_rb_insert(), and rb_free_package().

#define BU_VLB_MAGIC   0x5f564c42
#define BU_VLS_MAGIC   0x89333bbb

?3;?

Definition at line 65 of file magic.h.

Referenced by bu_identify_magic(), bu_vls_init(), bu_vls_init_if_uninit(), and bu_vls_vlsfree().

#define BN_GAUSS_MAGIC   0x1e886880

??h? => 512256128

Definition at line 69 of file magic.h.

Referenced by bn_gauss_init(), bn_unif_double_fill(), bn_unif_long_fill(), and bu_identify_magic().

#define BN_POLY_MAGIC   0x506f4c79

PoLy

Definition at line 70 of file magic.h.

Referenced by bu_identify_magic(), and poly_init().

#define BN_SPM_MAGIC   0x41278678

A'?x

Definition at line 71 of file magic.h.

Referenced by bn_spm_init(), and bu_identify_magic().

#define BN_TABDATA_MAGIC   0x53736d70

Ssmp

Definition at line 72 of file magic.h.

Referenced by bn_tabdata_malloc_array(), and bu_identify_magic().

#define BN_TABLE_MAGIC   0x53706374

Spct

Definition at line 73 of file magic.h.

Referenced by bu_identify_magic().

#define BN_UNIF_MAGIC   0x00be7460

??t` => 12481632

Definition at line 75 of file magic.h.

Referenced by bn_unif_double_fill(), bn_unif_init(), bn_unif_long_fill(), and bu_identify_magic().

#define BN_VLBLOCK_MAGIC   0x981bd112

????

Definition at line 76 of file magic.h.

Referenced by bn_vlblock_init(), and bu_identify_magic().

#define BN_VLIST_MAGIC   0x98237474

?#tt

Definition at line 77 of file magic.h.

Referenced by bu_identify_magic().

#define RT_ARBN_INTERNAL_MAGIC   0x18236461

?#da

Definition at line 81 of file magic.h.

Referenced by bu_identify_magic(), ged_make(), mk_arbn(), rt_arbn_import4(), and rt_arbn_import5().

#define RT_ARB_INTERNAL_MAGIC   0x9befd010
#define RT_ARS_INTERNAL_MAGIC   0x77ddbbe3

w???

Definition at line 83 of file magic.h.

Referenced by bu_identify_magic(), ged_make(), mk_ars(), rt_ars_import4(), and rt_ars_import5().

#define RT_BINUNIF_INTERNAL_MAGIC   0x42696e55
#define RT_BOT_INTERNAL_MAGIC   0x626f7472
#define RT_BREP_INTERNAL_MAGIC   0x42524550
#define RT_CLINE_INTERNAL_MAGIC   0x43767378

CLIN

Definition at line 87 of file magic.h.

Referenced by bu_identify_magic(), mk_cline(), rt_cline_import4(), and rt_cline_import5().

#define RT_DSP_INTERNAL_MAGIC   0x00000de6

????

Definition at line 88 of file magic.h.

Referenced by bu_identify_magic(), mk_dsp(), rt_dsp_import4(), rt_dsp_import5(), rt_dsp_make(), and rt_hf_to_dsp().

#define RT_EBM_INTERNAL_MAGIC   0xf901b231

???1

Definition at line 89 of file magic.h.

Referenced by bu_identify_magic(), mk_ebm(), rt_ebm_import4(), rt_ebm_import5(), and rt_ebm_make().

#define RT_EHY_INTERNAL_MAGIC   0xaaccee91

????

Definition at line 90 of file magic.h.

Referenced by bu_identify_magic(), ged_make(), mk_ehy(), rt_ehy_import4(), and rt_ehy_import5().

#define RT_ELL_INTERNAL_MAGIC   0x93bb23ff
#define RT_EPA_INTERNAL_MAGIC   0xaaccee90

????

Definition at line 92 of file magic.h.

Referenced by bu_identify_magic(), ged_make(), mk_epa(), rt_epa_import4(), and rt_epa_import5().

#define RT_ETO_INTERNAL_MAGIC   0xaaccee92

????

Definition at line 93 of file magic.h.

Referenced by bu_identify_magic(), ged_make(), mk_eto(), rt_eto_import4(), and rt_eto_import5().

#define RT_EXTRUDE_INTERNAL_MAGIC   0x65787472
#define RT_GRIP_INTERNAL_MAGIC   0x31196205

1?b?

Definition at line 95 of file magic.h.

Referenced by bu_identify_magic(), ged_make(), mk_grip(), rt_grp_import4(), and rt_grp_import5().

#define RT_HALF_INTERNAL_MAGIC   0xaa87bbdd

????

Definition at line 96 of file magic.h.

Referenced by bu_identify_magic(), ged_make(), mk_half(), rt_hlf_import4(), rt_hlf_import5(), and rt_hlf_xform().

#define RT_HF_INTERNAL_MAGIC   0x4846494d

HFIM

Definition at line 97 of file magic.h.

Referenced by bu_identify_magic(), and rt_hf_import4().

#define RT_HYP_INTERNAL_MAGIC   0x68797065

hype

Definition at line 98 of file magic.h.

Referenced by mk_hyp(), and rt_hyp_import5().

#define RT_JOINT_INTERNAL_MAGIC   0x4a6f696e

Join

Definition at line 99 of file magic.h.

Referenced by rt_joint_import5().

#define RT_METABALL_INTERNAL_MAGIC   0x62616c6c

ball

Definition at line 100 of file magic.h.

Referenced by bu_identify_magic(), ged_make(), mk_metaball(), rt_metaball_import5(), and rt_metaball_prep().

#define RT_NURB_INTERNAL_MAGIC   0x002b2bdd

?++?

Definition at line 101 of file magic.h.

Referenced by bu_identify_magic(), mk_bspline(), rt_nurb_import4(), and rt_nurb_import5().

#define RT_PART_INTERNAL_MAGIC   0xaaccee87

????

Definition at line 102 of file magic.h.

Referenced by bu_identify_magic(), ged_make(), mk_particle(), rt_part_import4(), and rt_part_import5().

#define RT_PG_INTERNAL_MAGIC   0x9bfed887

????

Definition at line 103 of file magic.h.

Referenced by bu_identify_magic(), nmg_to_poly(), and rt_pg_import4().

#define RT_PIPE_INTERNAL_MAGIC   0x7dd7bb3e
#define RT_REVOLVE_INTERNAL_MAGIC   0x7265766C

revl

Definition at line 105 of file magic.h.

Referenced by bu_identify_magic(), rt_revolve_import5(), rt_revolve_make(), and rt_revolve_xform().

#define RT_RHC_INTERNAL_MAGIC   0xaaccee89

????

Definition at line 106 of file magic.h.

Referenced by bu_identify_magic(), ged_make(), mk_rhc(), rt_rhc_import4(), and rt_rhc_import5().

#define RT_RPC_INTERNAL_MAGIC   0xaaccee88

????

Definition at line 107 of file magic.h.

Referenced by bu_identify_magic(), ged_make(), mk_rpc(), rt_rpc_import4(), and rt_rpc_import5().

#define RT_SKETCH_INTERNAL_MAGIC   0x736b6574
#define RT_SUBMODEL_INTERNAL_MAGIC   0x7375626d

subm

Definition at line 109 of file magic.h.

Referenced by bu_identify_magic(), mk_submodel(), rt_submodel_import4(), and rt_submodel_import5().

#define RT_SUPERELL_INTERNAL_MAGIC   0xff93bb23

????

Definition at line 110 of file magic.h.

Referenced by bu_identify_magic(), ged_make(), rt_superell_import4(), and rt_superell_import5().

#define RT_TGC_INTERNAL_MAGIC   0xaabbdd87

????

Definition at line 111 of file magic.h.

Referenced by bu_identify_magic(), ged_make(), mk_tgc(), nmg_to_tgc(), rt_tgc_import4(), and rt_tgc_import5().

#define RT_TOR_INTERNAL_MAGIC   0x9bffed87

????

Definition at line 112 of file magic.h.

Referenced by bu_identify_magic(), ged_make(), mk_tor(), rt_tor_import4(), and rt_tor_import5().

#define RT_VOL_INTERNAL_MAGIC   0x987ba1d0

?{??

Definition at line 113 of file magic.h.

Referenced by bu_identify_magic(), mk_vol(), rt_vol_import4(), and rt_vol_import5().

#define RT_PNTS_INTERNAL_MAGIC   0x706e7473

pnts

Definition at line 114 of file magic.h.

Referenced by bu_identify_magic(), ged_make(), ged_make_pnts(), and rt_pnts_import5().

#define RT_ANNOTATION_INTERNAL_MAGIC   0x616e6e6f

anno

Definition at line 115 of file magic.h.

#define RT_HRT_INTERNAL_MAGIC   0x6872743f

hrt?

Definition at line 116 of file magic.h.

Referenced by bu_identify_magic(), mk_hrt(), and rt_hrt_import5().

#define NMG_EDGEUSE2_MAGIC   0x91919191

???? => used in eu->l2.magic

Definition at line 119 of file magic.h.

Referenced by bu_identify_magic(), nmg_common_v_2eg(), nmg_index_of_struct(), nmg_jeg(), nmg_me(), nmg_meonvu(), nmg_veg(), and rt_nmg_ialloc().

#define NMG_EDGEUSE_MAGIC   0x90909090

????

Definition at line 120 of file magic.h.

Referenced by _ged_get_solid_keypoint(), bu_identify_magic(), build_topo_list(), cut_unimonotone(), Eplot(), isect_ray_loopuse(), isect_ray_snurb_face(), nmg_2_vrml(), nmg_assoc_void_shells(), nmg_bot(), nmg_break_crossed_loops(), nmg_break_long_edges(), nmg_brep_face(), nmg_calc_face_plane(), nmg_check_closed_shell(), nmg_ck_closed_surf(), nmg_ck_fu_verts(), nmg_ck_lu(), nmg_classify_lu_lu(), nmg_classify_lu_lu_new(), nmg_classify_pt_loop_new(), nmg_complex_vertex_solve(), nmg_connect_same_fu_orients(), nmg_crackshells(), nmg_cut_lu_into_coplanar_and_non(), nmg_dangling_face(), nmg_decompose_shell(), nmg_demote_lu(), nmg_edge_collapse(), nmg_edge_fuse(), nmg_extrude_face(), nmg_extrude_shell(), nmg_face_fix_radial_parity(), nmg_face_state_transition(), nmg_faces_are_radial(), nmg_faceuse_area(), nmg_fcut_face(), nmg_find_e(), nmg_find_eu_in_face(), nmg_find_eu_of_vu(), nmg_find_eu_with_vu_in_lu(), nmg_find_fu_of_vu(), nmg_find_isect_faces(), nmg_find_model(), nmg_find_path(), nmg_find_pt_in_lu(), nmg_find_repeated_v_in_lu(), nmg_find_shell(), nmg_find_top_face_in_dir(), nmg_find_v_in_face(), nmg_find_v_in_shell(), nmg_findeu(), nmg_fix_overlapping_loops(), nmg_flatten_face(), nmg_follow_free_edges_to_vertex(), nmg_fu_planeeqn(), nmg_get_edge_lines(), nmg_get_interior_pt(), nmg_get_touching_jaunts(), nmg_glue_face_in_shell(), nmg_gluefaces(), nmg_index_of_struct(), nmg_intersect_loops_self(), nmg_is_edge_in_looplist(), nmg_is_vertex_in_face(), nmg_is_vertex_in_looplist(), nmg_isect2d_prep(), nmg_isect_2faceuse(), nmg_isect_eu_fu(), nmg_isect_line2_face2pNEW(), nmg_join_singvu_loop(), nmg_join_touchingloops(), nmg_k0eu(), nmg_keu_zl(), nmg_kill_accordions(), nmg_kill_anti_loops(), nmg_kill_cracks(), nmg_kill_cracks_at_vertex(), nmg_kill_non_common_cracks(), nmg_kill_snakes(), nmg_kill_zero_length_edgeuses(), nmg_klu(), nmg_kvu(), nmg_loop_g(), nmg_loop_is_a_crack(), nmg_loop_plane_area(), nmg_loop_plane_area2(), nmg_loop_plane_newell(), nmg_loop_touches_self(), nmg_lu_is_convex(), nmg_make_dualvu(), nmg_me(), nmg_meonvu(), nmg_mesh_two_faces(), nmg_no_isect_fu_pl(), nmg_open_shells_connect(), nmg_pl_isect(), nmg_plot_fu(), nmg_plot_open_edges(), nmg_pr_lu(), nmg_pr_lu_briefly(), nmg_pr_ptbl(), nmg_pr_ptbl_vert_list(), nmg_pr_vu(), nmg_propagate_normals(), nmg_remove_short_eus_inter(), nmg_reverse_face_and_radials(), nmg_reverse_radials(), nmg_rm_redundancies(), nmg_search_v_eg(), nmg_show_broken_classifier_stuff(), nmg_simplify_loop(), nmg_simplify_shell_edges(), nmg_snurb_calc_lu_uv_orient(), nmg_split_loops_handler(), nmg_split_touchingloops(), nmg_to_poly(), nmg_to_tgc(), nmg_translate_face(), nmg_tri_kill_accordions(), nmg_triangulate_fu(), nmg_triangulate_rm_degen_loopuse(), nmg_uv_in_lu(), nmg_veu(), nmg_visit(), nmg_vlblock_lu(), nmg_vlu(), rt_ehy_tess(), rt_hyp_tess(), rt_nmg_ialloc(), rt_nmg_magic_to_kind(), rt_tgc_tess(), Shell_is_arb(), tesselate_pipe_end(), tesselate_pipe_start(), validate_tbl2d(), and vertex_neighborhood().

#define NMG_FACE_MAGIC   0x45454545
#define NMG_INTER_STRUCT_MAGIC   0x99912120

??!

Definition at line 128 of file magic.h.

Referenced by nmg_crackshells(), nmg_isect2d_final_cleanup(), and nmg_isect_two_generic_faces().

#define NMG_KNOT_VECTOR_MAGIC   0x6b6e6f74

knot

Definition at line 129 of file magic.h.

Referenced by bu_identify_magic(), and nmg_face_g_snurb().

#define NMG_LOOP_G_MAGIC   0x6420224c
#define NMG_LOOP_MAGIC   0x67676767
#define NMG_RADIAL_MAGIC   0x52614421

RaD!

Definition at line 134 of file magic.h.

Referenced by bu_identify_magic(), and nmg_radial_build_list().

#define NMG_RAY_DATA_MAGIC   0x01651771

?e?q

Definition at line 135 of file magic.h.

Referenced by bu_identify_magic(), classify_seg(), nmg_class_ray_vs_shell(), rt_nmg_shot(), and shoot_and_plot().

#define NMG_REGION_A_MAGIC   0x696e6720
#define NMG_RT_HIT_MAGIC   0x48697400
#define NMG_RT_HIT_SUB_MAGIC   0x48696d00
#define NMG_RT_MISS_MAGIC   0x4d697300
#define NMG_SHELL_A_MAGIC   0x65207761
#define NMG_VERTEXUSE_A_PLANE_MAGIC   0x69676874
#define NMG_VERTEXUSE_MAGIC   0x12341234

?4?4

Definition at line 145 of file magic.h.

Referenced by bu_identify_magic(), build_topo_list(), isect_ray_loopuse(), nmg_ck_closed_surf(), nmg_ck_face_worthless_edges(), nmg_ck_fu_verts(), nmg_ck_lu(), nmg_ck_lueu(), nmg_class_lu_fu(), nmg_class_pt_lu_except(), nmg_classify_lu_lu(), nmg_close_shell(), nmg_demote_lu(), nmg_does_fu_use_eg(), nmg_dup_loop(), nmg_eval_shell(), nmg_face_rs_init(), nmg_fcut_face(), nmg_find_edge_between_2fu(), nmg_find_eg_between_2fg(), nmg_find_max_index(), nmg_find_model(), nmg_find_pt_in_lu(), nmg_find_shell(), nmg_find_vertex_in_lu(), nmg_flatten_face(), nmg_hollow_shell(), nmg_in_or_ref(), nmg_index_of_struct(), nmg_is_common_bigloop(), nmg_is_edge_in_looplist(), nmg_is_vertex_in_looplist(), nmg_isect_face3p_shell_int(), nmg_isect_line2_face2pNEW(), nmg_isect_vert2p_face2p(), nmg_klu(), nmg_loop_g(), nmg_lu_reorient(), nmg_lu_to_vlist(), nmg_m_reindex(), nmg_m_set_high_bit(), nmg_m_struct_count(), nmg_meonvu(), nmg_move_edge_thru_pt(), nmg_open_shells_connect(), nmg_pl_isect(), nmg_pr_lu(), nmg_pr_lu_briefly(), nmg_pr_ptbl(), nmg_pr_ptbl_vert_list(), nmg_pr_vu(), nmg_purge_unwanted_intersection_points(), nmg_reclassify_lu_eu(), nmg_rm_redundancies(), nmg_sanitize_s_lv(), nmg_show_broken_classifier_stuff(), nmg_show_each_loop(), nmg_tabulate_face_g_verts(), nmg_translate_face(), nmg_triangulate_rm_degen_loopuse(), nmg_visit(), nmg_visit_loopuse(), nmg_vlblock_lu(), nmg_vlu(), nmg_vvu(), rt_nmg_get(), rt_nmg_ialloc(), and rt_nmg_magic_to_kind().

#define NMG_VERTEX_G_MAGIC   0x72737707
#define RT_ANP_MAGIC   0x41507270

APrp

Definition at line 151 of file magic.h.

Referenced by bu_identify_magic().

#define RT_AP_MAGIC   0x4170706c
#define RT_COMB_MAGIC   0x436f6d49

ComI

Definition at line 153 of file magic.h.

Referenced by bu_identify_magic().

#define RT_CONSTRAINT_MAGIC   0x7063696d

pcim

Definition at line 154 of file magic.h.

Referenced by bu_identify_magic(), ged_cc(), and mk_constraint().

#define RT_CTS_MAGIC   0x98989123

???#

Definition at line 155 of file magic.h.

Referenced by bu_identify_magic(), db_dup_combined_tree_state(), and db_new_combined_tree_state().

#define RT_DB_TRAVERSE_MAGIC   0x64627472

dbtr

Definition at line 156 of file magic.h.

Referenced by bu_identify_magic().

#define RT_DBTS_MAGIC   0x64627473

dbts

Definition at line 157 of file magic.h.

Referenced by bu_identify_magic(), and db_init_db_tree_state().

#define RT_DB_INTERNAL_MAGIC   0x0dbbd867

???g

Definition at line 158 of file magic.h.

Referenced by bu_identify_magic(), rt_ars_prep(), and rt_pnts_plot().

#define RT_DIR_MAGIC   0x05551212

?U?? => Directory assistance

Definition at line 159 of file magic.h.

Referenced by bu_identify_magic(), color_putrec(), color_zaprec(), db_alloc_directory_block(), and db_update_ident().

#define RT_FUNCTAB_MAGIC   0x46754e63

FuNc

Definition at line 160 of file magic.h.

Referenced by bu_identify_magic().

#define RT_HTBL_MAGIC   0x6874626c

htbl

Definition at line 162 of file magic.h.

Referenced by bu_identify_magic(), and rt_htbl_init().

#define RT_PIECELIST_MAGIC   0x70636c73

pcls

Definition at line 163 of file magic.h.

Referenced by bu_identify_magic(), insert_in_bsp(), rt_ct_populate_box(), and rt_cut_extend().

#define RT_PIECESTATE_MAGIC   0x70637374

pcst

Definition at line 164 of file magic.h.

Referenced by bu_identify_magic(), and rt_res_pieces_init().

#define RT_REGION_MAGIC   0xdffb8001

????

Definition at line 166 of file magic.h.

Referenced by _rt_gettree_region_end(), and bu_identify_magic().

#define RT_SEG_MAGIC   0x98bcdef1
#define RT_SOLTAB2_MAGIC   0x92bfcde2
#define RT_SOLTAB_MAGIC   0x92bfcde0
#define RT_TESS_TOL_MAGIC   0xb9090dab

????

Definition at line 170 of file magic.h.

Referenced by bu_identify_magic(), ged_bev(), obj_vlist(), rt_new_rti(), and wdb_init().

#define RT_TREE_MAGIC   0x91191191

????

Definition at line 171 of file magic.h.

Referenced by bu_identify_magic(), and db_free_tree().

#define RT_WDB_MAGIC   0x5f576462

_Wdb

Definition at line 172 of file magic.h.

Referenced by bu_identify_magic(), and wdb_init().

#define GED_CMD_MAGIC   0x65786563

exec

Definition at line 176 of file magic.h.

Referenced by zoom_cmd().

#define FB_MAGIC   0xfbfb00fb

????

Definition at line 180 of file magic.h.

Referenced by bu_identify_magic(), fb_open(), and fb_open_existing().

#define FB_WGL_MAGIC   0x574f4642

WOFB

Definition at line 181 of file magic.h.

#define FB_OGL_MAGIC   0x584f4642

XOFB

Definition at line 182 of file magic.h.

#define FB_X24_MAGIC   0x58324642

X2FB

Definition at line 183 of file magic.h.

#define FB_TK_MAGIC   0x544b4642

TKFB

Definition at line 184 of file magic.h.

#define FB_QT_MAGIC   0x51544642

QTFB

Definition at line 185 of file magic.h.

Referenced by qt_open_existing(), and qt_put_fbps().

#define FB_DEBUG_MAGIC   0x44424642

DBFB

Definition at line 186 of file magic.h.

#define FB_DISK_MAGIC   0x44494642

STFB

Definition at line 187 of file magic.h.

#define FB_STK_MAGIC   0x53544642

STFB

Definition at line 188 of file magic.h.

#define FB_MEMORY_MAGIC   0x4d454642

MEFB

Definition at line 189 of file magic.h.

#define FB_REMOTE_MAGIC   0x524d4642

MEFB

Definition at line 190 of file magic.h.

#define FB_NULL_MAGIC   0x4e554642

NUFB

Definition at line 191 of file magic.h.

#define FB_OSGL_MAGIC   0x4f474642

OGFB

Definition at line 192 of file magic.h.

#define ANIMATE_MAGIC   0x414e4963

ANIc

Definition at line 196 of file magic.h.

Referenced by bu_identify_magic(), db_parse_1anim(), and ged_copymat().

#define DB5_RAW_INTERNAL_MAGIC   0x64357269

d5ri

Definition at line 201 of file magic.h.

Referenced by bu_identify_magic(), and db5_scan().

#define DBI_MAGIC   0x57204381

W C?

Definition at line 202 of file magic.h.

Referenced by bu_identify_magic(), db_open(), db_open_inmem(), and ged_open().

#define DB_FULL_PATH_MAGIC   0x64626670
#define LIGHT_MAGIC   0xdbddbdb7

????

Definition at line 204 of file magic.h.

Referenced by bu_identify_magic(), light_maker(), and light_setup().

#define MF_MAGIC   0x55968058

U??X

Definition at line 205 of file magic.h.

Referenced by bu_identify_magic(), and mlib_free().

#define PIXEL_EXT_MAGIC   0x50787400

Pxt

Definition at line 206 of file magic.h.

Referenced by bu_identify_magic().

#define PL_MAGIC   0x0beef00d

???? => mm. bee food.

Definition at line 207 of file magic.h.

Referenced by bu_identify_magic(), GetMaterial(), glass_setup(), mirror_setup(), phong_render(), and phong_setup().

#define PT_HD_MAGIC   0x87687680

?hv?

Definition at line 208 of file magic.h.

Referenced by bu_identify_magic(), rt_fastgen_plate_vol_overlap(), rt_shootray(), and rt_shootray_bundle().

#define PT_MAGIC   0x87687681

?hv?

Definition at line 209 of file magic.h.

Referenced by bu_identify_magic().

#define RESOURCE_MAGIC   0x83651835
#define RTI_MAGIC   0x99101658

???X

Definition at line 211 of file magic.h.

Referenced by bu_identify_magic(), rt_clean(), and rt_new_rti().

#define VERT_TREE_MAGIC   0x56455254

VERT

Definition at line 212 of file magic.h.

Referenced by bu_identify_magic(), create_vert_tree(), and create_vert_tree_w_norms().

#define WDB_METABALLPT_MAGIC   0x6d627074
#define WMEMBER_MAGIC   0x43128912

C???

Definition at line 215 of file magic.h.

Referenced by bu_identify_magic(), and mk_addmember().

#define ICV_IMAGE_MAGIC   0x6269666d

bifm

Definition at line 216 of file magic.h.

Referenced by bw_read(), icv_create(), pix_read(), and ppm_read().

#define BU_CKMAG (   _ptr,
  _magic,
  _str 
)
Value:
{ \
const uintptr_t _ptrval = (const uintptr_t)(_ptr); \
if (UNLIKELY((_ptrval == 0) || (_ptrval & (sizeof(_ptrval)-1)) || *((const uint32_t *)(_ptr)) != (uint32_t)(_magic))) { \
bu_badmagic((const uint32_t *)(_ptr), (uint32_t)_magic, _str, __FILE__, __LINE__); \
} \
}
if(share_geom)
Definition: nmg_mod.c:3829
void bu_badmagic(const uint32_t *ptr, uint32_t magic, const char *str, const char *file, int line)
Definition: badmagic.c:31
#define UNLIKELY(expression)
Definition: common.h:282

Macros to check and validate a structure pointer, given that the first entry in the structure is a magic number. ((void)(1?0:((_ptr), void(), 0)))

Definition at line 233 of file magic.h.

Referenced by _ged_add_metaballpt(), _ged_add_pipept(), _ged_delete_metaballpt(), _ged_delete_pipept(), _ged_ins_pipept(), _ged_move_pipept(), _ged_scale_metaball(), _rb_delete(), _rb_describe_node(), _rb_extreme(), _rb_fixup(), _rb_insert(), _rb_search(), _rb_select(), _rb_set_uniq(), _rb_set_uniq_all(), bu_pr_vlb(), bu_rb_curr(), bu_rb_delete(), bu_rb_diagnose_tree(), bu_rb_extreme(), bu_rb_free(), bu_rb_insert(), bu_rb_is_uniq(), bu_rb_neighbor(), bu_rb_rank(), bu_rb_search(), bu_rb_select(), bu_rb_set_uniqv(), bu_rb_summarize_tree(), bu_rb_walk(), bu_semaphore_acquire(), bu_semaphore_release(), bu_vlb_addr(), bu_vlb_buflen(), bu_vlb_free(), bu_vlb_print(), bu_vlb_reset(), bu_vlb_write(), inwalkdata(), inwalknodes(), mk_add_pipe_pt(), pipe_seg_scale_id(), pipe_seg_scale_od(), pipe_seg_scale_radius(), postwalkdata(), postwalknodes(), prewalkdata(), prewalknodes(), qt_open_existing(), qt_put_fbps(), rb_free_node(), rb_free_package(), rb_neighbor(), rb_rot_left(), rb_rot_right(), and rb_walk().

Function Documentation

void bu_badmagic ( const uint32_t *  ptr,
uint32_t  magic,
const char *  str,
const char *  file,
int  line 
)

Support routine for BU_CKMAG macro.

Definition at line 31 of file badmagic.c.

References bu_bomb(), bu_identify_magic(), MAGICBUFSIZ, and UNLIKELY.

Referenced by main().

Here is the call graph for this function:

const char* bu_identify_magic ( uint32_t  magic)

Given a number which has been found in the magic number field of a structure (which is typically the first entry), determine what kind of structure this magic number pertains to. This is called by the macro BU_CK_MAGIC() to provide a "hint" as to what sort of pointer error might have been made.

Referenced by bu_badmagic(), bu_ck_list_magic(), bu_pr_ptbl(), bu_struct_get(), bu_struct_wrap_buf(), build_topo_list(), main(), nmg_break_all_es_on_v(), nmg_ck_vu_ptbl(), nmg_eval_action(), nmg_find_model(), nmg_find_shell(), nmg_klu(), nmg_loop_g(), nmg_pr_ptbl(), nmg_rt_print_hitmiss(), nmg_visit(), nmg_vvu(), reindex(), and unresolved().