KiCad PCB EDA Suite
SCH_TYPE_COLLECTOR Class Reference

Class TYPE_COLLECTOR merely gathers up all SCH_ITEMs of a given set of KICAD_T type(s). More...

#include <sch_collectors.h>

Inheritance diagram for SCH_TYPE_COLLECTOR:
SCH_COLLECTOR COLLECTOR

Public Member Functions

SEARCH_RESULT Inspect (EDA_ITEM *testItem, void *testData) override
 Function Inspect is the examining function within the INSPECTOR which is passed to the Iterate function. More...
 
void Collect (SCH_ITEM *aBoard, const KICAD_T aScanList[])
 Function Collect scans a BOARD_ITEM using this class's Inspector method, which does the collection. More...
 
SCH_ITEMoperator[] (int aIndex) const
 Overload COLLECTOR::operator[](int) to return a SCH_ITEM instead of an EDA_ITEM. More...
 
void Collect (SCH_ITEM *aItem, const KICAD_T aFilterList[], const wxPoint &aPosition)
 Function Collect scans a SCH_ITEM using this class's Inspector method, which does the collection. More...
 
bool IsCorner () const
 Function IsCorner tests if the collected items forms as corner of two line segments. More...
 
bool IsNode (bool aIncludePins=true) const
 Function IsNode tests if the collected items form a node. More...
 
bool IsDraggableJunction () const
 Function IsDraggableJunction tests to see if the collected items form a draggable junction. More...
 
bool IsValidIndex (int aIndex)
 Function IsValidIndex tests if aIndex is with the limits of the list of collected items. More...
 
int GetCount () const
 Function GetCount returns the number of objects in the list. More...
 
void Empty ()
 Function Empty sets the list to empty. More...
 
void Append (EDA_ITEM *item)
 Function Append adds an item to the end of the list. More...
 
void Remove (int aIndex)
 Function Remove removes the item at aIndex (first position is 0);. More...
 
void Remove (const EDA_ITEM *aItem)
 Function Remove removes the item aItem (if exists in the collector). More...
 
EDA_ITEM *const * BasePtr () const
 Function BasePtr returns the address of the first element in the array. More...
 
bool HasItem (const EDA_ITEM *aItem) const
 Function HasItem tests if aItem has already been collected. More...
 
void SetScanTypes (const KICAD_T *scanTypes)
 Function SetScanTypes records the list of KICAD_T types to consider for collection by the Inspect() function. More...
 
void SetTimeNow ()
 
timestamp_t GetTime ()
 
void SetRefPos (const wxPoint &aRefPos)
 
const wxPointGetRefPos () const
 
void SetBoundingBox (const EDA_RECT &aRefBox)
 
const EDA_RECTGetBoundingBox () const
 
bool IsSimilarPointAndTime (const wxPoint &aRefPos)
 Function IsSimilarPointAndTime returns true if the given reference point is "similar" (defined here) to the internal reference point and the current time is within a few seconds of the internal m_TimeAtCollection. More...
 
int CountType (KICAD_T aType)
 Function CountType counts the number of items matching aType. More...
 

Static Public Attributes

static const KICAD_T AllItems []
 A scan list for all schematic items. More...
 
static const KICAD_T EditableItems []
 A scan list for all editable schematic items. More...
 
static const KICAD_T CmpFieldValueOnly []
 A scan list for a specific editable field: Value. More...
 
static const KICAD_T CmpFieldReferenceOnly []
 A scan list for a specific editable field: Reference. More...
 
static const KICAD_T CmpFieldFootprintOnly []
 A scan list for a specific editable field: Footprint. More...
 
static const KICAD_T MovableItems []
 A scan list for all movable schematic items. More...
 
static const KICAD_T DraggableItems []
 A scan list for all draggable schematic items. More...
 
static const KICAD_T RotatableItems []
 A scan list for all rotatable schematic items. More...
 
static const KICAD_T ParentItems []
 A scan list for only parent schematic items. More...
 
static const KICAD_T AllItemsButPins []
 A scan list for all schematic items except pins. More...
 
static const KICAD_T ComponentsOnly []
 A scan list for schematic component items only. More...
 
