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

Method changeSelection

source/MRViewer/MRSceneObjectsListDrawer.cpp:118–148  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

116}
117
118void SceneObjectsListDrawer::changeSelection( bool isDown, bool isShift )
119{
120 const auto& all = SceneCache::getAllObjects<Object, ObjectSelectivityType::Selectable>();
121 const auto& selected = SceneCache::getAllObjects<Object, ObjectSelectivityType::Selected>();
122 if ( isDown )
123 {
124 if ( downLastSelected_.index != -1 )
125 {
126 if ( !isShift )
127 for ( const auto& data : selected )
128 data->select( false );
129 all[downLastSelected_.index]->select( true );
130 downLastSelected_.needScroll = true;
131 if ( showNewSelectedObjects_ )
132 all[downLastSelected_.index]->setGlobalVisibility( true );
133 }
134 }
135 else
136 {
137 if ( upFirstSelected_.index != -1 )
138 {
139 if ( !isShift )
140 for ( const auto& data : selected )
141 data->select( false );
142 all[upFirstSelected_.index]->select( true );
143 upFirstSelected_.needScroll = true;
144 if ( showNewSelectedObjects_ )
145 all[upFirstSelected_.index]->setGlobalVisibility( true );
146 }
147 }
148}
149
150void SceneObjectsListDrawer::changeVisible( bool isDown )
151{

Callers 1

setupShortcuts_Method · 0.80

Calls 2

setGlobalVisibilityMethod · 0.80
selectMethod · 0.45

Tested by

no test coverage detected