| 
    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 73 of file collector.h.
      
  | 
  inherited | 
Definition at line 72 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 101 of file collector.h.
References m_list.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), GENERAL_COLLECTOR::Collect(), SCH_SELECTION_TOOL::CollectHits(), SELECTION_TOOL::doSelectionMenu(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), SCH_SELECTION_TOOL::filterCollectorForHierarchy(), PCB_SELECTION_TOOL::FilterCollectorForTableCells(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), GENERAL_COLLECTOR::Inspect(), GERBER_COLLECTOR::Inspect(), PCB_LAYER_COLLECTOR::Inspect(), PCB_TYPE_COLLECTOR::Inspect(), SCH_COLLECTOR::Inspect(), TEST_COLLECTOR::Inspect(), ROUTER_TOOL::NeighboringSegmentFilter(), PCB_SELECTION_TOOL::RequestSelection(), PCB_SELECTION_TOOL::SelectAll(), SCH_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::SelectMultiple(), SCH_SELECTION_TOOL::SelectMultiple(), and PL_SELECTION_TOOL::SelectPoint().
      
  | 
  inlineinherited | 
Definition at line 75 of file collector.h.
References m_list.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), PCB_SELECTION_TOOL::SelectMultiple(), and SCH_SELECTION_TOOL::SelectMultiple().
      
  | 
  inlineinherited | 
Definition at line 77 of file collector.h.
References 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 142 of file collector.h.
References m_backupList, and m_list.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and SELECTION_TOOL::doSelectionMenu().
      
  | 
  inlineinherited | 
Count the number of items matching aType.
| aType | type we are interested in. | 
Definition at line 223 of file collector.h.
References m_list.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and ROUTER_TOOL::NeighboringSegmentFilter().
      
  | 
  inlineinherited | 
Clear the list.
Definition at line 91 of file collector.h.
References m_list.
Referenced by BOOST_AUTO_TEST_CASE(), GENERAL_COLLECTOR::Collect(), GERBER_COLLECTOR::Collect(), PCB_LAYER_COLLECTOR::Collect(), PCB_TYPE_COLLECTOR::Collect(), SCH_COLLECTOR::Collect(), SCH_COLLECTOR::Collect(), SELECTION_TOOL::doSelectionMenu(), PAD_TOOL::EnumeratePads(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), and ROUTER_TOOL::NeighboringSegmentFilter().
      
  | 
  inlineinherited | 
Definition at line 76 of file collector.h.
References m_list.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), PCB_SELECTION_TOOL::SelectMultiple(), and SCH_SELECTION_TOOL::SelectMultiple().
      
  | 
  inlineinherited | 
Definition at line 78 of file collector.h.
References m_list.
      
  | 
  inlineinherited | 
