10aede80e4b0702c39fe57d4762b25f10708b836
4 #define CURR_OBI (OB[obi])
5 #define CURR_VBI (VB[vbi])
6 #define CURR_CBI (CB[cbi])
7 #define IS_SUBCLASS() (CB[cbi].num_subclasses)
9 //TODO: label and vdat_id
13 if(IS_SUBCLASS()) //if set is set of subclass
14 OB
[obi
].class_id
= CB
[cbi
].subclass_list
[subclass_index
].label
; //TODO: specify subclass other than label?
16 OB
[obi
].class_id
= CB
[cbi
].label
;
18 CB
[cbi
].set_list
[set_index
].odat_id
= obi
;
19 CB
[cbi
].set_list
[set_index
].parent_id
= OB
[obi
].class_id
;
20 //TODO: add ele_stack is created in element_list
25 #define CURR_QUAD (OB[obi].ref_list[ref_index])
27 insert_ref(int x
, int y
, int z
, int ref
)
36 //Insert element into OB and CB
38 insert_ele(char* label
, int vdat_id
)
42 OB
[obi
].label
= label
;
43 OB
[obi
].vdat_id
= vdat_id
;
44 //TODO: check set_obi to see if set_map_data exists
45 OB
[obi
].num_ref
= OB
[set_obi
].num_ref
;
46 OB
[obi
].ref_list
= OB
[set_obi
].ref_list
;
47 OB
[obi
].class_id
= cbi
;
51 CB
[cbi
].subclass_list
[subclass_index
].set_list
[set_index
].ele_list
[ele_index
].odat_id
= obi
;
52 CB
[cbi
].subclass_list
[subclass_index
].set_list
[set_index
].ele_list
[ele_index
].parent_id
= CB
[cbi
].subclass_list
[subclass_index
].set_index
;
56 CB
[cbi
].set_list
[set_index
].ele_list
[ele_index
].odat_id
= obi
;
57 CB
[cbi
].set_list
[set_index
].ele_list
[ele_index
].parent_id
= CB
[cbi
].set_index
;
64 /* fd could be a directory entry */
66 insert_fdat(char* label
, char direction
, int fd
)
68 VB
[vbi
].model_list
[VB
[vbi
].len
].label
= label
;
69 VB
[vbi
].model_list
[VB
[vbi
].len
].fdat_id
[(int)direction
] = fd
;
79 vp
= fopen("vdat_output", w
+);
81 perror("vdat_output failed to open\n");
83 op
= fopen("odat_output", w
+);
85 perror("odat_output failed to open\n");
87 cp
= fopen("cdat_output", w
+);
89 perror("cdat_output failed to open\n");
94 for(v
= 0; v
<= vbi
; v
++)
96 num_models
= VB
[v
].num_models
; //data duplication for caching
97 for(m
= 0; m
<= num_models
; m
++)
104 /* Convert ref_list to actual offset */