1 // TODO
2 #define DWG_TYPE DWG_TYPE_POINTCLOUDCOLORMAP
3 #include "common.c"
4
5 void
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,
29 def_classification_colorscheme);
30 CHK_ENTITY_TYPE (_obj, POINTCLOUDCOLORMAP, num_colorramps, BL);
31 if (!dwg_dynapi_entity_value (_obj, "POINTCLOUDCOLORMAP", "colorramps",
32 &colorramps, NULL))
33 fail ("POINTCLOUDCOLORMAP.colorramps");
34 else
35 for (i = 0; i < num_colorramps; i++)
36 {
37 CHK_SUBCLASS_TYPE (colorramps[i], POINTCLOUDCOLORMAP_Ramp,
38 class_version, BS);
39 CHK_SUBCLASS_TYPE (colorramps[i], POINTCLOUDCOLORMAP_Ramp, num_ramps,
40 BL);
41 if (!dwg_dynapi_subclass_value (&colorramps[i],
42 "POINTCLOUDCOLORMAP_Ramp", "ramps",
43 &ramps, NULL))
44 fail ("POINTCLOUDCOLORMAP_Ramp.ramps");
45 else
46 for (unsigned j = 0; j < colorramps[i].num_ramps; j++)
47 {
48 CHK_SUBCLASS_UTF8TEXT (ramps[j], ColorRamp, colorscheme);
49 CHK_SUBCLASS_TYPE (ramps[j], ColorRamp, unknown_bl, BL);
50 CHK_SUBCLASS_TYPE (ramps[j], ColorRamp, unknown_b, B);
51 }
52 }
53
54 CHK_ENTITY_TYPE (_obj, POINTCLOUDCOLORMAP, num_classification_colorramps,
55 BL);
56 if (!dwg_dynapi_entity_value (_obj, "POINTCLOUDCOLORMAP",
57 "classification_colorramps",
58 &classification_colorramps, NULL))
59 fail ("POINTCLOUDCOLORMAP.classification_colorramps");
60 else
61 for (i = 0; i < num_classification_colorramps; i++)
62 {
63 CHK_SUBCLASS_TYPE (classification_colorramps[i],
64 POINTCLOUDCOLORMAP_Ramp, class_version, BS);
65 CHK_SUBCLASS_TYPE (classification_colorramps[i],
66 POINTCLOUDCOLORMAP_Ramp, num_ramps, BL);
67 if (!dwg_dynapi_subclass_value (&classification_colorramps[i],
68 "POINTCLOUDCOLORMAP_Ramp", "ramps",
69 &ramps, NULL))
70 fail ("POINTCLOUDCOLORMAP_Ramp.ramps");
71 else
72 for (unsigned j = 0; j < classification_colorramps[i].num_ramps; j++)
73 {
74 CHK_SUBCLASS_UTF8TEXT (ramps[j], ColorRamp, colorscheme);
75 CHK_SUBCLASS_TYPE (ramps[j], ColorRamp, unknown_bl, BL);
76 CHK_SUBCLASS_TYPE (ramps[j], ColorRamp, unknown_b, B);
77 }
78 }
79 // #endif
80 }