static const KICAD_T SheetsOnly []
 A scan list for schematic sheet items only. More...
 
static const KICAD_T SheetsAndSheetLabels []
 A scan list for schematic sheet and sheet label items. More...
 
static const KICAD_T OrientableItems []
 A scan list for schematic items that can be mirrored. More...
 
static const KICAD_T CopyableItems []
 A scan list for schematic items that can be copied/duplicated. More...
 
static const KICAD_T DoubleClickItems []
 A scan list for schematic items that react to a double-click. More...
 

Protected Attributes

INSPECTOR_FUNC m_inspector
 a class common bridge into the polymorphic Inspect() More...
 
const KICAD_Tm_ScanTypes
 Which object types to scan. More...
 
std::vector< EDA_ITEM * > m_List
 A place to hold collected objects without taking ownership of their memory. More...
 
wxPoint m_RefPos
 A point to test against, and that was used to make the collection. More...
 
EDA_RECT m_RefBox
 A bounding box to test against, and that was used to make the collection. More...
 
timestamp_t m_TimeAtCollection
 The time at which the collection was made. More...
 

Detailed Description

Class TYPE_COLLECTOR merely gathers up all SCH_ITEMs of a given set of KICAD_T type(s).

It does no hit-testing.

See also
class COLLECTOR

Definition at line 398 of file sch_collectors.h.

Member Function Documentation

void COLLECTOR::Append ( EDA_ITEM item)
inlineinherited

Function Append adds an item to the end of the list.

Parameters
itemAn EDA_ITEM* to add.

Definition at line 125 of file collector.h.

Referenced by GENERAL_COLLECTOR::Collect(), SELECTION_TOOL::guessSelectionCandidates(), GERBER_COLLECTOR::Inspect(), LIB_COLLECTOR::Inspect(), SCH_COLLECTOR::Inspect(), GENERAL_COLLECTOR::Inspect(), SCH_FIND_COLLECTOR::Inspect(), Inspect(), PCB_TYPE_COLLECTOR::Inspect(), and PCB_LAYER_COLLECTOR::Inspect().

126  {
127  m_List.push_back( item );
128  }
std::vector< EDA_ITEM * > m_List
A place to hold collected objects without taking ownership of their memory.
Definition: collector.h:65
EDA_ITEM* const* COLLECTOR::BasePtr ( ) const
inlineinherited

Function BasePtr returns the address of the first element in the array.

Only call this if there is at least one element in the vector m_List, otherwise a C++ exception should get thrown.

Definition at line 177 of file collector.h.

178  {
179  return &m_List[0];
180  }
std::vector< EDA_ITEM * > m_List
A place to hold collected objects without taking ownership of their memory.
Definition: collector.h:65
void SCH_COLLECTOR::Collect ( SCH_ITEM aItem,
const KICAD_T  aFilterList[],
const wxPoint aPosition 
)
inherited

Function Collect scans a SCH_ITEM using this class's Inspector method, which does the collection.

Parameters
aItemA SCH_ITEM to scan.
aFilterListA list of KICAD_T types with a terminating EOT, that determines what is to be collected and the priority order of the resulting collection.
aPositionA wxPoint to use in hit-testing.

Definition at line 258 of file sch_collectors.cpp.

References COLLECTOR::Empty(), EDA_ITEM::IterateForward(), COLLECTOR::m_inspector, COLLECTOR::m_ScanTypes, COLLECTOR::SetRefPos(), and COLLECTOR::SetScanTypes().

Referenced by SCH_FIND_COLLECTOR::IsSearchRequired(), SCH_EDIT_FRAME::LocateItem(), and SCH_COLLECTOR::operator[]().

