mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-09-14 02:03:12 +02:00
Array: iterate backwards, but number forwards
This commit is contained in:
parent
b931dc5299
commit
15ece9f5de
@ -82,9 +82,10 @@ void ARRAY_CREATOR::Invoke()
|
|||||||
|
|
||||||
EDA_ITEMS all_added_items;
|
EDA_ITEMS all_added_items;
|
||||||
|
|
||||||
|
int arraySize = array_opts->GetArraySize();
|
||||||
// Iterate in reverse so the original items go last, and we can
|
// Iterate in reverse so the original items go last, and we can
|
||||||
// use them for the positions of the clones.
|
// use them for the positions of the clones.
|
||||||
for( int ptN = array_opts->GetArraySize() - 1; ptN >= 0; --ptN )
|
for( int ptN = arraySize - 1; ptN >= 0; --ptN )
|
||||||
{
|
{
|
||||||
PCB_SELECTION items_for_this_block;
|
PCB_SELECTION items_for_this_block;
|
||||||
std::set<FOOTPRINT*> fpDeDupe;
|
std::set<FOOTPRINT*> fpDeDupe;
|
||||||
@ -125,7 +126,8 @@ void ARRAY_CREATOR::Invoke()
|
|||||||
this_item = item;
|
this_item = item;
|
||||||
|
|
||||||
commit.Modify( this_item );
|
commit.Modify( this_item );
|
||||||
TransformItem( *array_opts, ptN, *this_item );
|
|
||||||
|
TransformItem( *array_opts, arraySize - 1, *this_item );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -189,7 +191,8 @@ void ARRAY_CREATOR::Invoke()
|
|||||||
aItem->ClearSelected();
|
aItem->ClearSelected();
|
||||||
} );
|
} );
|
||||||
|
|
||||||
TransformItem( *array_opts, ptN, *this_item );
|
// We're iterating backwards, so the first item is the last in the array
|
||||||
|
TransformItem( *array_opts, arraySize - ptN - 1, *this_item );
|
||||||
|
|
||||||
// If a group is duplicated, add also created members to the board
|
// If a group is duplicated, add also created members to the board
|
||||||
if( this_item->Type() == PCB_GROUP_T )
|
if( this_item->Type() == PCB_GROUP_T )
|
||||||
|
Loading…
x
Reference in New Issue
Block a user