libmove3d
3.13.0
|
00001 #ifndef KCD_AABB_HIER_H 00002 #define KCD_AABB_HIER_H 00003 00004 /* #include "kcd.h" */ 00005 00006 typedef struct axis_list_el{ 00007 double val; /* key on which this element is sorted */ 00008 int the_bb; /* AABB from which val originates */ 00009 }axis_list_el,*axis_list_elp,**axis_list_elpp; 00010 00011 typedef struct aabb_hier_el{ 00012 int the_bb; /* AABB around the group of AABBs in lists, nr in all_bbs */ 00013 int this_hier_level; 00014 int this_place_at_level; 00015 axis_list_elp *aabb_xlist; 00016 int aabb_xlist_nofels; 00017 axis_list_elp *aabb_ylist; 00018 int aabb_ylist_nofels; 00019 axis_list_elp *aabb_zlist; 00020 int aabb_zlist_nofels; 00021 /* children of type aabb_hier_el */ 00022 int group_below_nr; /* nr of children */ 00023 int *group_below_aabb_hier_el; /* indices on lower level */ 00024 }aabb_hier_el; 00025 00026 typedef struct hash_on_aabb_axis_list 00027 { 00028 double hashval; 00029 axis_list_el *hashed_el; 00030 }hash_on_aabb_axis_list; 00031 00032 typedef aabb_hier_el *kcd_aabb_list ; 00033 typedef kcd_aabb_list *kcd_aabb_lists; 00034 00035 00036 #endif 00037