| 1974 | } |
| 1975 | |
| 1976 | bool ImGuiMenu::drawAdvancedOptions( const std::vector<std::shared_ptr<VisualObject>>& selectedObjs, SelectedTypesMask selectedMask ) |
| 1977 | { |
| 1978 | if ( selectedObjs.empty() ) |
| 1979 | return false; |
| 1980 | auto currWindow = ImGui::GetCurrentContext()->CurrentWindow; |
| 1981 | if ( currWindow ) |
| 1982 | currWindow->DrawList->PushClipRect( currWindow->OuterRectClipped.Min, currWindow->OuterRectClipped.Max ); |
| 1983 | if ( !RibbonButtonDrawer::CustomCollapsingHeader( _tr( "Advanced" ) ) ) |
| 1984 | { |
| 1985 | if ( currWindow ) |
| 1986 | currWindow->DrawList->PopClipRect(); |
| 1987 | return false; |
| 1988 | } |
| 1989 | if ( currWindow ) |
| 1990 | currWindow->DrawList->PopClipRect(); |
| 1991 | |
| 1992 | const auto& viewportid = viewer->viewport().id; |
| 1993 | |
| 1994 | bool allIsObjMesh = |
| 1995 | selectedMask == SelectedTypesMask::ObjectMeshBit || |
| 1996 | selectedMask == SelectedTypesMask::ObjectMeshHolderBit || |
| 1997 | selectedMask == (SelectedTypesMask::ObjectMeshBit | SelectedTypesMask::ObjectMeshHolderBit); |
| 1998 | |
| 1999 | bool closePopup = false; |
| 2000 | |
| 2001 | if ( allIsObjMesh ) |
| 2002 | { |
| 2003 | make_visualize_checkbox( selectedObjs, _tr( "Polygon Offset" ), MeshVisualizePropertyType::PolygonOffsetFromCamera, viewportid ); |
| 2004 | make_width<ObjectMeshHolder, float>( selectedObjs, _tr( "Point size" ), [&] ( const ObjectMeshHolder* objMesh ) |
| 2005 | { |
| 2006 | return objMesh->getPointSize(); |
| 2007 | }, [&] ( ObjectMeshHolder* objMesh, float value ) |
| 2008 | { |
| 2009 | objMesh->setPointSize( value ); |
| 2010 | } ); |
| 2011 | } |
| 2012 | |
| 2013 | bool allIsObjLines = selectedMask == SelectedTypesMask::ObjectLinesHolderBit; |
| 2014 | if ( allIsObjLines ) |
| 2015 | { |
| 2016 | make_width<ObjectLinesHolder, DashPattern>( selectedObjs, _tr( "Dash" ), [&] ( const ObjectLinesHolder* objLine ) |
| 2017 | { |
| 2018 | return objLine->getDashPattern(); |
| 2019 | }, [&] ( ObjectLinesHolder* objLine, const DashPattern& value ) |
| 2020 | { |
| 2021 | objLine->setDashPattern( value ); |
| 2022 | } ); |
| 2023 | } |
| 2024 | |
| 2025 | make_light_strength( selectedObjs, _tr( "Shininess" ), [&] ( const VisualObject* obj ) |
| 2026 | { |
| 2027 | return obj->getShininess(); |
| 2028 | }, [&] ( VisualObject* obj, float value ) |
| 2029 | { |
| 2030 | obj->setShininess( value ); |
| 2031 | } ); |
| 2032 | |
| 2033 | make_light_strength( selectedObjs, _tr( "Ambient Strength" ), [&] ( const VisualObject* obj ) |
no test coverage detected