Return the number of objects in the list.
Definition at line 83 of file collector.h.
References m_list.
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), EDIT_TOOL::BooleanPolygons(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BuildBoardPolygonOutlines(), BuildFootprintPolygonOutlines(), EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::ChangeTrackWidth(), SCH_SELECTION_TOOL::CollectHits(), connectedItemFilter(), FOOTPRINT::CoverageRatio(), CONVERT_TOOL::CreateLines(), BOARD_INSPECTION_TOOL::DiffFootprint(), SELECTION_TOOL::doSelectionMenu(), EDIT_TOOL::Drag(), PAD_TOOL::EnumeratePads(), EDIT_TOOL::FilletTracks(), PCB_SELECTION_TOOL::FilterCollectedItems(), SCH_SELECTION_TOOL::filterCollectedItems(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), SCH_SELECTION_TOOL::filterCollectorForHierarchy(), PCB_SELECTION_TOOL::FilterCollectorForLockedItems(), PCB_SELECTION_TOOL::FilterCollectorForMarkers(), PCB_SELECTION_TOOL::FilterCollectorForTableCells(), findClosestOutlineGap(), EDIT_TOOL::FootprintFilter(), SCH_SELECTION_TOOL::GetNode(), PANEL_SETUP_LAYERS::getNonRemovableLayers(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), PCB_EDIT_TABLE_TOOL::getTableCellSelection(), GENDRILL_WRITER_BASE::getUniqueLayerPairs(), PCB_GROUP_TOOL::Group(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), PL_SELECTION_TOOL::guessSelectionCandidates(), BOARD::HasItemsOnLayer(), EDIT_TOOL::HealShapes(), BOARD_INSPECTION_TOOL::highlightNet(), EDIT_TOOL::Increment(), PCB_EDIT_FRAME::inferLegacyEdgeClearance(), PCB_CONTROL::InteractiveDelete(), SCH_COLLECTOR::IsCorner(), PCB_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), DSN::SPECCTRA_DB::makeIMAGE(), EDIT_TOOL::ModifyLines(), SCH_SELECTION_TOOL::narrowSelection(), ROUTER_TOOL::NeighboringSegmentFilter(), operator[](), GERBER_COLLECTOR::operator[](), PCB_COLLECTOR::operator[](), CONVERT_TOOL::OutsetItems(), EDIT_TOOL::PackAndMoveFootprints(), EDIT_TOOL::PadFilter(), DRAWING_TOOL::PlaceTuningPattern(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), GENERATOR_TOOL::RegenerateSelected(), BOARD::RemoveAllItemsOnLayer(), CONVERT_TOOL::SegmentToArc(), PCB_SELECTION_TOOL::SelectMultiple(), SCH_SELECTION_TOOL::SelectMultiple(), PL_SELECTION_TOOL::SelectPoint(), SCH_SELECTION_TOOL::SelectPoint(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::selectPoint(), PCB_TEST_SELECTION_TOOL::selectPoint(), SCH_SELECTION_TOOL::selectPoint(), EDIT_TOOL::SimplifyPolygons(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), EDIT_TOOL::Swap(), and TestBoardOutlinesGraphicItems().
      
  | 
  inlineinherited | 
Test if the collector has heuristic backup items.
Definition at line 134 of file collector.h.
References m_backupList.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and SELECTION_TOOL::doSelectionMenu().
      
  | 
  inlineinherited | 
Tests if aItem has already been collected.
| aItem | The EDA_ITEM* to be tested. | 
Definition at line 197 of file collector.h.
References m_list.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), SCH_SELECTION_TOOL::CollectHits(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), SCH_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(), CONTINUE, 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 121 of file collector.h.
References m_list.
      
  | 
  inlineinherited | 
Remove the item at aIndex (first position is 0).
| aIndex | The index into the list. | 
Definition at line 111 of file collector.h.
References m_list.
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), EDIT_TOOL::BooleanPolygons(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::ChangeTrackWidth(), connectedItemFilter(), CONVERT_TOOL::CreateLines(), BOARD_INSPECTION_TOOL::DiffFootprint(), EDIT_TOOL::Drag(), EDIT_TOOL::FilletTracks(), PCB_SELECTION_TOOL::FilterCollectedItems(), SCH_SELECTION_TOOL::filterCollectedItems(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), SCH_SELECTION_TOOL::filterCollectorForHierarchy(), PCB_SELECTION_TOOL::FilterCollectorForLockedItems(), PCB_SELECTION_TOOL::FilterCollectorForMarkers(), PCB_SELECTION_TOOL::FilterCollectorForTableCells(), EDIT_TOOL::FootprintFilter(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), PCB_EDIT_TABLE_TOOL::getTableCellSelection(), PCB_GROUP_TOOL::Group(), EDIT_TOOL::HealShapes(), BOARD_INSPECTION_TOOL::highlightNet(), EDIT_TOOL::Increment(), PCB_CONTROL::InteractiveDelete(), EDIT_TOOL::ModifyLines(), SCH_SELECTION_TOOL::narrowSelection(), CONVERT_TOOL::OutsetItems(), EDIT_TOOL::PackAndMoveFootprints(), EDIT_TOOL::PadFilter(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), GENERATOR_TOOL::RegenerateSelected(), CONVERT_TOOL::SegmentToArc(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::selectPoint(), EDIT_TOOL::SimplifyPolygons(), and EDIT_TOOL::Swap().
      
  | 
  inlineinherited | 
Definition at line 215 of file collector.h.
References m_refPos.
Referenced by BOOST_AUTO_TEST_CASE(), GENERAL_COLLECTOR::Collect(), GERBER_COLLECTOR::Collect(), SCH_COLLECTOR::Collect(), and SCH_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 213 of file collector.h.
References m_scanTypes.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), GENERAL_COLLECTOR::Collect(), GERBER_COLLECTOR::Collect(), SCH_COLLECTOR::Collect(), SCH_COLLECTOR::Collect(), GENERAL_COLLECTOR::GENERAL_COLLECTOR(), and GERBER_COLLECTOR::GERBER_COLLECTOR().
      
  | 
  inlineinherited | 
Move aItem (if exists in the collector) to the backup list.
| aItem | the item to be moved. | 
Definition at line 164 of file collector.h.
References m_backupList, and 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 153 of file collector.h.
References m_backupList, and m_list.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), and PL_SELECTION_TOOL::guessSelectionCandidates().
      
  | 
  protectedinherited | 
