(root)/
libredwg-0.13/
test/
unit-testing/
assocnetwork.c
       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  }