1 // unstable
2 #define DWG_TYPE DWG_TYPE_PLANESURFACE
3 #include "common.c"
4
5 void
6 api_process (dwg_object *obj)
7 {
8 int error, isnew;
9 _3DSOLID_FIELDS;
10
11 BITCODE_BS modeler_format_version;
12 BITCODE_BS u_isolines;
13 BITCODE_BS v_isolines;
14 BITCODE_BL i, class_version;
15
16 Dwg_Version_Type dwg_version = obj->parent->header.version;
17 dwg_ent_planesurface *_obj = dwg_object_to_PLANESURFACE (obj);
18
19 CHK_ENTITY_TYPE (_obj, PLANESURFACE, acis_empty, B);
20 CHK_ENTITY_TYPE (_obj, PLANESURFACE, version, BS);
21 CHK_ENTITY_TYPE (_obj, PLANESURFACE, acis_data, TF);
22 CHK_ENTITY_TYPE (_obj, PLANESURFACE, wireframe_data_present, B);
23 CHK_ENTITY_TYPE (_obj, PLANESURFACE, point_present, B);
24 CHK_ENTITY_3RD (_obj, PLANESURFACE, point);
25 CHK_ENTITY_TYPE (_obj, PLANESURFACE, isoline_present, B);
26 CHK_ENTITY_TYPE (_obj, PLANESURFACE, isolines, BL);
27 CHK_ENTITY_TYPE (_obj, PLANESURFACE, num_wires, BL);
28 CHK_ENTITY_TYPE (_obj, PLANESURFACE, num_silhouettes, BL);
29 if (!dwg_dynapi_entity_value (_obj, "PLANESURFACE", "wires", &wires, NULL))
30 fail ("PLANESURFACE.wires");
31 else
32 {
33 for (i = 0; i < num_wires; i++)
34 printf ("PLANESURFACE.wires[%u]: " FORMAT_BLd "\n", i,
35 wires[i].selection_marker);
36 }
37 if (!dwg_dynapi_entity_value (_obj, "PLANESURFACE", "silhouettes",
38 &silhouettes, NULL))
39 fail ("PLANESURFACE.silhouettes");
40 else
41 {
42 for (i = 0; i < num_silhouettes; i++)
43 printf ("PLANESURFACE.silhouettes[%u]: " FORMAT_BL "\n", i,
44 silhouettes[i].vp_id);
45 }
46 if (dwg_version >= R_2007 && _obj->history_id) // if it did not fail before
47 {
48 CHK_ENTITY_H (_obj, PLANESURFACE, history_id);
49 }
50
51 CHK_ENTITY_TYPE (_obj, PLANESURFACE, modeler_format_version, BS);
52 CHK_ENTITY_TYPE (_obj, PLANESURFACE, u_isolines, BS);
53 CHK_ENTITY_TYPE (_obj, PLANESURFACE, v_isolines, BS);
54 CHK_ENTITY_TYPE (_obj, PLANESURFACE, class_version, BL);
55 }