![]() |
KiCad PCB EDA Suite
|
Collect all BOARD_ITEM objects of a given set of KICAD_T type(s). More...
#include <collectors.h>
Public Types | |
using | ITER = std::vector< EDA_ITEM * >::iterator |
using | CITER = std::vector< EDA_ITEM * >::const_iterator |
Public Member Functions | |
SEARCH_RESULT | Inspect (EDA_ITEM *testItem, void *testData) override |
The examining function within the INSPECTOR which is passed to the Iterate function. More... | |
void | Collect (BOARD_ITEM *aBoard, const KICAD_T aScanList[]) |
Collect BOARD_ITEM objects using this class's Inspector method, which does the collection. More... | |
BOARD_ITEM * | operator[] (int ndx) const override |
Overload the COLLECTOR::operator[](int) to return a BOARD_ITEM instead of an EDA_ITEM. More... | |
ITER | begin () |
CITER | begin () const |
ITER | end () |
CITER | end () const |
int | GetCount () const |
Return the number of objects in the list. More... | |
void | Empty () |
Clear the list. More... | |
void | Append (EDA_ITEM *item) |
Add an item to the end of the list. More... | |
void | Remove (int aIndex) |
Remove the item at aIndex (first position is 0). More... | |
void | Remove (const EDA_ITEM *aItem) |
Remove the item aItem (if exists in the collector). More... | |
bool | HasAdditionalItems () |
Test if the collector has heuristic backup items. More... | |
void | Combine () |
Re-combine the backup list into the main list of the collector. More... | |
void | Transfer (int aIndex) |
Move the item at aIndex (first position is 0) to the backup list. More... | |
void | Transfer (EDA_ITEM *aItem) |
Move aItem (if exists in the collector) to the backup list. More... | |
bool | HasItem (const EDA_ITEM *aItem) const |
Tests if aItem has already been collected. More... | |
void | SetScanTypes (const KICAD_T *scanTypes) |
Record the list of KICAD_T types to consider for collection by the Inspect() function. More... | |
void | SetRefPos (const wxPoint &aRefPos) |
const EDA_RECT & | GetBoundingBox () const |
int | CountType (KICAD_T aType) |
Count the number of items matching aType. More... | |
Public Attributes | |
int | m_Threshold |
wxString | m_MenuTitle |
bool | m_MenuCancelled |
Protected Attributes | |
std::vector< EDA_ITEM * > | m_list |
std::vector< EDA_ITEM * > | m_backupList |
const KICAD_T * | m_scanTypes |
INSPECTOR_FUNC | m_inspector |
wxPoint | m_refPos |
EDA_RECT | m_refBox |
Collect all BOARD_ITEM objects of a given set of KICAD_T type(s).
Definition at line 618 of file collectors.h.
|
inherited |
Definition at line 77 of file collector.h.
|
inherited |
Definition at line 76 of file collector.h.
|
inlineinherited |
Add an item to the end of the list.
item | An EDA_ITEM* to add. |
Definition at line 105 of file collector.h.
References COLLECTOR::m_list.
Referenced by GENERAL_COLLECTOR::Collect(), EDIT_TOOL::CreateArray(), EDIT_TOOL::doMoveSelection(), PL_SELECTION_TOOL::doSelectionMenu(), EE_SELECTION_TOOL::doSelectionMenu(), PCB_SELECTION_TOOL::doSelectionMenu(), EDIT_TOOL::Drag(), EDIT_TOOL::Duplicate(), PCB_SELECTION_TOOL::FilterCollectorForGroups(), EDIT_TOOL::Flip(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), EE_COLLECTOR::Inspect(), GERBER_COLLECTOR::Inspect(), GENERAL_COLLECTOR::Inspect(), Inspect(), PCB_LAYER_COLLECTOR::Inspect(), EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), ROUTER_TOOL::NeighboringSegmentFilter(), POSITION_RELATIVE_TOOL::PositionRelative(), PCB_SELECTION_TOOL::RequestSelection(), EDIT_TOOL::Rotate(), PCB_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::SelectPoint(), and GERBVIEW_SELECTION_TOOL::selectPoint().
|
inlineinherited |
|
inlineinherited |
void PCB_TYPE_COLLECTOR::Collect | ( | BOARD_ITEM * | aBoard, |
const KICAD_T | aScanList[] | ||
) |
Collect BOARD_ITEM objects using this class's Inspector method, which does the collection.
aBoard | The BOARD_ITEM to scan. |
aScanList | The KICAD_Ts to gather up. |
Definition at line 605 of file collectors.cpp.
References COLLECTOR::Empty(), COLLECTOR::m_inspector, NULL, and EDA_ITEM::Visit().
Referenced by BuildBoardPolygonOutlines(), BuildFootprintPolygonOutlines(), DSN::SPECCTRA_DB::FromBOARD(), GENDRILL_WRITER_BASE::getUniqueLayerPairs(), and DSN::SPECCTRA_DB::makeIMAGE().
|
inlineinherited |
Re-combine the backup list into the main list of the collector.
Definition at line 148 of file collector.h.
References COLLECTOR::m_backupList, and COLLECTOR::m_list.
Referenced by EE_SELECTION_TOOL::doSelectionMenu(), and PCB_SELECTION_TOOL::doSelectionMenu().
|
inlineinherited |
Count the number of items matching aType.
aType | type we are interested in. |
Definition at line 235 of file collector.h.
References COLLECTOR::m_list.
Referenced by ROUTER_TOOL::NeighboringSegmentFilter().
|
inlineinherited |
Clear the list.
Definition at line 95 of file collector.h.
References COLLECTOR::m_list.
Referenced by EE_COLLECTOR::Collect(), GERBER_COLLECTOR::Collect(), GENERAL_COLLECTOR::Collect(), Collect(), PCB_LAYER_COLLECTOR::Collect(), PL_SELECTION_TOOL::doSelectionMenu(), EE_SELECTION_TOOL::doSelectionMenu(), PCB_SELECTION_TOOL::doSelectionMenu(), PAD_TOOL::EnumeratePads(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), ROUTER_TOOL::NeighboringSegmentFilter(), and GERBVIEW_SELECTION_TOOL::selectPoint().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Return the number of objects in the list.
Definition at line 87 of file collector.h.
References COLLECTOR::m_list.
Referenced by BuildBoardPolygonOutlines(), BuildFootprintPolygonOutlines(), EDIT_TOOL::ChangeTrackWidth(), EE_SELECTION_TOOL::CollectHits(), connectedItemFilter(), EDIT_TOOL::copyToClipboard(), FOOTPRINT::CoverageRatio(), EDIT_TOOL::CreateArray(), SCH_EDIT_TOOL::DeleteItemCursor(), PCB_CONTROL::DeleteItemCursor(), GERBVIEW_SELECTION_TOOL::disambiguationMenu(), ALIGN_DISTRIBUTE_TOOL::DistributeHorizontally(), ALIGN_DISTRIBUTE_TOOL::DistributeVertically(), EDIT_TOOL::doMoveSelection(), PL_SELECTION_TOOL::doSelectionMenu(), EE_SELECTION_TOOL::doSelectionMenu(), PCB_SELECTION_TOOL::doSelectionMenu(), EDIT_TOOL::Drag(), EDIT_TOOL::Duplicate(), PAD_TOOL::EnumeratePads(), EDIT_TOOL::FilletTracks(), PCB_SELECTION_TOOL::FilterCollectedItems(), PCB_SELECTION_TOOL::FilterCollectorForGroups(), EDIT_TOOL::Flip(), EDIT_TOOL::FootprintFilter(), DSN::SPECCTRA_DB::FromBOARD(), EE_SELECTION_TOOL::GetNode(), PANEL_SETUP_LAYERS::getNonRemovableLayers(), PANEL_SETUP_LAYERS::getRemovedLayersWithItems(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), GENDRILL_WRITER_BASE::getUniqueLayerPairs(), GROUP_TOOL::Group(), PL_SELECTION_TOOL::guessSelectionCandidates(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), EE_SELECTION_TOOL::GuessSelectionCandidates(), BOARD_INSPECTION_TOOL::highlightNet(), PCB_EDIT_FRAME::inferLegacyEdgeClearance(), EE_COLLECTOR::IsCorner(), CONVERT_TOOL::LinesToPoly(), EE_SELECTION_TOOL::Main(), DSN::SPECCTRA_DB::makeIMAGE(), EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), EE_SELECTION_TOOL::narrowSelection(), ROUTER_TOOL::NeighboringSegmentFilter(), EE_COLLECTOR::operator[](), GERBER_COLLECTOR::operator[](), COLLECTOR::operator[](), PCB_COLLECTOR::operator[](), EDIT_TOOL::PadFilter(), CONVERT_TOOL::PolyToLines(), POSITION_RELATIVE_TOOL::PositionRelative(), EDIT_TOOL::Rotate(), CONVERT_TOOL::SegmentToArc(), PCB_SELECTION_TOOL::selectionContains(), PL_SELECTION_TOOL::SelectPoint(), GERBVIEW_SELECTION_TOOL::selectPoint(), EE_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::selectPoint(), and PANEL_SETUP_LAYERS::TransferDataFromWindow().
|
inlineinherited |
Test if the collector has heuristic backup items.
Definition at line 140 of file collector.h.
References COLLECTOR::m_backupList.
Referenced by EE_SELECTION_TOOL::doSelectionMenu(), and PCB_SELECTION_TOOL::doSelectionMenu().
|
inlineinherited |
Tests if aItem has already been collected.
aItem | The EDA_ITEM* to be tested. |
Definition at line 203 of file collector.h.
References COLLECTOR::m_list.
Referenced by EDIT_TOOL::copyToClipboard(), EDIT_TOOL::CreateArray(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Drag(), EDIT_TOOL::Duplicate(), PCB_SELECTION_TOOL::FilterCollectorForGroups(), EDIT_TOOL::Flip(), EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), POSITION_RELATIVE_TOOL::PositionRelative(), and EDIT_TOOL::Rotate().
|
overridevirtual |
The examining function within the INSPECTOR which is passed to the Iterate function.
testItem | An EDA_ITEM to examine. |
testData | is not used in this class. |
Reimplemented from COLLECTOR.
Definition at line 595 of file collectors.cpp.
References COLLECTOR::Append(), and CONTINUE.
|
inlineoverridevirtualinherited |
Overload the COLLECTOR::operator[](int) to return a BOARD_ITEM instead of an EDA_ITEM.
ndx | The index into the list. |
Reimplemented from COLLECTOR.
Definition at line 222 of file collectors.h.
References COLLECTOR::GetCount(), COLLECTOR::m_list, and NULL.
|
inlineinherited |
Remove the item at aIndex (first position is 0).
aIndex | The index into the list. |
Definition at line 115 of file collector.h.
References COLLECTOR::m_list.
Referenced by EDIT_TOOL::ChangeTrackWidth(), connectedItemFilter(), EDIT_TOOL::copyToClipboard(), EDIT_TOOL::CreateArray(), PCB_CONTROL::DeleteItemCursor(), ALIGN_DISTRIBUTE_TOOL::DistributeHorizontally(), ALIGN_DISTRIBUTE_TOOL::DistributeVertically(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Drag(), EDIT_TOOL::Duplicate(), EDIT_TOOL::FilletTracks(), PCB_SELECTION_TOOL::FilterCollectorForGroups(), EDIT_TOOL::Flip(), EDIT_TOOL::FootprintFilter(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), GROUP_TOOL::Group(), BOARD_INSPECTION_TOOL::highlightNet(), CONVERT_TOOL::LinesToPoly(), EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), EE_SELECTION_TOOL::narrowSelection(), EDIT_TOOL::PadFilter(), CONVERT_TOOL::PolyToLines(), POSITION_RELATIVE_TOOL::PositionRelative(), EDIT_TOOL::Rotate(), CONVERT_TOOL::SegmentToArc(), GERBVIEW_SELECTION_TOOL::selectPoint(), and PCB_SELECTION_TOOL::selectPoint().
|
inlineinherited |
Remove the item aItem (if exists in the collector).
aItem | the item to be removed. |
Definition at line 125 of file collector.h.
References COLLECTOR::m_list.
|
inlineinherited |
Definition at line 225 of file collector.h.
References COLLECTOR::m_refPos.
Referenced by EE_COLLECTOR::Collect(), GERBER_COLLECTOR::Collect(), and GENERAL_COLLECTOR::Collect().
|
inlineinherited |
Record the list of KICAD_T types to consider for collection by the Inspect() function.
scanTypes | An array of KICAD_T, terminated by EOT. No copy is is made of this array (so cannot come from caller's stack). |
Definition at line 220 of file collector.h.
References COLLECTOR::m_scanTypes.
Referenced by EE_COLLECTOR::Collect(), GERBER_COLLECTOR::Collect(), GENERAL_COLLECTOR::Collect(), EE_COLLECTOR::EE_COLLECTOR(), GENERAL_COLLECTOR::GENERAL_COLLECTOR(), and GERBER_COLLECTOR::GERBER_COLLECTOR().
|
inlineinherited |
Move the item at aIndex (first position is 0) to the backup list.
aIndex | The index into the list. |
Definition at line 159 of file collector.h.
References COLLECTOR::m_backupList, and COLLECTOR::m_list.
Referenced by PL_SELECTION_TOOL::guessSelectionCandidates(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), and EE_SELECTION_TOOL::GuessSelectionCandidates().
|
inlineinherited |
Move aItem (if exists in the collector) to the backup list.
aItem | the item to be moved. |
Definition at line 170 of file collector.h.
References COLLECTOR::m_backupList, and COLLECTOR::m_list.
|
protectedinherited |
Definition at line 255 of file collector.h.
Referenced by COLLECTOR::Combine(), COLLECTOR::HasAdditionalItems(), and COLLECTOR::Transfer().
|
protectedinherited |
Definition at line 258 of file collector.h.
Referenced by EE_COLLECTOR::Collect(), GERBER_COLLECTOR::Collect(), GENERAL_COLLECTOR::Collect(), Collect(), and PCB_LAYER_COLLECTOR::Collect().
|
protectedinherited |
Definition at line 254 of file collector.h.
Referenced by COLLECTOR::Append(), COLLECTOR::begin(), GERBER_COLLECTOR::Collect(), GENERAL_COLLECTOR::Collect(), COLLECTOR::Combine(), COLLECTOR::CountType(), COLLECTOR::Empty(), COLLECTOR::end(), COLLECTOR::GetCount(), COLLECTOR::HasItem(), EE_COLLECTOR::IsCorner(), EE_COLLECTOR::operator[](), GERBER_COLLECTOR::operator[](), COLLECTOR::operator[](), PCB_COLLECTOR::operator[](), COLLECTOR::Remove(), and COLLECTOR::Transfer().
|
inherited |
Definition at line 251 of file collector.h.
Referenced by PL_SELECTION_TOOL::SelectionMenu(), EE_SELECTION_TOOL::SelectionMenu(), PL_SELECTION_TOOL::SelectPoint(), and EE_SELECTION_TOOL::selectPoint().
|
inherited |
Definition at line 250 of file collector.h.
Referenced by GERBVIEW_SELECTION_TOOL::disambiguationMenu(), PL_SELECTION_TOOL::doSelectionMenu(), EE_SELECTION_TOOL::doSelectionMenu(), and PCB_SELECTION_TOOL::doSelectionMenu().
|
protectedinherited |
Definition at line 260 of file collector.h.
Referenced by COLLECTOR::GetBoundingBox().
|
protectedinherited |
Definition at line 259 of file collector.h.
Referenced by EE_COLLECTOR::Inspect(), GERBER_COLLECTOR::Inspect(), GENERAL_COLLECTOR::Inspect(), and COLLECTOR::SetRefPos().
|
protectedinherited |
Definition at line 257 of file collector.h.
Referenced by EE_COLLECTOR::Collect(), GERBER_COLLECTOR::Collect(), GENERAL_COLLECTOR::Collect(), and COLLECTOR::SetScanTypes().
|
inherited |
Definition at line 248 of file collector.h.
Referenced by EE_SELECTION_TOOL::CollectHits(), SCH_EDIT_TOOL::DeleteItemCursor(), PCB_CONTROL::DeleteItemCursor(), EE_SELECTION_TOOL::GetNode(), EE_COLLECTOR::Inspect(), and EE_SELECTION_TOOL::narrowSelection().