Definition at line 243 of file collector.h.
Referenced by Combine(), HasAdditionalItems(), Transfer(), and Transfer().
      
  | 
  protectedinherited | 
Definition at line 246 of file collector.h.
Referenced by GENERAL_COLLECTOR::Collect(), GERBER_COLLECTOR::Collect(), PCB_LAYER_COLLECTOR::Collect(), PCB_TYPE_COLLECTOR::Collect(), SCH_COLLECTOR::Collect(), and SCH_COLLECTOR::Collect().
      
  | 
  protectedinherited | 
Definition at line 242 of file collector.h.
Referenced by Append(), begin(), begin(), Combine(), CountType(), Empty(), end(), end(), GetCount(), HasItem(), SCH_COLLECTOR::IsCorner(), operator[](), GERBER_COLLECTOR::operator[](), PCB_COLLECTOR::operator[](), Remove(), Remove(), Transfer(), and Transfer().
      
  | 
  inherited | 
Definition at line 239 of file collector.h.
Referenced by BOOST_AUTO_TEST_CASE(), COLLECTOR(), SELECTION_TOOL::SelectionMenu(), PL_SELECTION_TOOL::SelectPoint(), GERBVIEW_SELECTION_TOOL::selectPoint(), and SCH_SELECTION_TOOL::selectPoint().
      
  | 
  inherited | 
Definition at line 238 of file collector.h.
Referenced by SELECTION_TOOL::doSelectionMenu().
      
  | 
  protectedinherited | 
Definition at line 248 of file collector.h.
Referenced by GENERAL_COLLECTOR::Inspect(), GERBER_COLLECTOR::Inspect(), SCH_COLLECTOR::Inspect(), and SetRefPos().
      
  | 
  protectedinherited | 
Definition at line 245 of file collector.h.
Referenced by GENERAL_COLLECTOR::Collect(), GERBER_COLLECTOR::Collect(), SCH_COLLECTOR::Collect(), SCH_COLLECTOR::Collect(), COLLECTOR(), TEST_COLLECTOR::Inspect(), and SetScanTypes().
      
  | 
  inherited | 
Definition at line 236 of file collector.h.
Referenced by BOOST_AUTO_TEST_CASE(), SCH_COLLECTOR::Collect(), SCH_SELECTION_TOOL::CollectHits(), COLLECTOR(), SCH_SELECTION_TOOL::GetNode(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), SCH_COLLECTOR::Inspect(), PCB_CONTROL::InteractiveDelete(), DRAWING_TOOL::PlaceTuningPattern(), SCH_SELECTION_TOOL::selectPoint(), SCH_EDITOR_CONTROL::SimProbe(), and SCH_EDITOR_CONTROL::SimTune().