260 {
261  Empty(); // empty the collection just in case
262 
263  SetScanTypes( aFilterList );
264 
265  // remember where the snapshot was taken from and pass refPos to the Inspect() function.
266  SetRefPos( aPosition );
267 
269 }
void Empty()
Function Empty sets the list to empty.
Definition: collector.h:115
static SEARCH_RESULT IterateForward(EDA_ITEM *listStart, INSPECTOR inspector, void *testData, const KICAD_T scanTypes[])
Function IterateForward walks through the object tree calling the inspector() on each object type req...
void SetScanTypes(const KICAD_T *scanTypes)
Function SetScanTypes records the list of KICAD_T types to consider for collection by the Inspect() f...
Definition: collector.h:207
INSPECTOR_FUNC m_inspector
a class common bridge into the polymorphic Inspect()
Definition: collector.h:59
void SetRefPos(const wxPoint &aRefPos)
Definition: collector.h:222
const KICAD_T * m_ScanTypes
Which object types to scan.
Definition: collector.h:62
void SCH_TYPE_COLLECTOR::Collect ( SCH_ITEM aBoard,
const KICAD_T  aScanList[] 
)

Function Collect scans a BOARD_ITEM using this class's Inspector method, which does the collection.

Parameters
aBoardThe BOARD_ITEM to scan.
aScanListThe KICAD_Ts to gather up.

Definition at line 629 of file sch_collectors.cpp.

References COLLECTOR::Empty(), EDA_ITEM::IterateForward(), COLLECTOR::m_inspector, COLLECTOR::m_ScanTypes, and COLLECTOR::SetScanTypes().

Referenced by SCH_EDIT_FRAME::AppendSchematic(), SCH_EDIT_FRAME::importFile(), and SCH_SCREEN::UpdateSymbolLinks().

630 {
631  Empty(); // empty the collection
632 
633  SetScanTypes( aFilterList );
634 
636 }
void Empty()
Function Empty sets the list to empty.
Definition: collector.h:115
static SEARCH_RESULT IterateForward(EDA_ITEM *listStart, INSPECTOR inspector, void *testData, const KICAD_T scanTypes[])
Function IterateForward walks through the object tree calling the inspector() on each object type req...
void SetScanTypes(const KICAD_T *scanTypes)
Function SetScanTypes records the list of KICAD_T types to consider for collection by the Inspect() f...
Definition: collector.h:207
INSPECTOR_FUNC m_inspector
a class common bridge into the polymorphic Inspect()
Definition: collector.h:59
const KICAD_T * m_ScanTypes
Which object types to scan.
Definition: collector.h:62
int COLLECTOR::CountType ( KICAD_T  aType)
inlineinherited

Function CountType counts the number of items matching aType.

Parameters
aTypetype we are interested in
Returns
number of occurences

Definition at line 257 of file collector.h.

References i.

Referenced by SELECTION_TOOL::guessSelectionCandidates(), and ROUTER_TOOL::NeighboringSegmentFilter().

258  {
259  int cnt = 0;
260  for( size_t i = 0; i < m_List.size(); i++ )
261  {
262  if( m_List[i]->Type() == aType )
263  cnt++;
264  }
265  return cnt;
266  }
size_t i
Definition: json11.cpp:597
std::vector< EDA_ITEM * > m_List
A place to hold collected objects without taking ownership of their memory.
Definition: collector.h:65
void COLLECTOR::Empty ( )
inlineinherited

Function Empty sets the list to empty.

Definition at line 115 of file collector.h.

Referenced by GERBER_COLLECTOR::Collect(), LIB_COLLECTOR::Collect(), SCH_COLLECTOR::Collect(), GENERAL_COLLECTOR::Collect(), SCH_FIND_COLLECTOR::Collect(), Collect(), PCB_TYPE_COLLECTOR::Collect(), PCB_LAYER_COLLECTOR::Collect(), SCH_FIND_COLLECTOR::Empty(), MODULE_EDITOR_TOOLS::EnumeratePads(), and SELECTION_TOOL::guessSelectionCandidates().

116  {
117  m_List.clear();
118  }
std::vector< EDA_ITEM * > m_List
A place to hold collected objects without taking ownership of their memory.
Definition: collector.h:65
const EDA_RECT& COLLECTOR::GetBoundingBox ( ) const
inlineinherited

Definition at line 226 of file collector.h.

References COLLECTOR::m_RefBox.

226 { return m_RefBox; }
EDA_RECT m_RefBox
A bounding box to test against, and that was used to make the collection.
Definition: collector.h:71
int COLLECTOR::GetCount ( ) const
inlineinherited

Function GetCount returns the number of objects in the list.

Definition at line 106 of file collector.h.

