KiCad PCB EDA Suite
|
Use when the right click button is pressed or when the select tool is in effect. More...
#include <gerber_collectors.h>
Public Types | |
using | ITER = std::vector< EDA_ITEM * >::iterator |
using | CITER = std::vector< EDA_ITEM * >::const_iterator |
Public Member Functions | |
GERBER_COLLECTOR () | |
EDA_ITEM * | operator[] (int ndx) const override |
Overload the [](int) operator to return a EDA_ITEM* instead of an EDA_ITEM* type. | |
INSPECT_RESULT | Inspect (EDA_ITEM *testItem, void *testData) override |
The examining function within the INSPECTOR which is passed to the Iterate function. | |
void | Collect (EDA_ITEM *aItem, const std::vector< KICAD_T > &aScanTypes, const VECTOR2I &aRefPos) |
Scan an EDA_ITEM using this class's Inspector method, which does the collection. | |
ITER | begin () |
CITER | begin () const |
ITER | end () |
CITER | end () const |
int | GetCount () const |
Return the number of objects in the list. | |
void | Empty () |
Clear the list. | |
void | Append (EDA_ITEM *item) |
Add an item to the end of the list. | |
void | Remove (int aIndex) |
Remove the item at aIndex (first position is 0). | |
void | Remove (const EDA_ITEM *aItem) |
Remove the item aItem (if exists in the collector). | |
bool | HasAdditionalItems () |
Test if the collector has heuristic backup items. | |
void | Combine () |
Re-combine the backup list into the main list of the collector. | |
void | Transfer (int aIndex) |
Move the item at aIndex (first position is 0) to the backup list. | |
void | Transfer (EDA_ITEM *aItem) |
Move aItem (if exists in the collector) to the backup list. | |
bool | HasItem (const EDA_ITEM *aItem) const |
Tests if aItem has already been collected. | |
void | SetScanTypes (const std::vector< KICAD_T > &aTypes) |
Record the list of KICAD_T types to consider for collection by the Inspect() function. | |
void | SetRefPos (const VECTOR2I &aRefPos) |
int | CountType (KICAD_T aType) |
Count the number of items matching aType. | |
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 |
std::vector< KICAD_T > | m_scanTypes |
INSPECTOR_FUNC | m_inspector |
VECTOR2I | m_refPos |
Use when the right click button is pressed or when the select tool is in effect.
Definition at line 28 of file gerber_collectors.h.
|
inherited |
Definition at line 71 of file collector.h.
|
inherited |
Definition at line 70 of file collector.h.
|
inline |
Definition at line 31 of file gerber_collectors.h.
References GERBER_DRAW_ITEM_T, GERBER_IMAGE_T, GERBER_LAYOUT_T, and COLLECTOR::SetScanTypes().
|
inlineinherited |
Add an item to the end of the list.
item | An EDA_ITEM* to add. |
Definition at line 99 of file collector.h.
References COLLECTOR::m_list.
Referenced by GENERAL_COLLECTOR::Collect(), EE_SELECTION_TOOL::CollectHits(), SELECTION_TOOL::doSelectionMenu(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), PCB_SELECTION_TOOL::FilterCollectorForTableCells(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), EE_COLLECTOR::Inspect(), GENERAL_COLLECTOR::Inspect(), Inspect(), PCB_TYPE_COLLECTOR::Inspect(), PCB_LAYER_COLLECTOR::Inspect(), ROUTER_TOOL::NeighboringSegmentFilter(), PCB_SELECTION_TOOL::RequestSelection(), PCB_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::selectMultiple(), and PL_SELECTION_TOOL::SelectPoint().
|
inlineinherited |
Definition at line 73 of file collector.h.
References COLLECTOR::m_list.
|
inlineinherited |
Definition at line 75 of file collector.h.
References COLLECTOR::m_list.
void GERBER_COLLECTOR::Collect | ( | EDA_ITEM * | aItem, |
const std::vector< KICAD_T > & | aScanTypes, | ||
const VECTOR2I & | aRefPos | ||
) |
Scan an EDA_ITEM using this class's Inspector method, which does the collection.
aItem | An EDA_ITEM to scan |
aScanTypes | A list of KICAD_Ts that specs what is to be collected and the priority order of the resultant collection in "m_list". |
aRefPos | A VECTOR2I to use in hit-testing. |
Definition at line 39 of file gerber_collectors.cpp.
References COLLECTOR::Empty(), COLLECTOR::m_inspector, COLLECTOR::m_scanTypes, COLLECTOR::SetRefPos(), COLLECTOR::SetScanTypes(), and EDA_ITEM::Visit().
Referenced by GERBVIEW_SELECTION_TOOL::selectPoint().
|
inlineinherited |
Re-combine the backup list into the main list of the collector.
Definition at line 140 of file collector.h.
References COLLECTOR::m_backupList, and COLLECTOR::m_list.
Referenced by SELECTION_TOOL::doSelectionMenu().
|
inlineinherited |
Count the number of items matching aType.
aType | type we are interested in. |
Definition at line 221 of file collector.h.
References COLLECTOR::m_list.
Referenced by ROUTER_TOOL::NeighboringSegmentFilter().
|
inlineinherited |
Clear the list.
Definition at line 89 of file collector.h.
References COLLECTOR::m_list.
Referenced by PCB_TYPE_COLLECTOR::Collect(), PCB_LAYER_COLLECTOR::Collect(), GENERAL_COLLECTOR::Collect(), Collect(), EE_COLLECTOR::Collect(), SELECTION_TOOL::doSelectionMenu(), PAD_TOOL::EnumeratePads(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), and ROUTER_TOOL::NeighboringSegmentFilter().
|
inlineinherited |
Definition at line 74 of file collector.h.
References COLLECTOR::m_list.
|
inlineinherited |
Definition at line 76 of file collector.h.
References COLLECTOR::m_list.
|
inlineinherited |
Return the number of objects in the list.
Definition at line 81 of file collector.h.
References COLLECTOR::m_list.
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), EDIT_TOOL::BooleanPolygons(), BuildBoardPolygonOutlines(), BuildFootprintPolygonOutlines(), EDIT_TOOL::ChangeTrackWidth(), EE_SELECTION_TOOL::CollectHits(), connectedItemFilter(), EDIT_TOOL::copyToClipboard(), FOOTPRINT::CoverageRatio(), CONVERT_TOOL::CreateLines(), BOARD_INSPECTION_TOOL::DiffFootprint(), SELECTION_TOOL::doSelectionMenu(), PAD_TOOL::EnumeratePads(), EDIT_TOOL::FilletTracks(), PCB_SELECTION_TOOL::FilterCollectedItems(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), PCB_SELECTION_TOOL::FilterCollectorForMarkers(), PCB_SELECTION_TOOL::FilterCollectorForTableCells(), EDIT_TOOL::FootprintFilter(), EE_SELECTION_TOOL::GetNode(), PANEL_SETUP_LAYERS::getNonRemovableLayers(), PANEL_SETUP_LAYERS::getRemovedLayersWithItems(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), PCB_EDIT_TABLE_TOOL::getTableCellSelection(), GENDRILL_WRITER_BASE::getUniqueLayerPairs(), GROUP_TOOL::Group(), PL_SELECTION_TOOL::guessSelectionCandidates(), EE_SELECTION_TOOL::GuessSelectionCandidates(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), EDIT_TOOL::HealShapes(), BOARD_INSPECTION_TOOL::highlightNet(), PCB_EDIT_FRAME::inferLegacyEdgeClearance(), SCH_EDIT_TOOL::InteractiveDelete(), PCB_CONTROL::InteractiveDelete(), EE_COLLECTOR::IsCorner(), EE_SELECTION_TOOL::Main(), PCB_SELECTION_TOOL::Main(), DSN::SPECCTRA_DB::makeIMAGE(), EDIT_TOOL::ModifyLines(), EE_SELECTION_TOOL::narrowSelection(), ROUTER_TOOL::NeighboringSegmentFilter(), COLLECTOR::operator[](), EE_COLLECTOR::operator[](), operator[](), PCB_COLLECTOR::operator[](), CONVERT_TOOL::OutsetItems(), EDIT_TOOL::PackAndMoveFootprints(), EDIT_TOOL::PadFilter(), DRAWING_TOOL::PlaceTuningPattern(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), GENERATOR_TOOL::RegenerateSelected(), CONVERT_TOOL::SegmentToArc(), PCB_SELECTION_TOOL::selectMultiple(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_TEST_SELECTION_TOOL::selectPoint(), PL_SELECTION_TOOL::SelectPoint(), PCB_SELECTION_TOOL::selectPoint(), EE_SELECTION_TOOL::selectPoint(), EDIT_TOOL::SimplifyPolygons(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), EDIT_TOOL::Swap(), TestBoardOutlinesGraphicItems(), and PANEL_SETUP_LAYERS::TransferDataFromWindow().
|
inlineinherited |
Test if the collector has heuristic backup items.
Definition at line 132 of file collector.h.
References COLLECTOR::m_backupList.
Referenced by SELECTION_TOOL::doSelectionMenu().
|
inlineinherited |
Tests if aItem has already been collected.
aItem | The EDA_ITEM* to be tested. |
Definition at line 195 of file collector.h.
References COLLECTOR::m_list.
Referenced by EE_SELECTION_TOOL::CollectHits(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), and PCB_SELECTION_TOOL::FilterCollectorForTableCells().
|
overridevirtual |
The examining function within the INSPECTOR which is passed to the Iterate function.
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. |
testItem | is an EDA_ITEM to examine. |
testData | is not used here. |
Reimplemented from COLLECTOR.
Definition at line 30 of file gerber_collectors.cpp.
References COLLECTOR::Append(), EDA_ITEM::HitTest(), and COLLECTOR::m_refPos.
|
inlineoverridevirtual |
Overload the [](int) operator to return a EDA_ITEM* instead of an EDA_ITEM* type.
ndx | The index into the list. |
Reimplemented from COLLECTOR.
Definition at line 42 of file gerber_collectors.h.
References COLLECTOR::GetCount(), and COLLECTOR::m_list.
|
inlineinherited |
Remove the item aItem (if exists in the collector).
aItem | the item to be removed. |
Definition at line 119 of file collector.h.
References alg::delete_if(), and COLLECTOR::m_list.
|
inlineinherited |
Remove the item at aIndex (first position is 0).
aIndex | The index into the list. |
Definition at line 109 of file collector.h.
References COLLECTOR::m_list.
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), EDIT_TOOL::BooleanPolygons(), connectedItemFilter(), PCB_SELECTION_TOOL::FilterCollectedItems(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), PCB_SELECTION_TOOL::FilterCollectorForMarkers(), PCB_SELECTION_TOOL::FilterCollectorForTableCells(), EDIT_TOOL::FootprintFilter(), PCB_EDIT_TABLE_TOOL::getTableCellSelection(), GROUP_TOOL::Group(), EDIT_TOOL::HealShapes(), PCB_CONTROL::InteractiveDelete(), EDIT_TOOL::ModifyLines(), EE_SELECTION_TOOL::narrowSelection(), CONVERT_TOOL::OutsetItems(), EDIT_TOOL::PadFilter(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), GENERATOR_TOOL::RegenerateSelected(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::selectPoint(), and EDIT_TOOL::SimplifyPolygons().
|
inlineinherited |
Definition at line 213 of file collector.h.
References COLLECTOR::m_refPos.
Referenced by GENERAL_COLLECTOR::Collect(), Collect(), and EE_COLLECTOR::Collect().
|
inlineinherited |
Record the list of KICAD_T types to consider for collection by the Inspect() function.
aScanTypes | A list of KICAD_Ts. |
Definition at line 211 of file collector.h.
References COLLECTOR::m_scanTypes.
Referenced by GENERAL_COLLECTOR::Collect(), Collect(), EE_COLLECTOR::Collect(), GENERAL_COLLECTOR::GENERAL_COLLECTOR(), and GERBER_COLLECTOR().
|
inlineinherited |
Move aItem (if exists in the collector) to the backup list.
aItem | the item to be moved. |
Definition at line 162 of file collector.h.
References COLLECTOR::m_backupList, and COLLECTOR::m_list.
|
inlineinherited |
Move the item at aIndex (first position is 0) to the backup list.
aIndex | The index into the list. |
Definition at line 151 of file collector.h.
References COLLECTOR::m_backupList, and COLLECTOR::m_list.
Referenced by PL_SELECTION_TOOL::guessSelectionCandidates(), EE_SELECTION_TOOL::GuessSelectionCandidates(), and PCB_SELECTION_TOOL::GuessSelectionCandidates().
|
protectedinherited |
Definition at line 241 of file collector.h.
Referenced by COLLECTOR::Combine(), COLLECTOR::HasAdditionalItems(), and COLLECTOR::Transfer().
|
protectedinherited |
Definition at line 244 of file collector.h.
Referenced by PCB_TYPE_COLLECTOR::Collect(), PCB_LAYER_COLLECTOR::Collect(), GENERAL_COLLECTOR::Collect(), Collect(), and EE_COLLECTOR::Collect().
|
protectedinherited |
Definition at line 240 of file collector.h.
Referenced by COLLECTOR::Append(), COLLECTOR::begin(), COLLECTOR::Combine(), COLLECTOR::CountType(), COLLECTOR::Empty(), COLLECTOR::end(), COLLECTOR::GetCount(), COLLECTOR::HasItem(), EE_COLLECTOR::IsCorner(), COLLECTOR::operator[](), EE_COLLECTOR::operator[](), operator[](), PCB_COLLECTOR::operator[](), COLLECTOR::Remove(), and COLLECTOR::Transfer().
|
inherited |
Definition at line 237 of file collector.h.
Referenced by SELECTION_TOOL::SelectionMenu(), GERBVIEW_SELECTION_TOOL::selectPoint(), PL_SELECTION_TOOL::SelectPoint(), and EE_SELECTION_TOOL::selectPoint().
|
inherited |
Definition at line 236 of file collector.h.
Referenced by SELECTION_TOOL::doSelectionMenu().
|
protectedinherited |
Definition at line 246 of file collector.h.
Referenced by EE_COLLECTOR::Inspect(), GENERAL_COLLECTOR::Inspect(), Inspect(), and COLLECTOR::SetRefPos().
|
protectedinherited |
Definition at line 243 of file collector.h.
Referenced by GENERAL_COLLECTOR::Collect(), Collect(), EE_COLLECTOR::Collect(), and COLLECTOR::SetScanTypes().
|
inherited |
Definition at line 234 of file collector.h.
Referenced by EE_COLLECTOR::Collect(), EE_SELECTION_TOOL::CollectHits(), EE_SELECTION_TOOL::GetNode(), EE_SELECTION_TOOL::GuessSelectionCandidates(), EE_COLLECTOR::Inspect(), SCH_EDIT_TOOL::InteractiveDelete(), PCB_CONTROL::InteractiveDelete(), DRAWING_TOOL::PlaceTuningPattern(), EE_SELECTION_TOOL::selectPoint(), SCH_EDITOR_CONTROL::SimProbe(), and SCH_EDITOR_CONTROL::SimTune().