(root)/
libredwg-0.13/
test/
unit-testing/
arc_dimension.c
       1  // unstable
       2  #define DWG_TYPE DWG_TYPE_ARC_DIMENSION
       3  #include "common.c"
       4  
       5  void
       6  api_process (dwg_object *obj)
       7  {
       8    int error, isnew;
       9    double elevation, act_measurement, horiz_dir, lspace_factor, text_rotation,
      10        ins_rotation, leader_len;
      11    BITCODE_T user_text;
      12    BITCODE_B flip_arrow1, flip_arrow2;
      13    BITCODE_RC class_version, flag, flag1;
      14    BITCODE_BS lspace_style, attachment;
      15    dwg_point_2d text_midpt, clone_ins_pt;
      16    dwg_point_3d def_pt, extrusion, ins_scale;
      17    BITCODE_H dimstyle, block;
      18  
      19    BITCODE_3BD xline1_pt;
      20    BITCODE_3BD xline2_pt;
      21    BITCODE_3BD center_pt;
      22    BITCODE_B is_partial;
      23    BITCODE_BD arc_start_param;
      24    BITCODE_BD arc_end_param;
      25    BITCODE_B has_leader;
      26    BITCODE_3BD leader1_pt;
      27    BITCODE_3BD leader2_pt;
      28  
      29    dwg_ent_arc_dimension *arc_dimension = dwg_object_to_ARC_DIMENSION (obj);
      30    dwg_ent_dim *dim = dwg_object_to_DIMENSION (obj);
      31  
      32    // if (obj->fixedtype == DWG_TYPE_UNKNOWN_ENT)
      33    //   return;
      34  
      35    /* DIMENSION_COMMON */
      36    CHK_ENTITY_TYPE (dim, ARC_DIMENSION, class_version, RC);
      37    CHK_ENTITY_TYPE (dim, ARC_DIMENSION, lspace_style, BS);
      38    CHK_ENTITY_TYPE (dim, ARC_DIMENSION, lspace_factor, BD);
      39    CHK_ENTITY_TYPE (dim, ARC_DIMENSION, act_measurement, BD);
      40    CHK_ENTITY_TYPE (dim, ARC_DIMENSION, attachment, BS);
      41    CHK_ENTITY_TYPE (dim, ARC_DIMENSION, elevation, BD);
      42    CHK_ENTITY_3RD (dim, ARC_DIMENSION, extrusion);
      43    CHK_ENTITY_2RD (dim, ARC_DIMENSION, clone_ins_pt);
      44    CHK_ENTITY_2RD (dim, ARC_DIMENSION, text_midpt);
      45    CHK_ENTITY_UTF8TEXT (dim, ARC_DIMENSION, user_text);
      46    CHK_ENTITY_TYPE (dim, ARC_DIMENSION, text_rotation, BD);
      47    CHK_ENTITY_3RD (dim, ARC_DIMENSION, ins_scale);
      48    CHK_ENTITY_TYPE (dim, ARC_DIMENSION, ins_rotation, BD);
      49    CHK_ENTITY_TYPE (dim, ARC_DIMENSION, horiz_dir, BD);
      50    CHK_ENTITY_MAX (dim, ARC_DIMENSION, text_rotation, BD, MAX_ANGLE);
      51    CHK_ENTITY_MAX (dim, ARC_DIMENSION, ins_rotation, BD, MAX_ANGLE);
      52    CHK_ENTITY_MAX (dim, ARC_DIMENSION, horiz_dir, BD, MAX_ANGLE);
      53    CHK_ENTITY_TYPE (dim, ARC_DIMENSION, flip_arrow1, B);
      54    CHK_ENTITY_TYPE (dim, ARC_DIMENSION, flip_arrow2, B);
      55    CHK_ENTITY_TYPE (dim, ARC_DIMENSION, flag1, RC);
      56    CHK_ENTITY_TYPE (dim, ARC_DIMENSION, flag, RC);
      57    CHK_ENTITY_H (dim, ARC_DIMENSION, dimstyle);
      58    CHK_ENTITY_H (dim, ARC_DIMENSION, block);
      59  
      60    /* arc_dimension */
      61    CHK_ENTITY_3RD (arc_dimension, ARC_DIMENSION, def_pt);
      62    CHK_ENTITY_3RD (arc_dimension, ARC_DIMENSION, xline1_pt);
      63    CHK_ENTITY_3RD (arc_dimension, ARC_DIMENSION, xline2_pt);
      64    CHK_ENTITY_3RD (arc_dimension, ARC_DIMENSION, center_pt);
      65    CHK_ENTITY_3RD (arc_dimension, ARC_DIMENSION, leader1_pt);
      66    CHK_ENTITY_3RD (arc_dimension, ARC_DIMENSION, leader2_pt);
      67    CHK_ENTITY_TYPE (arc_dimension, ARC_DIMENSION, arc_start_param, BD);
      68    CHK_ENTITY_TYPE (arc_dimension, ARC_DIMENSION, arc_end_param, BD);
      69    CHK_ENTITY_TYPE (arc_dimension, ARC_DIMENSION, is_partial, B);
      70    CHK_ENTITY_TYPE (arc_dimension, ARC_DIMENSION, has_leader, B);
      71  }