1 // stable
2 #define DWG_TYPE DWG_TYPE_ASSOCNETWORK
3 #include "common.c"
4
5 void
6 api_process (dwg_object *obj)
7 {
8 int error;
9 // ASSOCACTION
10 BITCODE_BS class_version;
11 BITCODE_BL geometry_status;
12 BITCODE_H owningnetwork;
13 BITCODE_H actionbody;
14 BITCODE_BL action_index;
15 BITCODE_BL max_assoc_dep_index;
16 BITCODE_BL num_deps;
17 BITCODE_BL num_owned_params;
18 BITCODE_H *owned_params;
19 BITCODE_BL num_values;
20 Dwg_VALUEPARAM *values;
21 // ASSOCNETWORK
22 BITCODE_BS network_version;
23 BITCODE_BL network_action_index;
24 BITCODE_BL num_actions;
25 Dwg_ASSOCACTION_Deps *actions;
26 BITCODE_BL num_owned_actions;
27 BITCODE_H *owned_actions;
28
29 Dwg_Version_Type dwg_version = obj->parent->header.version;
30 dwg_obj_assocnetwork *_obj = dwg_object_to_ASSOCNETWORK (obj);
31
32 // ASSOCACTION
33 CHK_ENTITY_TYPE (_obj, ASSOCNETWORK, class_version, BS);
34 CHK_ENTITY_TYPE (_obj, ASSOCNETWORK, geometry_status, BL);
35 CHK_ENTITY_MAX (_obj, ASSOCNETWORK, geometry_status, BL, 10);
36 CHK_ENTITY_H (_obj, ASSOCNETWORK, owningnetwork);
37 CHK_ENTITY_H (_obj, ASSOCNETWORK, actionbody);
38 CHK_ENTITY_TYPE (_obj, ASSOCNETWORK, action_index, BL);
39 CHK_ENTITY_TYPE (_obj, ASSOCNETWORK, max_assoc_dep_index, BL);
40 CHK_ENTITY_TYPE (_obj, ASSOCNETWORK, num_deps, BL);
41 for (unsigned i = 0; i < num_deps; i++)
42 {
43 CHK_SUBCLASS_TYPE (_obj->deps[i], ASSOCACTION_Deps, is_owned, B);
44 CHK_SUBCLASS_H (_obj->deps[i], ASSOCACTION_Deps, dep);
45 }
46 CHK_ENTITY_TYPE (_obj, ASSOCNETWORK, num_owned_params, BL);
47 CHK_ENTITY_HV (_obj, ASSOCNETWORK, owned_params, num_owned_params);
48 CHK_ENTITY_TYPE (_obj, ASSOCNETWORK, num_values, BL);
49 CHK_VALUEPARAM (num_values, values);
50
51 // ASSOCNETWORK
52 CHK_ENTITY_TYPE (_obj, ASSOCNETWORK, network_version, BL);
53 CHK_ENTITY_TYPE (_obj, ASSOCNETWORK, network_action_index, BL);
54 CHK_ENTITY_TYPE (_obj, ASSOCNETWORK, num_actions, BL);
55 for (unsigned i = 0; i < num_actions; i++)
56 {
57 CHK_SUBCLASS_TYPE (_obj->actions[i], ASSOCACTION_Deps, is_owned, B);
58 CHK_SUBCLASS_H (_obj->actions[i], ASSOCACTION_Deps, dep);
59 }
60 CHK_ENTITY_TYPE (_obj, ASSOCNETWORK, num_owned_actions, BL);
61 CHK_ENTITY_HV (_obj, ASSOCNETWORK, owned_actions, num_owned_actions);
62 }