1 #define DWG_TYPE DWG_TYPE_MENTALRAYRENDERSETTINGS
2 #include "common.c"
3
4 void
5 api_process (dwg_object *obj)
6 {
7 int error, isnew;
8 // AcDbRenderSettings
9 BITCODE_BL class_version;
10 BITCODE_T name;
11 BITCODE_B fog_enabled;
12 BITCODE_B fog_background_enabled;
13 BITCODE_B backfaces_enabled;
14 BITCODE_B environ_image_enabled;
15 BITCODE_T environ_image_filename;
16 BITCODE_T description;
17 BITCODE_BL display_index;
18 BITCODE_B has_predefined; /*!< DXF 290, r2013 only */
19 // AcDbMentalRayRenderSettings
20 BITCODE_BL mr_version; /*!< DXF 90, always 2 */
21 BITCODE_BL sampling1; /*!< DXF 90 */
22 BITCODE_BL sampling2; /*!< DXF 90 */
23 BITCODE_BS sampling_mr_filter; /*!< DXF 70 */
24 BITCODE_BD sampling_filter1; /*!< DXF 40 */
25 BITCODE_BD sampling_filter2; /*!< DXF 40 */
26 BITCODE_BD sampling_contrast_color1; /*!< DXF 40 */
27 BITCODE_BD sampling_contrast_color2; /*!< DXF 40 */
28 BITCODE_BD sampling_contrast_color3; /*!< DXF 40 */
29 BITCODE_BD sampling_contrast_color4; /*!< DXF 40 */
30 BITCODE_BS shadow_mode; /*!< DXF 70 */
31 BITCODE_B shadow_maps_enabled; /*!< DXF 290 */
32 BITCODE_B ray_tracing_enabled; /*!< DXF 290 */
33 BITCODE_BL ray_trace_depth1; /*!< DXF 90 */
34 BITCODE_BL ray_trace_depth2; /*!< DXF 90 */
35 BITCODE_BL ray_trace_depth3; /*!< DXF 90 */
36 BITCODE_B global_illumination_enabled; /*!< DXF 290 */
37 BITCODE_BL gi_sample_count; /*!< DXF 90 */
38 BITCODE_B gi_sample_radius_enabled; /*!< DXF 290 */
39 BITCODE_BD gi_sample_radius; /*!< DXF 40 */
40 BITCODE_BL gi_photons_per_light; /*!< DXF 90 */
41 BITCODE_BL photon_trace_depth1; /*!< DXF 90 */
42 BITCODE_BL photon_trace_depth2; /*!< DXF 90 */
43 BITCODE_BL photon_trace_depth3; /*!< DXF 90 */
44 BITCODE_B final_gathering_enabled; /*!< DXF 290 */
45 BITCODE_BL fg_ray_count; /*!< DXF 90 */
46 BITCODE_B fg_sample_radius_state1; /*!< DXF 290 */
47 BITCODE_B fg_sample_radius_state2; /*!< DXF 290 */
48 BITCODE_B fg_sample_radius_state3; /*!< DXF 290 */
49 BITCODE_BD fg_sample_radius1; /*!< DXF 40 */
50 BITCODE_BD fg_sample_radius2; /*!< DXF 40 */
51 BITCODE_BD light_luminance_scale; /*!< DXF 40 */
52 BITCODE_BS diagnostics_mode; /*!< DXF 70 */
53 BITCODE_BS diagnostics_grid_mode; /*!< DXF 70 */
54 BITCODE_BD diagnostics_grid_float; /*!< DXF 40 */
55 BITCODE_BS diagnostics_photon_mode; /*!< DXF 70 */
56 BITCODE_BS diagnostics_bsp_mode; /*!< DXF 70 */
57 BITCODE_B export_mi_enabled; /*!< DXF 290 */
58 BITCODE_T mr_description; /*!< DXF 1 */
59 BITCODE_BL tile_size; /*!< DXF 90 */
60 BITCODE_BS tile_order; /*!< DXF 70 */
61 BITCODE_BL memory_limit; /*!< DXF 90 */
62 BITCODE_B diagnostics_samples_mode; /*!< DXF 290 */
63 BITCODE_BD energy_multiplier; /*!< DXF 40 */
64
65 Dwg_Version_Type dwg_version = obj->parent->header.version;
66 dwg_obj_mentalrayrendersettings *_obj
67 = dwg_object_to_MENTALRAYRENDERSETTINGS (obj);
68
69 // AcDbRenderSettings
70 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, class_version, BL);
71 CHK_ENTITY_UTF8TEXT (_obj, MENTALRAYRENDERSETTINGS, name);
72 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, fog_enabled, B);
73 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, fog_background_enabled, B);
74 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, backfaces_enabled, B);
75 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, environ_image_enabled, B);
76 CHK_ENTITY_UTF8TEXT (_obj, MENTALRAYRENDERSETTINGS, environ_image_filename);
77 CHK_ENTITY_UTF8TEXT (_obj, MENTALRAYRENDERSETTINGS, description);
78 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, display_index, BL);
79 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, has_predefined, B);
80
81 // AcDbMentalRayRenderSettings
82 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, mr_version, BL);
83 CHK_ENTITY_MAX (_obj, MENTALRAYRENDERSETTINGS, mr_version, BL,
84 3); // currently 2
85 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, sampling1, BL);
86 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, sampling2, BL);
87 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, sampling_mr_filter, BS);
88 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, sampling_filter1, BD);
89 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, sampling_filter2, BD);
90 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, sampling_contrast_color1,
91 BD);
92 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, sampling_contrast_color2,
93 BD);
94 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, sampling_contrast_color3,
95 BD);
96 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, sampling_contrast_color4,
97 BD);
98 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, shadow_mode, BS);
99 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, shadow_maps_enabled, B);
100 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, ray_tracing_enabled, B);
101 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, ray_trace_depth1, BL);
102 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, ray_trace_depth2, BL);
103 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, ray_trace_depth3, BL);
104 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, global_illumination_enabled,
105 B);
106 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, gi_sample_count, BL);
107 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, gi_sample_radius_enabled, B);
108 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, gi_sample_radius, BD);
109 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, gi_photons_per_light, BL);
110 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, photon_trace_depth1, BL);
111 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, photon_trace_depth2, BL);
112 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, photon_trace_depth3, BL);
113 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, final_gathering_enabled, B);
114 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, fg_ray_count, BL);
115 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, fg_sample_radius_state1, B);
116 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, fg_sample_radius_state2, B);
117 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, fg_sample_radius_state3, B);
118 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, fg_sample_radius1, BD);
119 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, fg_sample_radius2, BD);
120 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, light_luminance_scale, BD);
121 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, diagnostics_mode, BS);
122 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, diagnostics_grid_mode, BS);
123 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, diagnostics_grid_float, BD);
124 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, diagnostics_photon_mode, BS);
125 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, diagnostics_bsp_mode, BS);
126 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, export_mi_enabled, B);
127 CHK_ENTITY_UTF8TEXT (_obj, MENTALRAYRENDERSETTINGS, mr_description);
128 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, tile_size, BL);
129 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, tile_order, BS);
130 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, memory_limit, BL);
131 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, diagnostics_samples_mode, B);
132 CHK_ENTITY_TYPE (_obj, MENTALRAYRENDERSETTINGS, energy_multiplier, BD);
133 }