1 #define DWG_TYPE DWG_TYPE_SECTIONVIEWSTYLE
2 #include "common.c"
3
4 void
5 api_process (dwg_object *obj)
6 {
7 int error, isnew;
8 BITCODE_BS class_version; /*!< DXF 70 0 */
9 BITCODE_T desc;
10 BITCODE_B is_modified_for_recompute;
11 BITCODE_T display_name;
12 BITCODE_BL viewstyle_flags;
13
14 BITCODE_BL flags;
15 BITCODE_H identifier_style;
16 BITCODE_CMC identifier_color;
17 BITCODE_BD identifier_height;
18 BITCODE_H arrow_start_symbol;
19 BITCODE_H arrow_end_symbol;
20 BITCODE_CMC arrow_symbol_color;
21 BITCODE_BD arrow_symbol_size;
22 BITCODE_T identifier_exclude_characters;
23 BITCODE_BLd identifier_position;
24 BITCODE_BD identifier_offset;
25 BITCODE_BLd arrow_position;
26 BITCODE_BD arrow_symbol_extension_length;
27 BITCODE_H plane_ltype;
28 BITCODE_BLd plane_linewt;
29 BITCODE_CMC plane_line_color;
30 BITCODE_H bend_ltype;
31 BITCODE_BLd bend_linewt;
32 BITCODE_CMC bend_line_color;
33 BITCODE_BD bend_line_length;
34 BITCODE_BD end_line_overshoot;
35 BITCODE_BD end_line_length;
36 BITCODE_H viewlabel_text_style;
37 BITCODE_CMC viewlabel_text_color;
38 BITCODE_BD viewlabel_text_height;
39 BITCODE_BL viewlabel_attachment;
40 BITCODE_BD viewlabel_offset;
41 BITCODE_BL viewlabel_alignment;
42 BITCODE_T viewlabel_pattern;
43 BITCODE_CMC hatch_color;
44 BITCODE_CMC hatch_bg_color;
45 BITCODE_T hatch_pattern;
46 BITCODE_BD hatch_scale;
47 BITCODE_BLd hatch_transparency;
48 BITCODE_B unknown_b1;
49 BITCODE_B unknown_b2;
50 BITCODE_BL i, num_hatch_angles;
51 BITCODE_BD *hatch_angles;
52
53 Dwg_Version_Type dwg_version = obj->parent->header.version;
54 dwg_obj_sectionviewstyle *_obj = dwg_object_to_SECTIONVIEWSTYLE (obj);
55
56 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, class_version, BS);
57 CHK_ENTITY_UTF8TEXT (_obj, SECTIONVIEWSTYLE, desc);
58 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, is_modified_for_recompute, B);
59 SINCE (R_2018)
60 {
61 CHK_ENTITY_UTF8TEXT (_obj, SECTIONVIEWSTYLE, display_name);
62 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, viewstyle_flags, BLx);
63 }
64
65 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, flags, BLx);
66 CHK_ENTITY_H (_obj, SECTIONVIEWSTYLE, identifier_style);
67 CHK_ENTITY_CMC (_obj, SECTIONVIEWSTYLE, identifier_color);
68 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, identifier_height, BD);
69 CHK_ENTITY_H (_obj, SECTIONVIEWSTYLE, arrow_start_symbol);
70 CHK_ENTITY_H (_obj, SECTIONVIEWSTYLE, arrow_end_symbol);
71 CHK_ENTITY_UTF8TEXT (_obj, SECTIONVIEWSTYLE, identifier_exclude_characters);
72 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, identifier_position, BLd);
73 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, identifier_offset, BD);
74 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, arrow_position, BLd);
75
76 CHK_ENTITY_CMC (_obj, SECTIONVIEWSTYLE, arrow_symbol_color);
77 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, arrow_symbol_size, BD);
78 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, arrow_symbol_extension_length, BD);
79 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, plane_linewt, BLd);
80 CHK_ENTITY_CMC (_obj, SECTIONVIEWSTYLE, plane_line_color);
81 CHK_ENTITY_H (_obj, SECTIONVIEWSTYLE, plane_ltype);
82 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, bend_linewt, BLd);
83 CHK_ENTITY_CMC (_obj, SECTIONVIEWSTYLE, bend_line_color);
84 CHK_ENTITY_H (_obj, SECTIONVIEWSTYLE, bend_ltype);
85 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, bend_line_length, BD);
86 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, end_line_overshoot, BD);
87 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, end_line_length, BD);
88 CHK_ENTITY_H (_obj, SECTIONVIEWSTYLE, viewlabel_text_style);
89 CHK_ENTITY_CMC (_obj, SECTIONVIEWSTYLE, viewlabel_text_color);
90 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, viewlabel_text_height, BD);
91 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, viewlabel_offset, BD);
92 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, viewlabel_attachment, BL);
93 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, viewlabel_alignment, BL);
94 CHK_ENTITY_UTF8TEXT (_obj, SECTIONVIEWSTYLE, viewlabel_pattern);
95 CHK_ENTITY_CMC (_obj, SECTIONVIEWSTYLE, hatch_color);
96 CHK_ENTITY_CMC (_obj, SECTIONVIEWSTYLE, hatch_bg_color);
97 CHK_ENTITY_UTF8TEXT (_obj, SECTIONVIEWSTYLE, hatch_pattern);
98 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, hatch_scale, BD);
99 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, hatch_transparency, BLd);
100 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, unknown_b1, B);
101 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, unknown_b2, B);
102 CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, num_hatch_angles, BL);
103 CHK_ENTITY_VECTOR_TYPE (_obj, SECTIONVIEWSTYLE, hatch_angles,
104 num_hatch_angles, BD);
105 // flag bits:
106 // CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, is_continuous_labeling, B);
107 // CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, show_arrowheads, B);
108 // CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, show_viewlabel, B);
109 // CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, show_all_plane_lines, B);
110 // CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, show_all_bend_identifiers, B);
111 // CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, show_end_and_bend_lines, B);
112 // CHK_ENTITY_TYPE (_obj, SECTIONVIEWSTYLE, show_hatching, B);
113 }