+#if OCC_VERSION_LARGE > 0x06090000
+ // .... -> Stereo group
+ int stereoGroup = pref->addPreference( tr( "PREF_GROUP_STEREO" ), occGroup);
+ pref->setItemProperty( "columns", 2, stereoGroup );
+ // .... -> Stereo type
+ int stereoType = pref->addPreference( tr( "PREF_STEREO_TYPE" ), stereoGroup,
+ LightApp_Preferences::Selector, "OCCViewer", "stereo_type" );
+ aValuesList.clear();
+ anIndicesList.clear();
+ idList.clear();
+ OCCViewer_Viewer::stereoData( aValuesList, idList);
+ foreach( int gid, idList ) anIndicesList << gid;
+ pref->setItemProperty( "strings", aValuesList, stereoType );
+ pref->setItemProperty( "indexes", anIndicesList, stereoType );
+
+ // .... -> Anaglyph filter
+ int anaglyphFilter = pref->addPreference( tr( "PREF_ANAGLYPH_FILTER" ), stereoGroup,
+ LightApp_Preferences::Selector, "OCCViewer", "anaglyph_filter" );
+ aValuesList.clear();
+ anIndicesList.clear();
+ aValuesList << tr("PREF_ANAGLYPH_RED_CYAN") << tr("PREF_ANAGLYPH_YELLOW_BLUE") << tr("PREF_ANAGLYPH_GREEN_MAGENTA");
+ anIndicesList << 0 << 1 << 2;
+
+ pref->setItemProperty( "strings", aValuesList, anaglyphFilter );
+ pref->setItemProperty( "indexes", anIndicesList, anaglyphFilter );
+
+ // .... -> Convergence distance type
+ int occFocusType = pref->addPreference( tr( "PREF_FOCUS_TYPE" ), stereoGroup,
+ LightApp_Preferences::Selector, "OCCViewer", "focus_type" );
+ aValuesList.clear();
+ anIndicesList.clear();
+ aValuesList << tr("PREF_ABSOLUTE") << tr("PREF_RELATIVE");
+ anIndicesList << 0 << 1;
+ pref->setItemProperty( "strings", aValuesList, occFocusType );
+ pref->setItemProperty( "indexes", anIndicesList, occFocusType );
+
+ // .... -> Stereographic focus value
+ int focusValue = pref->addPreference( tr( "PREF_FOCUS_VALUE" ), stereoGroup,
+ LightApp_Preferences::DblSpin, "OCCViewer", "focus_value" );
+ pref->setItemProperty( "precision", 3, focusValue );
+ pref->setItemProperty( "min", 1.0E-03, focusValue );
+ pref->setItemProperty( "max", 1.0E03, focusValue );
+ pref->setItemProperty( "step", 0.05, focusValue );
+
+ // .... -> IOD type
+ int occIODType = pref->addPreference( tr( "PREF_IOD_TYPE" ), stereoGroup,
+ LightApp_Preferences::Selector, "OCCViewer", "iod_type" );
+ aValuesList.clear();
+ anIndicesList.clear();
+ aValuesList << tr("PREF_ABSOLUTE") << tr("PREF_RELATIVE");
+ anIndicesList << 0 << 1;
+ pref->setItemProperty( "strings", aValuesList, occIODType );
+ pref->setItemProperty( "indexes", anIndicesList, occIODType );
+
+ // .... -> Interocular distance (IOD) value
+ int IODValue = pref->addPreference( tr( "PREF_IOD_VALUE" ), stereoGroup,
+ LightApp_Preferences::DblSpin, "OCCViewer", "iod_value" );
+ pref->setItemProperty( "precision", 3, IODValue );
+ pref->setItemProperty( "min", 1.0E-03, IODValue );
+ pref->setItemProperty( "max", 1.0E03, IODValue );
+ pref->setItemProperty( "step", 0.05, IODValue );
+
+ // .... -> Reverse stereo
+ pref->addPreference( tr( "PREF_REVERSE_STEREO" ), stereoGroup,
+ LightApp_Preferences::Bool, "OCCViewer", "reverse_stereo" );
+ // .... -> Enable V-Sync
+ pref->addPreference( tr( "PREF_ENABLE_VSYNC" ), stereoGroup,
+ LightApp_Preferences::Bool, "OCCViewer", "enable_vsync" );
+ // .... -> Enable quad-buffer support
+ pref->addPreference( tr( "PREF_ENABLE_QUAD_BUFFER_SUPPORT" ), stereoGroup,
+ LightApp_Preferences::Bool, "OCCViewer", "enable_quad_buffer_support" );
+#endif