MCPcopy Create free account
hub / github.com/MeshInspector/MeshLib / drawAdvancedOptions

Method drawAdvancedOptions

source/MRViewer/ImGuiMenu.cpp:1976–2104  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1974}
1975
1976bool 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 )

Callers 1

drawSceneContextMenu_Method · 0.80

Calls 15

minFunction · 0.85
maxFunction · 0.85
setDashPatternMethod · 0.80
setMaxRenderingPointsMethod · 0.80
numValidPointsMethod · 0.80
getMainFeatureAlphaMethod · 0.80
setMainFeatureAlphaMethod · 0.80

Tested by

no test coverage detected