| 
    KiCad PCB EDA Suite
    
   | 
 
CN_ANCHOR represents a physical location that can be connected: a pad or a track/arc/via endpoint. More...
#include <connectivity_items.h>
Public Member Functions | |
| CN_ANCHOR (const VECTOR2I &aPos, CN_ITEM *aItem) | |
| bool | Valid () const | 
| bool | Dirty () const | 
| CN_ITEM * | Item () const | 
| void | SetItem (CN_ITEM *aItem) | 
| BOARD_CONNECTED_ITEM * | Parent () const | 
| const VECTOR2I & | Pos () const | 
| void | Move (const VECTOR2I &aPos) | 
| unsigned int | Dist (const CN_ANCHOR &aSecond) | 
| int | GetTag () const | 
| void | SetTag (int aTag) | 
| const bool & | GetNoLine () const | 
| void | SetNoLine (bool aEnable) | 
| const std::shared_ptr< CN_CLUSTER > & | GetCluster () const | 
| void | SetCluster (std::shared_ptr< CN_CLUSTER > &aCluster) | 
| bool | IsDangling () const | 
| The anchor point is dangling if the parent is a track and this anchor point is not connected to another item ( track, vias pad or zone) or if the parent is a via and this anchor point is connected to only one track and not to another item.   | |
| int | ConnectedItemsCount () const | 
Static Public Attributes | |
| static const int | TAG_UNCONNECTED = -1 | 
Private Attributes | |
| VECTOR2I | m_pos | 
| Position of the anchor.   | |
| CN_ITEM * | m_item | 
| Pad or track/arc/via owning the anchor.   | |
| int | m_tag | 
| Tag for quick connection resolution.   | |
| bool | m_noline | 
| Whether it the node can be a target for ratsnest lines.   | |
| std::shared_ptr< CN_CLUSTER > | m_cluster | 
| Cluster to which the anchor belongs.   | |
CN_ANCHOR represents a physical location that can be connected: a pad or a track/arc/via endpoint.
Definition at line 58 of file connectivity_items.h.
| int CN_ANCHOR::ConnectedItemsCount | ( | ) | const | 
Definition at line 372 of file connectivity_items.cpp.
References ZONE::HitTestFilledArea(), m_cluster, m_item, PCB_ZONE_T, and Pos().
| bool CN_ANCHOR::Dirty | ( | ) | const | 
Definition at line 319 of file connectivity_items.cpp.
References m_item, and Valid().
Referenced by PCB_SELECTION_TOOL::grabUnconnected(), DIALOG_DRC::OnDRCItemSelected(), DRC_TEST_PROVIDER_CONNECTIVITY::Run(), and BOARD::UpdateRatsnestExclusions().
      
  | 
  inline | 
Definition at line 84 of file connectivity_items.h.
References CN_ANCHOR(), m_pos, and Pos().
      
  | 
  inline | 
Definition at line 97 of file connectivity_items.h.
References m_cluster.
      
  | 
  inline | 
Definition at line 94 of file connectivity_items.h.
References m_noline.
      
  | 
  inline | 
Definition at line 90 of file connectivity_items.h.
References m_tag.
| bool CN_ANCHOR::IsDangling | ( | ) | const | 
The anchor point is dangling if the parent is a track and this anchor point is not connected to another item ( track, vias pad or zone) or if the parent is a via and this anchor point is connected to only one track and not to another item.
Definition at line 325 of file connectivity_items.cpp.
References accuracy, ZONE::HitTestFilledArea(), KiROUND(), m_cluster, m_item, Parent(), PCB_ARC_T, PCB_SHAPE_T, PCB_TRACE_T, PCB_VIA_T, PCB_ZONE_T, and Pos().
      
  | 
  inline | 
Definition at line 72 of file connectivity_items.h.
References m_item.
      
  | 
  inline | 
Definition at line 79 of file connectivity_items.h.
References m_pos.
| BOARD_CONNECTED_ITEM * CN_ANCHOR::Parent | ( | ) | const | 
Definition at line 303 of file connectivity_items.cpp.
References m_item.
Referenced by PCB_SELECTION_TOOL::grabUnconnected(), IsDangling(), DIALOG_DRC::OnDRCItemSelected(), DRC_TEST_PROVIDER_CONNECTIVITY::Run(), and BOARD::UpdateRatsnestExclusions().
      
  | 
  inline | 
Definition at line 77 of file connectivity_items.h.
References m_pos.
Referenced by ConnectedItemsCount(), Dist(), IsDangling(), and DRC_TEST_PROVIDER_CONNECTIVITY::Run().
      
  | 
  inline | 
Definition at line 98 of file connectivity_items.h.
References m_cluster.
      
  | 
  inline | 
Definition at line 73 of file connectivity_items.h.
References m_item.
      
  | 
  inline | 
Definition at line 95 of file connectivity_items.h.
References m_noline.
      
  | 
  inline | 
Definition at line 91 of file connectivity_items.h.
References m_tag.
| bool CN_ANCHOR::Valid | ( | ) | const | 
      
  | 
  private | 
Cluster to which the anchor belongs.
Definition at line 123 of file connectivity_items.h.
Referenced by ConnectedItemsCount(), GetCluster(), IsDangling(), and SetCluster().
      
  | 
  private | 
Pad or track/arc/via owning the anchor.
Definition at line 119 of file connectivity_items.h.
Referenced by CN_ANCHOR(), ConnectedItemsCount(), Dirty(), IsDangling(), Item(), Parent(), SetItem(), and Valid().
      
  | 
  private | 
Whether it the node can be a target for ratsnest lines.
Definition at line 121 of file connectivity_items.h.
Referenced by CN_ANCHOR(), GetNoLine(), and SetNoLine().
      
  | 
  private | 
Position of the anchor.
Definition at line 118 of file connectivity_items.h.
Referenced by CN_ANCHOR(), Dist(), Move(), and Pos().
      
  | 
  private | 
Tag for quick connection resolution.
Definition at line 120 of file connectivity_items.h.
Referenced by CN_ANCHOR(), GetTag(), and SetTag().
      
  | 
  static | 
Definition at line 115 of file connectivity_items.h.