Referenced by AllAreModulesAndReturnSmallestIfSo(), SCH_EDIT_FRAME::AppendSchematic(), BuildBoardPolygonOutlines(), calcMaxArea(), connectedItemFilter(), connectedTrackFilter(), MODULE::CoverageRatio(), GERBVIEW_SELECTION_TOOL::disambiguationMenu(), SELECTION_TOOL::disambiguationMenu(), MODULE_EDITOR_TOOLS::EnumeratePads(), EDIT_TOOL::FootprintFilter(), DSN::SPECCTRA_DB::FromBOARD(), SCH_FIND_COLLECTOR::GetItem(), DIALOG_LAYERS_SETUP::getNonRemovableLayers(), DIALOG_LAYERS_SETUP::getRemovedLayersWithItems(), SCH_FIND_COLLECTOR::GetText(), GENDRILL_WRITER_BASE::getUniqueLayerPairs(), SELECTION_TOOL::guessSelectionCandidates(), highlightNet(), SCH_EDIT_FRAME::importFile(), SCH_COLLECTOR::IsCorner(), LIB_EDIT_FRAME::locateItem(), SCH_EDIT_FRAME::LocateItem(), DSN::SPECCTRA_DB::makeIMAGE(), ROUTER_TOOL::NeighboringSegmentFilter(), SCH_EDIT_FRAME::OnFindSchematicItem(), LIB_EDIT_FRAME::OnSelectItem(), GERBER_COLLECTOR::operator[](), SCH_COLLECTOR::operator[](), COLLECTOR::operator[](), SCH_FIND_COLLECTOR::PassedEnd(), PCB_BASE_FRAME::PcbGeneralLocateAndDisplay(), SELECTION_TOOL::pickSmallestComponent(), SCH_COMPONENT::ResolveAll(), GERBVIEW_SELECTION_TOOL::selectPoint(), SELECTION_TOOL::selectPoint(), DIALOG_LAYERS_SETUP::TransferDataFromWindow(), SCH_COMPONENT::UpdateAllPinCaches(), and SCH_FIND_COLLECTOR::UpdateIndex().

107  {
108  return (int) m_List.size();
109  }
std::vector< EDA_ITEM * > m_List
A place to hold collected objects without taking ownership of their memory.
Definition: collector.h:65
const wxPoint& COLLECTOR::GetRefPos ( ) const
inlineinherited

Definition at line 223 of file collector.h.

References COLLECTOR::m_RefPos.

Referenced by PCB_EDIT_FRAME::OnRightClick().

223 { return m_RefPos; }
wxPoint m_RefPos
A point to test against, and that was used to make the collection.
Definition: collector.h:68
timestamp_t COLLECTOR::GetTime ( )
inlineinherited

Definition at line 217 of file collector.h.

References COLLECTOR::m_TimeAtCollection.

218  {
219  return m_TimeAtCollection;
220  }
timestamp_t m_TimeAtCollection
The time at which the collection was made.
Definition: collector.h:74
bool COLLECTOR::HasItem ( const EDA_ITEM aItem) const
inlineinherited

Function HasItem tests if aItem has already been collected.

Parameters
aItemThe EDA_ITEM* to be tested.
Returns
True if aItem is already collected.

Definition at line 189 of file collector.h.

References i.

190  {
191  for( size_t i = 0; i < m_List.size(); i++ )
192  {
193  if( m_List[i] == aItem )
194  return true;
195  }
196 
197  return false;
198  }
size_t i
Definition: json11.cpp:597
std::vector< EDA_ITEM * > m_List
A place to hold collected objects without taking ownership of their memory.
Definition: collector.h:65
SEARCH_RESULT SCH_TYPE_COLLECTOR::Inspect ( EDA_ITEM testItem,
void *  testData 
)
overridevirtual

Function Inspect is the examining function within the INSPECTOR which is passed to the Iterate function.

Parameters
testItemAn EDA_ITEM to examine.
testDatais not used in this class.
Returns
SEARCH_RESULT - SEARCH_QUIT if the Iterator is to stop the scan, else SCAN_CONTINUE;

Reimplemented from SCH_COLLECTOR.

Definition at line 619 of file sch_collectors.cpp.

