| 
    KiCad PCB EDA Suite
    
   | 
 
#include <connectivity_items.h>
  
Public Member Functions | |
| CN_ZONE_LAYER (ZONE *aParent, PCB_LAYER_ID aLayer, int aSubpolyIndex) | |
| void | BuildRTree () | 
| int | SubpolyIndex () const | 
| PCB_LAYER_ID | GetLayer () const | 
| bool | ContainsPoint (const VECTOR2I &p) const | 
| PCB_LAYER_ID | GetLayer () | 
| virtual int | AnchorCount () const override | 
| virtual const VECTOR2I | GetAnchor (int n) const override | 
| const SHAPE_LINE_CHAIN & | GetOutline () const | 
| bool | Collide (SHAPE *aRefShape) const | 
| bool | HasSingleConnection () | 
| void | Dump () | 
| std::shared_ptr< CN_ANCHOR > | AddAnchor (const VECTOR2I &aPos) | 
| std::vector< std::shared_ptr< CN_ANCHOR > > & | Anchors () | 
| void | SetValid (bool aValid) | 
| bool | Valid () const | 
| void | SetDirty (bool aDirty) | 
| bool | Dirty () const | 
| void | SetLayers (int aStartLayer, int aEndLayer) | 
| Set the layers spanned by the item to aStartLayer and aEndLayer.   | |
| void | SetLayer (int aLayer) | 
| Set the layers spanned by the item to a single layer aLayer.   | |
| int | StartLayer () const | 
| Return the contiguous set of layers spanned by the item.   | |
| int | EndLayer () const | 
| virtual int | Layer () const | 
| Return the item's layer, for single-layered items only.   | |
| PCB_LAYER_ID | GetBoardLayer () const | 
| When using CN_ITEM layers to compare against board items, use this function which correctly remaps the B_Cu layer.   | |
| const BOX2I & | BBox () | 
| BOARD_CONNECTED_ITEM * | Parent () const | 
| const std::vector< CN_ITEM * > & | ConnectedItems () const | 
| void | ClearConnections () | 
| bool | CanChangeNet () const | 
| void | Connect (CN_ITEM *b) | 
| void | RemoveInvalidRefs () | 
| int | Net () const | 
Protected Attributes | |
| bool | m_dirty | 
| used to identify recently added item not yet scanned into the connectivity search   | |
| int | m_start_layer | 
| start layer of the item N.B. B_Cu is set to INT_MAX   | |
| int | m_end_layer | 
| end layer of the item N.B. B_Cu is set to INT_MAX   | |
| BOX2I | m_bbox | 
| bounding box for the item   | |
Private Attributes | |
| ZONE * | m_zone | 
| int | m_subpolyIndex | 
| PCB_LAYER_ID | m_layer | 
| std::shared_ptr< SHAPE_POLY_SET > | m_fillPoly | 
| RTree< const SHAPE *, int, 2, double > | m_rTree | 
| BOARD_CONNECTED_ITEM * | m_parent | 
| std::vector< CN_ITEM * > | m_connected | 
| list of physically touching items   | |
| std::vector< std::shared_ptr< CN_ANCHOR > > | m_anchors | 
| bool | m_canChangeNet | 
| can the net propagator modify the netcode?   | |
| bool | m_valid | 
| used to identify garbage items (we use lazy removal)   | |
| std::mutex | m_listLock | 
| mutex protecting this item's connected_items set to   | |
Definition at line 283 of file connectivity_items.h.
      
  | 
  inline | 
Definition at line 286 of file connectivity_items.h.
References CN_ITEM::CN_ITEM(), ZONE::GetFilledPolysList(), m_fillPoly, m_layer, m_subpolyIndex, m_zone, and CN_ITEM::SetLayers().
Definition at line 155 of file connectivity_items.h.
References m_anchors.
Referenced by CN_LIST::Add(), CN_LIST::Add(), CN_LIST::Add(), CN_LIST::Add(), and CN_LIST::Add().
      
  | 
  overridevirtual | 
Reimplemented from CN_ITEM.
Definition at line 97 of file connectivity_items.cpp.
References SHAPE_POLY_SET::COutline(), ZONE::GetFilledPolysList(), m_layer, m_subpolyIndex, CN_ITEM::Parent(), SHAPE_LINE_CHAIN::PointCount(), and CN_ITEM::Valid().
      
  | 
  inlineinherited | 
Definition at line 161 of file connectivity_items.h.
References m_anchors.
      
  | 
  inlineinherited | 
Definition at line 221 of file connectivity_items.h.
References m_bbox, m_dirty, m_parent, and m_valid.
Referenced by CN_VISITOR::checkZoneZoneConnection(), and CN_LIST::FindNearby().
      
  | 
  inline | 
Definition at line 296 of file connectivity_items.h.
References BOX2< Vec >::GetBottom(), BOX2< Vec >::GetRight(), BOX2< Vec >::GetX(), BOX2< Vec >::GetY(), m_fillPoly, m_rTree, m_subpolyIndex, and m_zone.
Referenced by CN_LIST::Add().
      
  | 
  inlineinherited | 
