(root)/
libredwg-0.13/
test/
unit-testing/
dimension_linear.c
       1  #define DWG_TYPE DWG_TYPE_DIMENSION_LINEAR
       2  #include "common.c"
       3  
       4  void
       5  api_process (dwg_object *obj)
       6  {
       7    int error;
       8    double elevation, act_measurement, horiz_dir, lspace_factor, text_rotation,
       9        ins_rotation, oblique_angle, dim_rotation;
      10    BITCODE_B flip_arrow1, flip_arrow2;
      11    BITCODE_RC class_version, flag, flag1;
      12    BITCODE_BS lspace_style, attachment;
      13    char *user_text;
      14    int isnew;
      15    dwg_point_2d text_midpt, clone_ins_pt;
      16    dwg_point_3d def_pt, xline1_pt, xline2_pt, extrusion, ins_scale, pt3d;
      17    BITCODE_H dimstyle, block;
      18  
      19    dwg_ent_dim_linear *dim_linear = dwg_object_to_DIMENSION_LINEAR (obj);
      20    dwg_ent_dim *dim = dwg_object_to_DIMENSION (obj);
      21  
      22    /* common */
      23    CHK_ENTITY_TYPE (dim, DIMENSION_LINEAR, class_version, RC);
      24    CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_LINEAR, lspace_style, BS);
      25    CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_LINEAR, lspace_factor, BD);
      26    CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_LINEAR, act_measurement, BD);
      27    CHK_ENTITY_TYPE (dim, DIMENSION_LINEAR, attachment, BS);
      28    CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_LINEAR, elevation, BD);
      29    CHK_ENTITY_3RD (dim, DIMENSION_LINEAR, extrusion);
      30    CHK_ENTITY_2RD_W_OLD (dim, DIMENSION_LINEAR, clone_ins_pt);
      31    CHK_ENTITY_2RD_W_OLD (dim, DIMENSION_LINEAR, text_midpt);
      32    CHK_ENTITY_UTF8TEXT (dim, DIMENSION_LINEAR, user_text);
      33    CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_LINEAR, text_rotation, BD);
      34    CHK_ENTITY_MAX (dim, DIMENSION_LINEAR, text_rotation, BD, MAX_ANGLE);
      35    CHK_ENTITY_3RD_W_OLD (dim, DIMENSION_LINEAR, ins_scale);
      36    CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_LINEAR, ins_rotation, BD);
      37    CHK_ENTITY_MAX (dim, DIMENSION_LINEAR, ins_rotation, BD, MAX_ANGLE);
      38    CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_LINEAR, horiz_dir, BD);
      39    CHK_ENTITY_MAX (dim, DIMENSION_LINEAR, horiz_dir, BD, MAX_ANGLE);
      40    CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_LINEAR, flip_arrow1, B);
      41    CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_LINEAR, flip_arrow2, B);
      42    CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_LINEAR, flag1, RC);
      43    CHK_ENTITY_TYPE (dim, DIMENSION_LINEAR, flag, RC);
      44  
      45    /* linear */
      46    CHK_ENTITY_3RD_W_OLD (dim_linear, DIMENSION_LINEAR, def_pt);
      47    CHK_ENTITY_3RD (dim_linear, DIMENSION_LINEAR, xline1_pt);
      48  #ifdef USE_DEPRECATED_API
      49    dwg_ent_dim_linear_get_13_pt (dim_linear, &pt3d, &error);
      50    if (error || memcmp (&xline1_pt, &pt3d, sizeof (xline1_pt)))
      51      fail ("DIMENSION_LINEAR.xline1_pt");
      52    else
      53      pass ();
      54  #endif
      55    CHK_ENTITY_3RD (dim_linear, DIMENSION_LINEAR, xline2_pt);
      56  #ifdef USE_DEPRECATED_API
      57    dwg_ent_dim_linear_get_14_pt (dim_linear, &pt3d, &error);
      58    if (error || memcmp (&xline2_pt, &pt3d, sizeof (xline2_pt)))
      59      fail ("DIMENSION_LINEAR.xline2_pt");
      60    else
      61      pass ();
      62  #endif
      63    CHK_ENTITY_TYPE (dim_linear, DIMENSION_LINEAR, oblique_angle, BD);
      64    CHK_ENTITY_TYPE_W_OLD (dim_linear, DIMENSION_LINEAR, dim_rotation, BD);
      65  
      66    CHK_ENTITY_H (dim_linear, DIMENSION_LINEAR, dimstyle);
      67    CHK_ENTITY_H (dim_linear, DIMENSION_LINEAR, block);
      68  }