References COLLECTOR::Append(), and SEARCH_CONTINUE.

620 {
621  // The Vist() function only visits the testItem if its type was in the
622  // the scanList, so therefore we can collect anything given to us here.
623  Append( aItem );
624 
625  return SEARCH_CONTINUE;
626 }
void Append(EDA_ITEM *item)
Function Append adds an item to the end of the list.
Definition: collector.h:125
bool SCH_COLLECTOR::IsCorner ( ) const
inherited

Function IsCorner tests if the collected items forms as corner of two line segments.

Returns
True if the collected items form a corner of two line segments.

Definition at line 272 of file sch_collectors.cpp.

References COLLECTOR::GetCount(), GetLayer(), COLLECTOR::m_List, and SCH_LINE_T.

Referenced by SCH_EDIT_FRAME::LocateItem(), SCH_EDIT_FRAME::OnDragItem(), and SCH_COLLECTOR::operator[]().

273 {
274  if( GetCount() != 2 )
275  return false;
276 
277  bool is_busentry0 = (dynamic_cast<SCH_BUS_ENTRY_BASE*>( m_List[0] ) != NULL);
278  bool is_busentry1 = (dynamic_cast<SCH_BUS_ENTRY_BASE*>( m_List[1] ) != NULL);
279 
280  if( (m_List[0]->Type() == SCH_LINE_T) && (m_List[1]->Type() == SCH_LINE_T) )
281  return ( ( SCH_LINE* ) m_List[0])->GetLayer() == ( ( SCH_LINE* ) m_List[1])->GetLayer();
282 
283  if( (m_List[0]->Type() == SCH_LINE_T) && is_busentry1 )
284  return true;
285 
286  if( is_busentry0 && (m_List[1]->Type() == SCH_LINE_T) )
287  return true;
288 
289  return false;
290 }
int GetCount() const
Function GetCount returns the number of objects in the list.
Definition: collector.h:106
Base class for a bus or wire entry.
Definition: sch_bus_entry.h:41
Segment description base class to describe items which have 2 end points (track, wire, draw line ...)
Definition: sch_line.h:41
static bool GetLayer(MODEL_VRML &aModel, LAYER_NUM layer, VRML_LAYER **vlayer)
std::vector< EDA_ITEM * > m_List
A place to hold collected objects without taking ownership of their memory.
Definition: collector.h:65
bool SCH_COLLECTOR::IsDraggableJunction ( ) const
inherited

Function IsDraggableJunction tests to see if the collected items form a draggable junction.

Daggable junctions are defined as:

  • The intersection of three or more wire end points.
  • The intersection of one or more wire end point and one wire mid point.
  • The crossing of two or more wire mid points and a junction.
Returns
True if the collection is a draggable junction.

Definition at line 327 of file sch_collectors.cpp.

References i, COLLECTOR::m_List, and SCH_JUNCTION_T.

Referenced by SCH_EDIT_FRAME::addJunctionMenuEntries(), SCH_EDIT_FRAME::LocateItem(), SCH_EDIT_FRAME::OnDragItem(), and SCH_COLLECTOR::operator[]().

328 {
329  for( size_t i = 0; i < m_List.size(); i++ )
330  if( ( (SCH_ITEM*) m_List[ i ] )->Type() == SCH_JUNCTION_T )
331  return true;
332 
333  return false;
334 }
size_t i
Definition: json11.cpp:597
std::vector< EDA_ITEM * > m_List
A place to hold collected objects without taking ownership of their memory.
Definition: collector.h:65
Class SCH_ITEM is a base class for any item which can be embedded within the SCHEMATIC container clas...
bool SCH_COLLECTOR::IsNode ( bool  aIncludePins = true) const
inherited

Function IsNode tests if the collected items form a node.

Parameters
aIncludePinsIndicate if component pin items should be included in the test.
Returns
True if the collected items form a node.

Definition at line 293 of file sch_collectors.cpp.

References SCH_ITEM::GetLayer(), i, LAYER_WIRE, LIB_PIN_T, COLLECTOR::m_List, SCH_JUNCTION_T, SCH_LINE_T, and EDA_ITEM::Type().

