X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=radiant%2Fbrush.h;h=c467af92110ebd5dae6e81197de2cdd1b5aa40ce;hb=0261afc6df181092b7d57751fec84e21d3ac593c;hp=d26547e8a2116d7aa7f4bea10bf00520fb2da669;hpb=dd7f4f1689e8ede7580bdfa8e08d0b78d08f5253;p=xonotic%2Fnetradiant.git diff --git a/radiant/brush.h b/radiant/brush.h index d26547e8..c467af92 100644 --- a/radiant/brush.h +++ b/radiant/brush.h @@ -3428,6 +3428,39 @@ void testSelectComponents( Selector& selector, SelectionTest& test, SelectionSys } } +void invertComponentSelection( SelectionSystem::EComponentMode mode ){ + switch ( mode ) + { + case SelectionSystem::eVertex: + { + for ( VertexInstances::iterator i = m_vertexInstances.begin(); i != m_vertexInstances.end(); ++i ) + { + ( *i ).setSelected( !( *i ).isSelected() ); + } + } + break; + case SelectionSystem::eEdge: + { + for ( EdgeInstances::iterator i = m_edgeInstances.begin(); i != m_edgeInstances.end(); ++i ) + { + ( *i ).setSelected( !( *i ).isSelected() ); + } + } + break; + case SelectionSystem::eFace: + { + for ( FaceInstances::iterator i = m_faceInstances.begin(); i != m_faceInstances.end(); ++i ) + { + if( !( *i ).getFace().isFiltered() ) + ( *i ).setSelected( mode, !( *i ).isSelected() ); + } + } + break; + default: + break; + } +} + void selectPlanes( Selector& selector, SelectionTest& test, const PlaneCallback& selectedPlaneCallback ){ test.BeginMesh( localToWorld() );