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

Method drawDrawOptionsColors

source/MRViewer/ImGuiMenu.cpp:2279–2436  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2277}
2278
2279bool ImGuiMenu::drawDrawOptionsColors( const std::vector<std::shared_ptr<VisualObject>>& selectedVisualObjs )
2280{
2281 bool someChanges = false;
2282 const auto& selectedMeshObjs = SceneCache::getAllObjects<ObjectMeshHolder, ObjectSelectivityType::Selected>();
2283 const auto& selectedPointsObjs = SceneCache::getAllObjects<ObjectPointsHolder, ObjectSelectivityType::Selected>();
2284 const auto& selectedLabelObjs = SceneCache::getAllObjects<ObjectLabel, ObjectSelectivityType::Selected>();
2285 const auto& selectedFeatureObjs = SceneCache::getAllObjects<FeatureObject, ObjectSelectivityType::Selected>();
2286 if ( selectedVisualObjs.empty() )
2287 return someChanges;
2288
2289 if ( getViewerInstance().viewport_list.size() > 1 )
2290 {
2291 ImGui::SetNextItemWidth( 75.0f * UI::scale() );
2292
2293 if (ImGui::BeginCombo( _tr( "Viewport Id" ),
2294 selectedViewport_.value() == 0 ? _tr( "Default" ) :
2295 std::to_string( selectedViewport_.value() ).c_str() ) )
2296 {
2297 if ( ImGui::Selectable( _tr( "Default" ) ) )
2298 selectedViewport_ = ViewportId{ 0 };
2299
2300 for ( const auto& viewport : getViewerInstance().viewport_list )
2301 {
2302 if ( ImGui::Selectable( std::to_string( viewport.id.value() ).c_str() ) )
2303 selectedViewport_ = viewport.id;
2304 }
2305
2306 ImGui::EndCombo();
2307 }
2308 }
2309
2310 make_color_selector<VisualObject>( selectedVisualObjs, (s_tr( "Selected color" ) + "##" + std::to_string(selectedViewport_.value())).c_str(), [&] ( const VisualObject* data )
2311 {
2312 return Vector4f( data->getFrontColor(true, selectedViewport_ ) );
2313 }, [&] ( VisualObject* data, const Vector4f& color )
2314 {
2315 data->setFrontColor( Color( color ), true, selectedViewport_ );
2316 } );
2317 make_color_selector<VisualObject>( selectedVisualObjs, _tr( "Unselected color" ), [&] ( const VisualObject* data )
2318 {
2319 return Vector4f( data->getFrontColor( false, selectedViewport_ ) );
2320 }, [&] ( VisualObject* data, const Vector4f& color )
2321 {
2322 data->setFrontColor( Color( color ), false, selectedViewport_ );
2323 } );
2324 make_color_selector<VisualObject>( selectedVisualObjs, _tr( "Back Triangles color" ), [&] ( const VisualObject* data )
2325 {
2326 return Vector4f( data->getBackColor( selectedViewport_ ) );
2327 }, [&] ( VisualObject* data, const Vector4f& color )
2328 {
2329 data->setBackColor( Color( color ), selectedViewport_ );
2330 } );
2331
2332 if ( !selectedMeshObjs.empty() )
2333 {
2334 make_color_selector<ObjectMeshHolder>( selectedMeshObjs, _tr( "Edges color" ), [&] ( const ObjectMeshHolder* data )
2335 {
2336 return Vector4f( data->getEdgesColor( selectedViewport_ ) );

Callers 1

drawSceneContextMenu_Method · 0.80

Calls 15

ColorClass · 0.85
setBackColorMethod · 0.80
setSelectedFacesColorMethod · 0.80
setSelectedEdgesColorMethod · 0.80
setSourcePointColorMethod · 0.80
setLeaderLineColorMethod · 0.80
setContourColorMethod · 0.80
setDecorationsColorMethod · 0.80
setGlobalAlphaMethod · 0.80
scaleFunction · 0.70
emptyMethod · 0.45

Tested by

no test coverage detected