Referenced by SCH_EDIT_FRAME::LocateItem(), SCH_EDIT_FRAME::OnDragItem(), and SCH_COLLECTOR::operator[]().

294 {
295  for( size_t i = 0; i < m_List.size(); i++ )
296  {
297  SCH_ITEM* item = (SCH_ITEM*) m_List[ i ];
298  KICAD_T type = item->Type();
299 
300  if( type == SCH_JUNCTION_T )
301  continue;
302 
303  if( type == SCH_LINE_T )
304  {
305  if( item->GetLayer() != LAYER_WIRE )
306  return false;
307 
308  continue;
309  }
310 
311  if( type == LIB_PIN_T )
312  {
313  if( !aIncludePins )
314  return false;
315 
316  continue;
317  }
318 
319  // Any other item types indicate that this collection is not a node.
320  return false;
321  }
322 
323  return true;
324 }
KICAD_T Type() const
Function Type()
Definition: base_struct.h:209
SCH_LAYER_ID GetLayer() const
Function GetLayer returns the layer this item is on.
KICAD_T
Enum KICAD_T is the set of class identification values, stored in EDA_ITEM::m_StructType.
Definition: typeinfo.h:78
size_t i
Definition: json11.cpp:597
std::vector< EDA_ITEM * > m_List
A place to hold collected objects without taking ownership of their memory.
Definition: collector.h:65
Class SCH_ITEM is a base class for any item which can be embedded within the SCHEMATIC container clas...
bool COLLECTOR::IsSimilarPointAndTime ( const wxPoint aRefPos)
inlineinherited

Function IsSimilarPointAndTime returns true if the given reference point is "similar" (defined here) to the internal reference point and the current time is within a few seconds of the internal m_TimeAtCollection.

Parameters
aRefPosA wxPoint to compare to.
Returns
bool - true if the point and time are similar, else false.

Definition at line 237 of file collector.h.

References abs, GetNewTimeStamp(), wxPoint::x, and wxPoint::y.

238  {
239  const int distMax = 2; // adjust these here
240  const timestamp_t timeMax = 3; // seconds
241 
242  int dx = abs( aRefPos.x - m_RefPos.x );
243  int dy = abs( aRefPos.y - m_RefPos.y );
244 
245  if( dx <= distMax && dy <= distMax &&
246  GetNewTimeStamp() - m_TimeAtCollection <= timeMax )
247  return true;
248  else
249  return false;
250  }
long timestamp_t
timestamp_t is our type to represent unique IDs for all kinds of elements; historically simply the ti...
Definition: base_struct.h:155
#define abs(a)
Definition: auxiliary.h:84
timestamp_t GetNewTimeStamp()
Definition: common.cpp:160
wxPoint m_RefPos
A point to test against, and that was used to make the collection.
Definition: collector.h:68
timestamp_t m_TimeAtCollection
The time at which the collection was made.
Definition: collector.h:74
bool COLLECTOR::IsValidIndex ( int  aIndex)
inlineinherited

Function IsValidIndex tests if aIndex is with the limits of the list of collected items.

Parameters
aIndexThe index to test.
Returns
True if aIndex is with the limits of the list of collected items, otherwise false.

Definition at line 97 of file collector.h.

Referenced by SCH_FIND_COLLECTOR::GetText(), and SCH_FIND_COLLECTOR::ReplaceItem().

98  {
99  return ( (unsigned) aIndex < m_List.size() );
100  }
std::vector< EDA_ITEM * > m_List
A place to hold collected objects without taking ownership of their memory.
Definition: collector.h:65
SCH_ITEM* SCH_COLLECTOR::operator[] ( int  aIndex) const
inlineinherited

Overload COLLECTOR::operator[](int) to return a SCH_ITEM instead of an EDA_ITEM.

Parameters
aIndexThe index into the list.
Returns
SCH_ITEM* at aIndex or NULL.

Definition at line 140 of file sch_collectors.h.

References SCH_COLLECTOR::Collect(), COLLECTOR::GetCount(), SCH_COLLECTOR::Inspect(), SCH_COLLECTOR::IsCorner(), SCH_COLLECTOR::IsDraggableJunction(), SCH_COLLECTOR::IsNode(), and COLLECTOR::m_List.

