]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/brush.h
Merge commit '0261afc6df181092b7d57751fec84e21d3ac593c' into garux-merge
[xonotic/netradiant.git] / radiant / brush.h
index 21988f370d82f85e8989c34611e4f991495c462d..74be4f2a6581b9b6b9a11be198dd1e580d6d05cf 100644 (file)
@@ -3550,6 +3550,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() );