void EDIT_TOOL::updateRatsnest( bool aRedraw ) { const SELECTION& selection = m_selectionTool->GetSelection(); RN_DATA* ratsnest = getModel<BOARD>()->GetRatsnest(); ratsnest->ClearSimple(); for( unsigned int i = 0; i < selection.items.GetCount(); ++i ) { BOARD_ITEM* item = selection.Item<BOARD_ITEM>( i ); ratsnest->Update( item ); if( aRedraw ) ratsnest->AddSimple( item ); } }
int PCB_EDITOR_CONTROL::UpdateSelectionRatsnest( const TOOL_EVENT& aEvent ) { SELECTION_TOOL* selTool = m_toolMgr->GetTool<SELECTION_TOOL>(); const SELECTION& selection = selTool->GetSelection(); RN_DATA* ratsnest = getModel<BOARD>()->GetRatsnest(); // Update "simple" ratsnest, computed for currently modified items ratsnest->ClearSimple(); for( auto item : selection ) { ratsnest->Update( static_cast<BOARD_ITEM*>( item ) ); ratsnest->AddSimple( static_cast<BOARD_ITEM*>( item ) ); } return 0; }