Referenced by SCH_FIND_COLLECTOR::Empty().

141  {
142  if( (unsigned)aIndex < (unsigned)GetCount() )
143  return (SCH_ITEM*) m_List[ aIndex ];
144 
145  return NULL;
146  }
int GetCount() const
Function GetCount returns the number of objects in the list.
Definition: collector.h:106
std::vector< EDA_ITEM * > m_List
A place to hold collected objects without taking ownership of their memory.
Definition: collector.h:65
Class SCH_ITEM is a base class for any item which can be embedded within the SCHEMATIC container clas...
void COLLECTOR::Remove ( int  aIndex)
inlineinherited

Function Remove removes the item at aIndex (first position is 0);.

Parameters
aIndexThe index into the list.

Definition at line 135 of file collector.h.

Referenced by connectedItemFilter(), connectedTrackFilter(), EDIT_TOOL::FootprintFilter(), SELECTION_TOOL::guessSelectionCandidates(), ROUTER_TOOL::NeighboringSegmentFilter(), PCB_BASE_FRAME::PcbGeneralLocateAndDisplay(), GERBVIEW_SELECTION_TOOL::selectPoint(), and SELECTION_TOOL::selectPoint().

136  {
137  m_List.erase( m_List.begin() + aIndex );
138  }
std::vector< EDA_ITEM * > m_List
A place to hold collected objects without taking ownership of their memory.
Definition: collector.h:65
void COLLECTOR::Remove ( const EDA_ITEM aItem)
inlineinherited

Function Remove removes the item aItem (if exists in the collector).

Parameters
aItemthe item to be removed.

Definition at line 145 of file collector.h.

References i.

146  {
147  for( size_t i = 0; i < m_List.size(); i++ )
148  {
149  if( m_List[i] == aItem )
150  {
151  m_List.erase( m_List.begin() + i);
152  return;
153  }
154  }
155  }
size_t i
Definition: json11.cpp:597
std::vector< EDA_ITEM * > m_List
A place to hold collected objects without taking ownership of their memory.
Definition: collector.h:65
void COLLECTOR::SetBoundingBox ( const EDA_RECT aRefBox)
inlineinherited

Definition at line 225 of file collector.h.

225 { m_RefBox = aRefBox; }
EDA_RECT m_RefBox
A bounding box to test against, and that was used to make the collection.
Definition: collector.h:71
void COLLECTOR::SetRefPos ( const wxPoint aRefPos)
inlineinherited

Definition at line 222 of file collector.h.

Referenced by GERBER_COLLECTOR::Collect(), LIB_COLLECTOR::Collect(), SCH_COLLECTOR::Collect(), and GENERAL_COLLECTOR::Collect().

222 { m_RefPos = aRefPos; }
wxPoint m_RefPos
A point to test against, and that was used to make the collection.
Definition: collector.h:68
void COLLECTOR::SetScanTypes ( const KICAD_T scanTypes)
inlineinherited

Function SetScanTypes records the list of KICAD_T types to consider for collection by the Inspect() function.

Parameters
scanTypesAn 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 207 of file collector.h.

Referenced by GERBER_COLLECTOR::Collect(), LIB_COLLECTOR::Collect(), SCH_COLLECTOR::Collect(), GENERAL_COLLECTOR::Collect(), Collect(), GERBER_COLLECTOR::GERBER_COLLECTOR(), SCH_COLLECTOR::SCH_COLLECTOR(), and SCH_FIND_COLLECTOR::SCH_FIND_COLLECTOR().

208  {
209  m_ScanTypes = scanTypes;
210  }
const KICAD_T * m_ScanTypes
Which object types to scan.
Definition: collector.h:62
void COLLECTOR::SetTimeNow ( )
inlineinherited

Definition at line 212 of file collector.h.

References GetNewTimeStamp().

Referenced by GERBER_COLLECTOR::Collect(), and GENERAL_COLLECTOR::Collect().

213  {
215  }
timestamp_t GetNewTimeStamp()
Definition: common.cpp:160
timestamp_t m_TimeAtCollection
The time at which the collection was made.
Definition: collector.h:74

Member Data Documentation