Definition at line 234 of file connectivity_items.h.
References m_canChangeNet.
Referenced by CN_VISITOR::checkZoneItemConnection(), and CN_VISITOR::operator()().
      
  | 
  inlineinherited | 
Definition at line 232 of file connectivity_items.h.
References m_connected.
      
  | 
  inline | 
Definition at line 361 of file connectivity_items.h.
References SHAPE::BBox(), SHAPE::Collide(), BOX2< Vec >::GetBottom(), BOX2< Vec >::GetRight(), BOX2< Vec >::GetX(), BOX2< Vec >::GetY(), m_fillPoly, m_rTree, and m_zone.
Referenced by CN_VISITOR::checkZoneItemConnection().
      
  | 
  inlineinherited | 
Definition at line 236 of file connectivity_items.h.
References CN_ITEM(), m_connected, and m_listLock.
Referenced by CN_VISITOR::checkZoneItemConnection(), CN_VISITOR::checkZoneZoneConnection(), and CN_VISITOR::operator()().
      
  | 
  inlineinherited | 
Definition at line 231 of file connectivity_items.h.
References m_connected.
Referenced by CONNECTIVITY_DATA::GetConnectedItemsAtAnchor(), CONNECTIVITY_DATA::GetConnectedPads(), CONNECTIVITY_DATA::GetConnectedPadsAndVias(), CONNECTIVITY_DATA::GetConnectedTracks(), CN_ZONE_LAYER::HasSingleConnection(), CONNECTIVITY_DATA::IsConnectedOnLayer(), RN_NET::OptimizeRNEdges(), CN_CONNECTIVITY_ALGO::SearchClusters(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), and uniquePathBetweenNodes().
      
  | 
  inline | 
Definition at line 325 of file connectivity_items.h.
References m_fillPoly, m_rTree, m_subpolyIndex, m_zone, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by CN_VISITOR::checkZoneItemConnection(), and CN_VISITOR::checkZoneZoneConnection().
      
  | 
  inlineinherited | 
Definition at line 167 of file connectivity_items.h.
References m_dirty.
Referenced by CN_VISITOR::operator()().
      
  | 
  inherited | 
Definition at line 85 of file connectivity_items.cpp.
References CN_ITEM(), m_connected, EDA_ITEM::Type(), and Valid().
      
  | 
  inlineinherited | 
Definition at line 195 of file connectivity_items.h.
References m_end_layer.
Referenced by CN_LIST::FindNearby().
      
  | 
  overridevirtual | 
Reimplemented from CN_ITEM.
Definition at line 108 of file connectivity_items.cpp.
References SHAPE_POLY_SET::COutline(), SHAPE_LINE_CHAIN::CPoint(), ZONE::GetFilledPolysList(), m_layer, m_subpolyIndex, CN_ITEM::Parent(), and CN_ITEM::Valid().
      
  | 
  inlineinherited | 
When using CN_ITEM layers to compare against board items, use this function which correctly remaps the B_Cu layer.
Definition at line 211 of file connectivity_items.h.
References B_Cu, Layer(), and ToLAYER_ID().
Referenced by RN_NET::OptimizeRNEdges().
      
  | 
  inline | 
Definition at line 351 of file connectivity_items.h.
References m_layer.
      
  | 
  inline | 
Definition at line 323 of file connectivity_items.h.
References m_layer.
Referenced by CN_VISITOR::checkZoneItemConnection(), and CN_VISITOR::checkZoneZoneConnection().
      
  | 
  inline | 
Definition at line 356 of file connectivity_items.h.
References m_fillPoly, and m_subpolyIndex.
Referenced by RN_NET::OptimizeRNEdges().
| bool CN_ZONE_LAYER::HasSingleConnection | ( | ) | 
Definition at line 119 of file connectivity_items.cpp.
References CN_ITEM::CN_ITEM(), and CN_ITEM::ConnectedItems().
Referenced by CN_CONNECTIVITY_ALGO::FillIsolatedIslandsMap().
      
  | 
  inlinevirtualinherited | 
Return the item's layer, for single-layered items only.
N.B. This should only be used inside connectivity as B_Cu is mapped to a large int
Definition at line 202 of file connectivity_items.h.
References StartLayer().
Referenced by GetBoardLayer().
      
  | 
  inlineinherited | 
Definition at line 253 of file connectivity_items.h.
References m_parent, and m_valid.
Referenced by CN_CLUSTER::Add(), CN_VISITOR::checkZoneItemConnection(), CONNECTIVITY_DATA::GetNetItems(), CN_VISITOR::operator()(), NETCODE_CMP_LESS::operator()(), NETCODE_CMP_LESS::operator()(), NETCODE_CMP_LESS::operator()(), and CN_CONNECTIVITY_ALGO::SearchClusters().
      
  | 
  inlineinherited | 
Definition at line 229 of file connectivity_items.h.
References m_parent.
Referenced by CN_CLUSTER::Add(), CN_ZONE_LAYER::AnchorCount(), CN_VISITOR::checkZoneItemConnection(), CN_VISITOR::checkZoneZoneConnection(), CN_ZONE_LAYER::GetAnchor(), CONNECTIVITY_DATA::GetNetItems(), CONNECTIVITY_DATA::IsConnectedOnLayer(), and CN_VISITOR::operator()().
      
  | 
  inherited | 
