(root)/
libredwg-0.13/
test/
unit-testing/
minsert.c
       1  #define DWG_TYPE DWG_TYPE_MINSERT
       2  #include "common.c"
       3  
       4  void
       5  api_process (dwg_object *obj)
       6  {
       7    int error;
       8    dwg_point_3d ins_pt, extrusion, scale;
       9    double rotation;
      10    BITCODE_BB scale_flag;
      11    BITCODE_B has_attribs;
      12    double col_spacing, row_spacing;
      13    BITCODE_BL num_owned;
      14    BITCODE_BS num_rows, num_cols;
      15    BITCODE_H block_header, first_attrib, last_attrib, seqend, *attribs;
      16  
      17    Dwg_Version_Type version = obj->parent->header.version;
      18    dwg_ent_minsert *minsert = dwg_object_to_MINSERT (obj);
      19  
      20    CHK_ENTITY_3RD_W_OLD (minsert, MINSERT, ins_pt);
      21    CHK_ENTITY_3RD_W_OLD (minsert, MINSERT, scale);
      22    CHK_ENTITY_TYPE (minsert, MINSERT, scale_flag, BB);
      23    CHK_ENTITY_TYPE_W_OLD (minsert, MINSERT, rotation, BD);
      24    CHK_ENTITY_MAX (minsert, MINSERT, rotation, BD, MAX_ANGLE);
      25    CHK_ENTITY_3RD_W_OLD (minsert, MINSERT, extrusion);
      26    CHK_ENTITY_TYPE (minsert, MINSERT, has_attribs, B);
      27    CHK_ENTITY_TYPE_W_OLD (minsert, MINSERT, num_owned, BL);
      28    CHK_ENTITY_TYPE_W_OLD (minsert, MINSERT, num_cols, BS);
      29    CHK_ENTITY_TYPE_W_OLD (minsert, MINSERT, num_rows, BS);
      30    CHK_ENTITY_TYPE_W_OLD (minsert, MINSERT, col_spacing, BD);
      31    CHK_ENTITY_TYPE_W_OLD (minsert, MINSERT, row_spacing, BD);
      32  
      33    CHK_ENTITY_H (minsert, MINSERT, block_header);
      34    if (minsert->has_attribs)
      35      {
      36        if (version <= R_2000)
      37          {
      38            CHK_ENTITY_H (minsert, MINSERT, first_attrib);
      39            CHK_ENTITY_H (minsert, MINSERT, last_attrib);
      40          }
      41        if (version >= R_2004)
      42          {
      43            CHK_ENTITY_HV (minsert, MINSERT, attribs, num_owned);
      44          }
      45        CHK_ENTITY_H (minsert, MINSERT, seqend);
      46      }
      47  }