1 #define DWG_TYPE DWG_TYPE_DIMENSION_ALIGNED
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;
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 dwg_point_2d text_midpt, clone_ins_pt, pt2d;
15 dwg_point_3d def_pt, xline1_pt, xline2_pt, extrusion, ins_scale, pt3d;
16 BITCODE_H dimstyle, block;
17 int isnew;
18
19 dwg_ent_dim_aligned *dim_aligned = dwg_object_to_DIMENSION_ALIGNED (obj);
20 dwg_ent_dim *dim = dwg_object_to_DIMENSION (obj);
21
22 /* common */
23 CHK_ENTITY_TYPE (dim, DIMENSION_ALIGNED, class_version, RC);
24 CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_ALIGNED, lspace_style, BS);
25 CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_ALIGNED, lspace_factor, BD);
26 CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_ALIGNED, act_measurement, BD);
27 CHK_ENTITY_TYPE (dim, DIMENSION_ALIGNED, attachment, BS);
28 CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_ALIGNED, elevation, BD);
29 CHK_ENTITY_3RD (dim, DIMENSION_ALIGNED, extrusion);
30 CHK_ENTITY_2RD_W_OLD (dim, DIMENSION_ALIGNED, clone_ins_pt);
31 CHK_ENTITY_2RD_W_OLD (dim, DIMENSION_ALIGNED, text_midpt);
32 CHK_ENTITY_UTF8TEXT (dim, DIMENSION_ALIGNED, user_text);
33 CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_ALIGNED, text_rotation, BD);
34 CHK_ENTITY_3RD_W_OLD (dim, DIMENSION_ALIGNED, ins_scale);
35 CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_ALIGNED, ins_rotation, BD);
36 CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_ALIGNED, horiz_dir, BD);
37 CHK_ENTITY_MAX (dim, DIMENSION_ALIGNED, text_rotation, BD, MAX_ANGLE);
38 CHK_ENTITY_MAX (dim, DIMENSION_ALIGNED, ins_rotation, BD, MAX_ANGLE);
39 CHK_ENTITY_MAX (dim, DIMENSION_ALIGNED, horiz_dir, BD, MAX_ANGLE);
40 CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_ALIGNED, flip_arrow1, B);
41 CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_ALIGNED, flip_arrow2, B);
42 CHK_ENTITY_TYPE_W_OLD (dim, DIMENSION_ALIGNED, flag1, RC);
43 CHK_ENTITY_TYPE (dim, DIMENSION_ALIGNED, flag, RC);
44
45 /* aligned */
46 CHK_ENTITY_3RD_W_OLD (dim_aligned, DIMENSION_ALIGNED, def_pt);
47 CHK_ENTITY_3RD (dim_aligned, DIMENSION_ALIGNED, xline1_pt);
48 #ifdef USE_DEPRECATED_API
49 dwg_ent_dim_aligned_get_13_pt (dim_aligned, &pt3d, &error);
50 if (error || memcmp (&xline1_pt, &pt3d, sizeof (xline1_pt)))
51 fail ("old API dwg_ent_dim_aligned_get_13_pt");
52 else
53 pass ();
54 #endif
55
56 CHK_ENTITY_3RD (dim_aligned, DIMENSION_ALIGNED, xline2_pt);
57 #ifdef USE_DEPRECATED_API
58 dwg_ent_dim_aligned_get_14_pt (dim_aligned, &pt3d, &error);
59 if (error || memcmp (&xline2_pt, &pt3d, sizeof (xline2_pt)))
60 fail ("old API dwg_ent_dim_aligned_get_14_pt");
61 else
62 pass ();
63 #endif
64
65 CHK_ENTITY_TYPE (dim_aligned, DIMENSION_ALIGNED, oblique_angle, BD);
66
67 CHK_ENTITY_H (dim_aligned, DIMENSION_ALIGNED, dimstyle);
68 CHK_ENTITY_H (dim_aligned, DIMENSION_ALIGNED, block);
69 }