1 #define DWG_TYPE DWG_TYPE_POLYLINE_PFACE
2 #include "common.c"
3
4 void
5 api_process (dwg_object *obj)
6 {
7 int error;
8 BITCODE_BS numverts, numfaces;
9 BITCODE_BL num_owned;
10 BITCODE_H first_vertex, last_vertex, *vertex, seqend;
11 Dwg_Version_Type version = obj->parent->header.version;
12
13 dwg_ent_polyline_pface *polyline_pface = dwg_object_to_POLYLINE_PFACE (obj);
14
15 // TODO: rename fields to num_verts, num_faces
16 CHK_ENTITY_TYPE (polyline_pface, POLYLINE_PFACE, numverts, BS);
17 // dwg_ent_polyline_pface_get_numpoints
18 CHK_ENTITY_TYPE_W_OLD (polyline_pface, POLYLINE_PFACE, numfaces, BS);
19 CHK_ENTITY_TYPE (polyline_pface, POLYLINE_PFACE, num_owned, BL);
20 // dwg_ent_polyline_pface_get_points NI
21
22 if (numverts + numfaces == num_owned)
23 ok ("numverts + numfaces == num_owned");
24 else
25 ok ("TODO numverts %d + numfaces %d != num_owned %d", numverts, numfaces,
26 num_owned);
27
28 if (version >= R_13b1 && version <= R_2000)
29 {
30 CHK_ENTITY_H (polyline_pface, POLYLINE_PFACE, first_vertex);
31 CHK_ENTITY_H (polyline_pface, POLYLINE_PFACE, last_vertex);
32 }
33 if (version >= R_2004)
34 {
35 CHK_ENTITY_HV (polyline_pface, POLYLINE_PFACE, vertex, num_owned);
36 }
37 CHK_ENTITY_H (polyline_pface, POLYLINE_PFACE, seqend);
38 }