@@ -18,14 +18,22 @@ int TestSDKOptionsDomains([[maybe_unused]] int argc, [[maybe_unused]] char* argv
1818 test.expect <f3d::options::inexistent_exception>(
1919 " hasDomain inexistent" , [&]() { std::ignore = opt.hasDomain (" inexistent" , style); });
2020
21- // Test getDomain
22- test (" getDomain range" , opt.getDomain (" scene.animation.speed_factor" ), { " 0" , " 2" , " 0.1" });
23- test (" getDomain enum" , opt.getDomain (" render.effect.blending.mode" ),
21+ // Test getRangeDomain
22+ std::pair<std::array<std::string, 2 >, std::string> rangeDomain = opt.getRangeDomain (" scene.animation.speed_factor" );
23+ test (" getRangeDomain range" , rangeDomain.first , {" 0" , " 2" });
24+ test (" getRangeDomain increment" , rangeDomain.second , std::string (" 0.1" ));
25+ test.expect <f3d::options::incompatible_exception>(
26+ " getRangeDomain incompatible" , [&]() { std::ignore = opt.getRangeDomain (" model.scivis.cells" ); });
27+ test.expect <f3d::options::inexistent_exception>(
28+ " getRangeDomain inexistent" , [&]() { std::ignore = opt.getRangeDomain (" inexistent" ); });
29+
30+ // Test getEnumDomain
31+ test (" getEnumDomain" , opt.getEnumDomain (" render.effect.blending.mode" ),
2432 { " none" , " ddp" , " sort" , " sort_cpu" , " stochastic" });
2533 test.expect <f3d::options::incompatible_exception>(
26- " getDomain incompatible" , [&]() { std::ignore = opt.getDomain (" model.scivis.cells" ); });
34+ " getEnumDomain incompatible" , [&]() { std::ignore = opt.getEnumDomain (" model.scivis.cells" ); });
2735 test.expect <f3d::options::inexistent_exception>(
28- " getDomain inexistent" , [&]() { std::ignore = opt.getDomain (" inexistent" ); });
36+ " getEnumDomain inexistent" , [&]() { std::ignore = opt.getEnumDomain (" inexistent" ); });
2937
3038 // Test increase/decrease
3139
@@ -110,25 +118,64 @@ int TestSDKOptionsDomains([[maybe_unused]] int argc, [[maybe_unused]] char* argv
110118 // render.effect.blending.mode: tested above
111119 // scene.animation.speed_factor: tested above
112120 // render.raytracing.samples: tested above
113- test (" interactor.style domain" , opt.getDomain (" interactor.style" ), {" default" , " trackball" , " 2d" });
114- test (" model.color.opacity domain" , opt.getDomain (" model.color.opacity" ), {" 0" , " 1" , " 0.05" });
115- test (" model.material.base_ior domain" , opt.getDomain (" model.material.base_ior" ), {" 0" , " 1" , " 0.05" });
116- test (" model.material.metallic domain" , opt.getDomain (" model.material.metallic" ), {" 0" , " 1" , " 0.05" });
117- test (" model.material.roughness domain" , opt.getDomain (" model.material.roughness" ), {" 0" , " 1" , " 0.05" });
118- test (" model.normal.scale domain" , opt.getDomain (" model.normal.scale" ), {" 0" , " 1" , " 0.05" });
119- test (" model.normal_glyphs.scale domain" , opt.getDomain (" model.normal_glyphs.scale" ), {" 0" , " 10" , " 0.1" });
120- test (" model.point_sprites.size domain" , opt.getDomain (" model.point_sprites.size" ), {" 1" , " 100" , " 1" });
121- test (" model.point_sprites.type domain" , opt.getDomain (" model.point_sprites.type" ), {" none" , " sphere" , " gaussian" , " circle" , " stddev" , " bound" ," cross" });
122- test (" model.scivis.discretization domain" , opt.getDomain (" model.scivis.discretization" ), {" 1" , " 1024" , " 5" });
123- test (" render.backface_type domain" , opt.getDomain (" render.backface_type" ), {" visible" , " hidden" });
124- test (" render.background.blur.coc domain" , opt.getDomain (" render.background.blur.coc" ), {" 0" , " 100" , " 5" });
125- test (" render.effect.antialiasing.mode domain" , opt.getDomain (" render.effect.antialiasing.mode" ), {" none" , " fxaa" , " ssaa" , " taa" });
126- test (" render.light.intensity domain" , opt.getDomain (" render.light.intensity" ), {" 0" , " 5" , " 0.02" });
127- test (" render.line_width domain" , opt.getDomain (" render.line_width" ), {" 0" , " 10" , " 0.1" });
128- test (" render.point_size domain" , opt.getDomain (" render.point_size" ), {" 0" , " 10" , " 0.1" });
129- test (" scene.camera.index domain" , opt.getDomain (" scene.camera.index" ), {});
130- test (" ui.backdrop.opacity domain" , opt.getDomain (" ui.backdrop.opacity" ), {" 0" , " 1" , " 0.05" });
131- test (" ui.scale domain" , opt.getDomain (" ui.scale" ), {" 0" , " 10" , " 0.1" });
121+
122+ rangeDomain = opt.getRangeDomain (" model.color.opacity" );
123+ test (" model.color.opacity range" , rangeDomain.first , {" 0" , " 1" });
124+ test (" model.color.opacity increment" , rangeDomain.second , std::string (" 0.05" ));
125+
126+ rangeDomain = opt.getRangeDomain (" model.material.base_ior" );
127+ test (" model.material.base_ior range" , rangeDomain.first , {" 0" , " 1" });
128+ test (" model.material.base_ior increment" , rangeDomain.second , std::string (" 0.05" ));
129+
130+ rangeDomain = opt.getRangeDomain (" model.material.metallic" );
131+ test (" model.material.metallic range" , rangeDomain.first , {" 0" , " 1" });
132+ test (" model.material.metallic increment" , rangeDomain.second , std::string (" 0.05" ));
133+
134+ rangeDomain = opt.getRangeDomain (" model.material.roughness" );
135+ test (" model.material.roughness range" , rangeDomain.first , {" 0" , " 1" });
136+ test (" model.material.roughness increment" , rangeDomain.second , std::string (" 0.05" ));
137+
138+ rangeDomain = opt.getRangeDomain (" model.normal.scale" );
139+ test (" model.normal.scale range" , rangeDomain.first , {" 0" , " 1" });
140+ test (" model.normal.scale increment" , rangeDomain.second , std::string (" 0.05" ));
141+
142+ rangeDomain = opt.getRangeDomain (" model.normal_glyphs.scale" );
143+ test (" model.normal_glyphs.scale range" , rangeDomain.first , {" 0" , " 10" });
144+ test (" model.normal_glyphs.scale increment" , rangeDomain.second , std::string (" 0.1" ));
145+
146+ rangeDomain = opt.getRangeDomain (" model.scivis.discretization" );
147+ test (" model.scivis.discretization range" , rangeDomain.first , {" 1" , " 1024" });
148+ test (" model.scivis.discretization increment" , rangeDomain.second , std::string (" 5" ));
149+
150+ rangeDomain = opt.getRangeDomain (" render.background.blur.coc" );
151+ test (" render.background.blur.coc range" , rangeDomain.first , {" 0" , " 100" });
152+ test (" render.background.blur.coc increment" , rangeDomain.second , std::string (" 5" ));
153+
154+ rangeDomain = opt.getRangeDomain (" render.light.intensity" );
155+ test (" render.light.intensity range" , rangeDomain.first , {" 0" , " 5" });
156+ test (" render.light.intensity increment" , rangeDomain.second , std::string (" 0.02" ));
157+
158+ rangeDomain = opt.getRangeDomain (" render.line_width" );
159+ test (" render.line_width range" , rangeDomain.first , {" 0" , " 10" });
160+ test (" render.line_width increment" , rangeDomain.second , std::string (" 0.1" ));
161+
162+ rangeDomain = opt.getRangeDomain (" render.point_size" );
163+ test (" render.point_size range" , rangeDomain.first , {" 0" , " 10" });
164+ test (" render.point_size increment" , rangeDomain.second , std::string (" 0.1" ));
165+
166+ rangeDomain = opt.getRangeDomain (" ui.backdrop.opacity" );
167+ test (" ui.backdrop.opacity range" , rangeDomain.first , {" 0" , " 1" });
168+ test (" ui.backdrop.opacity increment" , rangeDomain.second , std::string (" 0.05" ));
169+
170+ rangeDomain = opt.getRangeDomain (" ui.scale" );
171+ test (" ui.scale range" , rangeDomain.first , {" 0" , " 10" });
172+ test (" ui.scale increment" , rangeDomain.second , std::string (" 0.1" ));
173+
174+ test (" interactor.style enum" , opt.getEnumDomain (" interactor.style" ), {" default" , " trackball" , " 2d" });
175+ test (" model.point_sprites.type enum" , opt.getEnumDomain (" model.point_sprites.type" ), {" none" , " sphere" , " gaussian" , " circle" , " stddev" , " bound" ," cross" });
176+ test (" render.backface_type enum" , opt.getEnumDomain (" render.backface_type" ), {" visible" , " hidden" });
177+ test (" render.effect.antialiasing.mode enum" , opt.getEnumDomain (" render.effect.antialiasing.mode" ), {" none" , " fxaa" , " ssaa" , " taa" });
178+ test (" scene.camera.index enum" , opt.getEnumDomain (" scene.camera.index" ), {});
132179 // clang-format on
133180
134181 return test.result ();
0 commit comments