Definition at line 136 of file connectivity_items.cpp.
References m_connected.
      
  | 
  inlineinherited | 
Definition at line 166 of file connectivity_items.h.
References m_dirty.
      
  | 
  inlineinherited | 
Set the layers spanned by the item to a single layer aLayer.
Definition at line 189 of file connectivity_items.h.
References SetLayers().
Referenced by CN_LIST::Add(), CN_LIST::Add(), and CN_LIST::Add().
      
  | 
  inlineinherited | 
Set the layers spanned by the item to aStartLayer and aEndLayer.
Definition at line 172 of file connectivity_items.h.
References B_Cu, m_end_layer, and m_start_layer.
Referenced by CN_LIST::Add(), CN_ZONE_LAYER::CN_ZONE_LAYER(), and SetLayer().
      
  | 
  inlineinherited | 
Definition at line 163 of file connectivity_items.h.
References m_valid.
      
  | 
  inlineinherited | 
Return the contiguous set of layers spanned by the item.
Definition at line 194 of file connectivity_items.h.
References m_start_layer.
Referenced by CN_LIST::FindNearby(), and Layer().
      
  | 
  inline | 
Definition at line 321 of file connectivity_items.h.
References m_subpolyIndex.
Referenced by CN_VISITOR::checkZoneZoneConnection(), CN_CONNECTIVITY_ALGO::FillIsolatedIslandsMap(), and CONNECTIVITY_DATA::IsConnectedOnLayer().
      
  | 
  inlineinherited | 
Definition at line 164 of file connectivity_items.h.
References m_valid.
Referenced by CN_ZONE_LAYER::AnchorCount(), Dump(), CN_ZONE_LAYER::GetAnchor(), CONNECTIVITY_DATA::GetNetItems(), CN_VISITOR::operator()(), and CONNECTIVITY_DATA::TestTrackEndpointDangling().
      
  | 
  privateinherited | 
Definition at line 269 of file connectivity_items.h.
Referenced by AddAnchor(), AnchorCount(), Anchors(), CN_ITEM(), GetAnchor(), and ~CN_ITEM().
      
  | 
  protectedinherited | 
bounding box for the item
Definition at line 263 of file connectivity_items.h.
Referenced by BBox().
      
  | 
  privateinherited | 
can the net propagator modify the netcode?
Definition at line 271 of file connectivity_items.h.
Referenced by CanChangeNet(), and CN_ITEM().
      
  | 
  privateinherited | 
list of physically touching items
Definition at line 268 of file connectivity_items.h.
Referenced by ClearConnections(), CN_ITEM(), Connect(), ConnectedItems(), Dump(), and RemoveInvalidRefs().
      
  | 
  protectedinherited | 
used to identify recently added item not yet scanned into the connectivity search
Definition at line 259 of file connectivity_items.h.
Referenced by BBox(), CN_ITEM(), Dirty(), and SetDirty().
      
  | 
  protectedinherited | 
end layer of the item N.B. B_Cu is set to INT_MAX
Definition at line 262 of file connectivity_items.h.
Referenced by CN_ITEM(), EndLayer(), and SetLayers().
      
  | 
  private | 
Definition at line 394 of file connectivity_items.h.
Referenced by BuildRTree(), CN_ZONE_LAYER(), Collide(), ContainsPoint(), and GetOutline().
      
  | 
  private | 
Definition at line 393 of file connectivity_items.h.
Referenced by AnchorCount(), CN_ZONE_LAYER(), GetAnchor(), GetLayer(), and GetLayer().
      
  | 
  privateinherited | 
mutex protecting this item's connected_items set to
Definition at line 275 of file connectivity_items.h.
Referenced by Connect().
      
  | 
  privateinherited | 
Definition at line 266 of file connectivity_items.h.
Referenced by AnchorCount(), BBox(), CN_ITEM(), GetAnchor(), Net(), and Parent().
      
  | 
  private | 
Definition at line 395 of file connectivity_items.h.
Referenced by BuildRTree(), Collide(), and ContainsPoint().
      
  | 
  protectedinherited | 
start layer of the item N.B. B_Cu is set to INT_MAX
Definition at line 261 of file connectivity_items.h.
Referenced by CN_ITEM(), SetLayers(), and StartLayer().
      
  | 
  private | 
Definition at line 392 of file connectivity_items.h.
Referenced by AnchorCount(), BuildRTree(), CN_ZONE_LAYER(), ContainsPoint(), GetAnchor(), GetOutline(), and SubpolyIndex().
      
  | 
  privateinherited | 
used to identify garbage items (we use lazy removal)
Definition at line 273 of file connectivity_items.h.
Referenced by AnchorCount(), BBox(), CN_ITEM(), GetAnchor(), Net(), SetValid(), and Valid().
      
  | 
  private | 
Definition at line 391 of file connectivity_items.h.
Referenced by BuildRTree(), CN_ZONE_LAYER(), Collide(), and ContainsPoint().