const KICAD_T SCH_COLLECTOR::AllItemsButPins
staticinherited
const KICAD_T SCH_COLLECTOR::CmpFieldFootprintOnly
staticinherited
Initial value:

A scan list for a specific editable field: Footprint.

Definition at line 69 of file sch_collectors.h.

Referenced by SCH_EDIT_FRAME::OnEditItem().

const KICAD_T SCH_COLLECTOR::CmpFieldReferenceOnly
staticinherited
Initial value:

A scan list for a specific editable field: Reference.

Definition at line 64 of file sch_collectors.h.

Referenced by SCH_EDIT_FRAME::OnEditItem().

const KICAD_T SCH_COLLECTOR::CmpFieldValueOnly
staticinherited
Initial value:

A scan list for a specific editable field: Value.

Definition at line 59 of file sch_collectors.h.

Referenced by SCH_EDIT_FRAME::OnEditItem().

const KICAD_T SCH_COLLECTOR::ComponentsOnly
staticinherited
const KICAD_T SCH_COLLECTOR::CopyableItems
staticinherited
Initial value:

A scan list for schematic items that can be copied/duplicated.

Definition at line 119 of file sch_collectors.h.

Referenced by SCH_EDIT_FRAME::OnHotKey().

const KICAD_T SCH_COLLECTOR::DoubleClickItems
staticinherited
Initial value:

A scan list for schematic items that react to a double-click.

Definition at line 124 of file sch_collectors.h.

Referenced by SCH_EDIT_FRAME::OnLeftDClick().

const KICAD_T SCH_COLLECTOR::DraggableItems
staticinherited
Initial value:

A scan list for all draggable schematic items.

Definition at line 79 of file sch_collectors.h.

Referenced by SCH_EDIT_FRAME::OnDragItem().

const KICAD_T SCH_COLLECTOR::EditableItems
staticinherited
Initial value:

A scan list for all editable schematic items.

Definition at line 54 of file sch_collectors.h.

Referenced by SCH_EDIT_FRAME::OnEditItem().

std::vector<EDA_ITEM*> COLLECTOR::m_List
protectedinherited
EDA_RECT COLLECTOR::m_RefBox
protectedinherited

A bounding box to test against, and that was used to make the collection.

Definition at line 71 of file collector.h.

Referenced by COLLECTOR::GetBoundingBox().

wxPoint COLLECTOR::m_RefPos
protectedinherited

A point to test against, and that was used to make the collection.

Definition at line 68 of file collector.h.

Referenced by COLLECTOR::GetRefPos(), GERBER_COLLECTOR::Inspect(), LIB_COLLECTOR::Inspect(), SCH_COLLECTOR::Inspect(), and GENERAL_COLLECTOR::Inspect().

const KICAD_T* COLLECTOR::m_ScanTypes
protectedinherited
timestamp_t COLLECTOR::m_TimeAtCollection
protectedinherited

The time at which the collection was made.

Definition at line 74 of file collector.h.

Referenced by COLLECTOR::GetTime().

const KICAD_T SCH_COLLECTOR::OrientableItems
staticinherited
Initial value:

A scan list for schematic items that can be mirrored.

Definition at line 114 of file sch_collectors.h.

Referenced by SCH_EDIT_FRAME::OnOrient().

const KICAD_T SCH_COLLECTOR::ParentItems
staticinherited
const KICAD_T SCH_COLLECTOR::RotatableItems
staticinherited
Initial value:

A scan list for all rotatable schematic items.

Definition at line 84 of file sch_collectors.h.

Referenced by SCH_EDIT_FRAME::OnRotate().

const KICAD_T SCH_COLLECTOR::SheetsAndSheetLabels
staticinherited
Initial value:

A scan list for schematic sheet and sheet label items.

Definition at line 109 of file sch_collectors.h.

Referenced by SCH_EDIT_FRAME::OnLeftClick().

const KICAD_T SCH_COLLECTOR::SheetsOnly
staticinherited
Initial value:

A scan list for schematic sheet items only.

Definition at line 104 of file sch_collectors.h.

Referenced by SCH_EDIT_FRAME::AppendSchematic().


The documentation for this class was generated from the following files: