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 }