1 // TODO
2 #define DWG_TYPE DWG_TYPE_POINTCLOUDCOLORMAP
3 #include "common.c"
4
5 void
api_process(dwg_object * obj)6 api_process (dwg_object *obj)
7 {
8 int error, isnew;
9 BITCODE_BL i;
10 BITCODE_BS class_version;
11 BITCODE_T def_intensity_colorscheme;
12 BITCODE_T def_elevation_colorscheme;
13 BITCODE_T def_classification_colorscheme;
14 BITCODE_BL num_colorramps;
15 Dwg_POINTCLOUDCOLORMAP_Ramp *colorramps;
16 BITCODE_BL num_classification_colorramps;
17 Dwg_POINTCLOUDCOLORMAP_Ramp *classification_colorramps;
18 Dwg_ColorRamp *ramps;
19
20 Dwg_Version_Type dwg_version = obj->parent->header.version;
21 //#ifdef DEBUG_CLASSES
22 dwg_obj_pointcloudcolormap *_obj = dwg_object_to_POINTCLOUDCOLORMAP (obj);
23
24 CHK_ENTITY_TYPE (_obj, POINTCLOUDCOLORMAP, class_version, BS);
25 CHK_ENTITY_MAX (_obj, POINTCLOUDCOLORMAP, class_version, BS, 3);
26 CHK_ENTITY_UTF8TEXT (_obj, POINTCLOUDCOLORMAP, def_intensity_colorscheme);
27 CHK_ENTITY_UTF8TEXT (_obj, POINTCLOUDCOLORMAP, def_elevation_colorscheme);
28 CHK_ENTITY_UTF8TEXT (_obj, POINTCLOUDCOLORMAP, def_classification_colorscheme);
29 CHK_ENTITY_TYPE (_obj, POINTCLOUDCOLORMAP, num_colorramps, BL);
30 if (!dwg_dynapi_entity_value (_obj, "POINTCLOUDCOLORMAP", "colorramps",
31 &colorramps, NULL))
32 fail ("POINTCLOUDCOLORMAP.colorramps");
33 else
34 for (i = 0; i < num_colorramps; i++)
35 {
36 CHK_SUBCLASS_TYPE (colorramps[i], POINTCLOUDCOLORMAP_Ramp,
37 class_version, BS);
38 CHK_SUBCLASS_TYPE (colorramps[i], POINTCLOUDCOLORMAP_Ramp, num_ramps,
39 BL);
40 if (!dwg_dynapi_subclass_value (&colorramps[i],
41 "POINTCLOUDCOLORMAP_Ramp", "ramps",
42 &ramps, NULL))
43 fail ("POINTCLOUDCOLORMAP_Ramp.ramps");
44 else
45 for (unsigned j = 0; j < colorramps[i].num_ramps; j++)
46 {
47 CHK_SUBCLASS_UTF8TEXT (ramps[j], ColorRamp, colorscheme);
48 CHK_SUBCLASS_TYPE (ramps[j], ColorRamp, unknown_bl, BL);
49 CHK_SUBCLASS_TYPE (ramps[j], ColorRamp, unknown_b, B);
50 }
51 }
52
53 CHK_ENTITY_TYPE (_obj, POINTCLOUDCOLORMAP, num_classification_colorramps, BL);
54 if (!dwg_dynapi_entity_value (_obj, "POINTCLOUDCOLORMAP", "classification_colorramps",
55 &classification_colorramps, NULL))
56 fail ("POINTCLOUDCOLORMAP.classification_colorramps");
57 else
58 for (i = 0; i < num_classification_colorramps; i++)
59 {
60 CHK_SUBCLASS_TYPE (classification_colorramps[i],
61 POINTCLOUDCOLORMAP_Ramp, class_version, BS);
62 CHK_SUBCLASS_TYPE (classification_colorramps[i],
63 POINTCLOUDCOLORMAP_Ramp, num_ramps, BL);
64 if (!dwg_dynapi_subclass_value (&classification_colorramps[i],
65 "POINTCLOUDCOLORMAP_Ramp", "ramps",
66 &ramps, NULL))
67 fail ("POINTCLOUDCOLORMAP_Ramp.ramps");
68 else
69 for (unsigned j = 0; j < classification_colorramps[i].num_ramps; j++)
70 {
71 CHK_SUBCLASS_UTF8TEXT (ramps[j], ColorRamp, colorscheme);
72 CHK_SUBCLASS_TYPE (ramps[j], ColorRamp, unknown_bl, BL);
73 CHK_SUBCLASS_TYPE (ramps[j], ColorRamp, unknown_b, B);
74 }
75 }
76 //#endif
77 }
78