+ // ... "Clipping" group <<start>>
+ int occClippingGroup = pref->addPreference( tr( "PREF_GROUP_CLIPPING" ), occGroup );
+ // .... -> clipping color
+ pref->addPreference( tr( "PREF_CLIPPING_COLOR" ), occClippingGroup,
+ LightApp_Preferences::Color, "OCCViewer", "clipping_color" );
+ int texturePref = pref->addPreference( "", occClippingGroup, LightApp_Preferences::Frame );
+ pref->setItemProperty( "columns", 2, texturePref );
+ // .... -> use default texture
+ pref->addPreference( tr( "PREF_CLIPPING_DEFAULT_TEXTURE" ), texturePref,
+ LightApp_Preferences::Bool, "OCCViewer", "clipping_use_default_texture" );
+ // .... -> clipping texture
+ int filePref = pref->addPreference( tr( "PREF_CLIPPING_TEXTURE" ), texturePref,
+ LightApp_Preferences::File, "OCCViewer", "clipping_texture" );
+ pref->setItemProperty( "path_filter", tr( "OCC_TEXTURE_FILES" ), filePref );
+ // .... -> modulate
+ pref->addPreference( tr( "PREF_CLIPPING_MODULATE" ), texturePref,
+ LightApp_Preferences::Bool, "OCCViewer", "clipping_modulate" );
+ // .... -> scale factor
+ int scaleFactor = pref->addPreference( tr( "PREF_CLIPPING_SCALE" ), texturePref,
+ LightApp_Preferences::DblSpin, "OCCViewer", "clipping_scale" );
+ pref->setItemProperty( "precision", 3, scaleFactor );
+ pref->setItemProperty( "min", 1.0E-03, scaleFactor );
+ pref->setItemProperty( "max", 1.0E03, scaleFactor );
+ pref->setItemProperty( "step", 0.1, scaleFactor );
+ // ... "Clipping" group <<end>>
+
+ // ... "Ray tracing" group <<start>>
+ int occRayTracingGroup = pref->addPreference( tr( "PREF_GROUP_RAY_TRACING" ), occGroup );
+ int rtPref = pref->addPreference( "", occRayTracingGroup, LightApp_Preferences::Frame );
+ pref->setItemProperty( "columns", 2, rtPref );
+ // .... -> depth
+ int rt_depth = pref->addPreference( tr( "PREF_RAY_TRACING_DEPTH" ), rtPref,
+ LightApp_Preferences::IntSpin, "OCCViewer", "rt_depth" );
+ pref->setItemProperty( "min", 1, rt_depth );
+ pref->setItemProperty( "max", 10, rt_depth );
+ pref->setItemProperty( "step", 1, rt_depth );
+ pref->addPreference( "", rtPref, LightApp_Preferences::Frame );
+ // .... -> specular reflections
+ pref->addPreference( tr( "PREF_RAY_TRACING_REFLECTION" ), rtPref,
+ LightApp_Preferences::Bool, "OCCViewer", "rt_reflection" );
+ // .... -> adaptive anti-aliasing
+ pref->addPreference( tr( "PREF_RAY_TRACING_ANTIALIASING" ), rtPref,
+ LightApp_Preferences::Bool, "OCCViewer", "rt_antialiasing" );
+ // .... -> shadows rendering
+ pref->addPreference( tr( "PREF_RAY_TRACING_SHADOW" ), rtPref,
+ LightApp_Preferences::Bool, "OCCViewer", "rt_shadow" );
+ // .... -> transparent shadow
+ pref->addPreference( tr( "PREF_RAY_TRACING_TRANS_SHADOW" ), rtPref,
+ LightApp_Preferences::Bool, "OCCViewer", "rt_trans_shadow" );
+ // ... "Ray tracing" group <<end>>
+
+ // ... "Light source" group <<start>>
+ int occLightGroup = pref->addPreference( tr( "PREF_GROUP_LIGHT" ), occGroup );
+ // .... -> light color
+ pref->addPreference( tr( "PREF_LIGHT_COLOR" ), occLightGroup,
+ LightApp_Preferences::Color, "OCCViewer", "light_color" );
+ int directionPref = pref->addPreference( "", occLightGroup, LightApp_Preferences::Frame );
+ pref->setItemProperty( "columns", 3, directionPref );
+ // .... -> light direction (dx component)
+ int light_dx = pref->addPreference( tr( "Dx" ), directionPref,
+ LightApp_Preferences::DblSpin, "OCCViewer", "light_dx" );
+ pref->setItemProperty( "precision", 2, light_dx );
+ pref->setItemProperty( "min", -1.0E03, light_dx );
+ pref->setItemProperty( "max", 1.0E03, light_dx );
+ pref->setItemProperty( "step", 0.1, light_dx );
+ // .... -> light direction (dy component)
+ int light_dy = pref->addPreference( tr( "Dy" ), directionPref,
+ LightApp_Preferences::DblSpin, "OCCViewer", "light_dy" );
+ pref->setItemProperty( "precision", 2, light_dy );
+ pref->setItemProperty( "min", -1.0E03, light_dy );
+ pref->setItemProperty( "max", 1.0E03, light_dy );
+ pref->setItemProperty( "step", 0.1, light_dy );
+ // .... -> light direction (dz component)
+ int light_dz = pref->addPreference( tr( "Dz" ), directionPref,
+ LightApp_Preferences::DblSpin, "OCCViewer", "light_dz" );
+ pref->setItemProperty( "precision", 2, light_dz );
+ pref->setItemProperty( "min", -1.0E03, light_dz );
+ pref->setItemProperty( "max", 1.0E03, light_dz );
+ pref->setItemProperty( "step", 0.1, light_dz );
+ // ... "Light source" group <<end>>
+