(root)/
libredwg-0.13/
test/
unit-testing/
blockvisibilityparameter.c
       1  // looks stable
       2  #define DWG_TYPE DWG_TYPE_BLOCKVISIBILITYPARAMETER
       3  #include "common.c"
       4  
       5  void
       6  api_process (dwg_object *obj)
       7  {
       8    int error, isnew;
       9    BLOCK1PTPARAMETER_fields;
      10    BITCODE_B is_initialized;
      11    BITCODE_B unknown_bool; // DXF 91, history_compression, history_required or
      12                            // is_visible?
      13    BITCODE_T blockvisi_name;
      14    BITCODE_T blockvisi_desc;
      15    BITCODE_BL i, num_blocks;
      16    BITCODE_H *blocks;
      17    BITCODE_BL num_states;
      18    Dwg_BLOCKVISIBILITYPARAMETER_state *states;
      19    BITCODE_H *params;
      20    // BITCODE_T cur_state_name;
      21    // BITCODE_BL cur_state;
      22  
      23    Dwg_Version_Type dwg_version = obj->parent->header.version;
      24    dwg_obj_blockvisibilityparameter *_obj
      25        = dwg_object_to_BLOCKVISIBILITYPARAMETER (obj);
      26  
      27    CHK_EVALEXPR (BLOCKVISIBILITYPARAMETER);
      28    // AcDbBlockElement
      29    CHK_ENTITY_UTF8TEXT (_obj, BLOCKVISIBILITYPARAMETER, name);
      30    CHK_ENTITY_TYPE (_obj, BLOCKVISIBILITYPARAMETER, be_major, BL);
      31    CHK_ENTITY_TYPE (_obj, BLOCKVISIBILITYPARAMETER, be_minor, BL);
      32    CHK_ENTITY_TYPE (_obj, BLOCKVISIBILITYPARAMETER, eed1071, BL);
      33    // AcDbBlockParameter
      34    CHK_ENTITY_TYPE (_obj, BLOCKVISIBILITYPARAMETER, show_properties, B);
      35    CHK_ENTITY_TYPE (_obj, BLOCKVISIBILITYPARAMETER, chain_actions, B);
      36    // AcDbBlock1PtParameter
      37    CHK_ENTITY_3RD (_obj, BLOCKVISIBILITYPARAMETER, def_pt);
      38    CHK_ENTITY_TYPE (_obj, BLOCKVISIBILITYPARAMETER, num_propinfos, BL);
      39    CHK_ENTITY_MAX (_obj, BLOCKVISIBILITYPARAMETER, num_propinfos, BL, 2);
      40    BLOCKPARAMETER_PropInfo (prop1) BLOCKPARAMETER_PropInfo (prop2)
      41        // AcDbBlockVisibilityParameter
      42        CHK_ENTITY_TYPE (_obj, BLOCKVISIBILITYPARAMETER, is_initialized, B);
      43    CHK_ENTITY_TYPE (_obj, BLOCKVISIBILITYPARAMETER, unknown_bool, B);
      44    CHK_ENTITY_UTF8TEXT (_obj, BLOCKVISIBILITYPARAMETER, blockvisi_name);
      45    CHK_ENTITY_UTF8TEXT (_obj, BLOCKVISIBILITYPARAMETER, blockvisi_desc);
      46    CHK_ENTITY_TYPE (_obj, BLOCKVISIBILITYPARAMETER, num_blocks, BL);
      47    CHK_ENTITY_HV (_obj, BLOCKVISIBILITYPARAMETER, blocks, num_blocks);
      48    CHK_ENTITY_TYPE (_obj, BLOCKVISIBILITYPARAMETER, num_states, BL);
      49    if (!dwg_dynapi_entity_value (_obj, "BLOCKVISIBILITYPARAMETER", "states",
      50                                  &states, NULL))
      51      fail ("BLOCKVISIBILITYPARAMETER.states");
      52    else
      53      for (i = 0; i < num_states; i++)
      54        {
      55          CHK_SUBCLASS_UTF8TEXT (states[i], BLOCKVISIBILITYPARAMETER_state,
      56                                 name);
      57          CHK_SUBCLASS_TYPE (states[i], BLOCKVISIBILITYPARAMETER_state,
      58                             num_blocks, BL);
      59          CHK_SUBCLASS_HV (states[i], BLOCKVISIBILITYPARAMETER_state, blocks,
      60                           states[i].num_blocks);
      61          CHK_SUBCLASS_TYPE (states[i], BLOCKVISIBILITYPARAMETER_state,
      62                             num_params, BL);
      63          CHK_SUBCLASS_HV (states[i], BLOCKVISIBILITYPARAMETER_state, params,
      64                           states[i].num_params);
      65        }
      66    // CHK_ENTITY_TYPE (_obj, BLOCKVISIBILITYPARAMETER, cur_state, B);
      67    // CHK_ENTITY_UTF8TEXT (_obj, BLOCKVISIBILITYPARAMETER, cur_state_name);
      68  }