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.
Definition at line 61 of file connectivity_items.h.
int CN_ANCHOR::ConnectedItemsCount | ( | ) | const |
Definition at line 379 of file connectivity_items.cpp.
References CN_ITEM::ConnectedItems(), 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 CN_ITEM::Dirty(), m_item, and Valid().
Referenced by PCB_SELECTION_TOOL::grabUnconnected().
|
inline |
Definition at line 84 of file connectivity_items.h.
|
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 CN_ITEM::AnchorCount(), CN_ITEM::ConnectedItems(), 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, CN_ITEM::Parent(), and CN_ITEM::Valid().
Referenced by PCB_SELECTION_TOOL::grabUnconnected(), and IsDangling().
|
inline |
Definition at line 77 of file connectivity_items.h.
References m_pos.
Referenced by ConnectedItemsCount(), Dist(), and IsDangling().
|
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 |
Definition at line 310 of file connectivity_items.cpp.
References m_item, and CN_ITEM::Valid().
Referenced by Dirty().
|
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 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 GetNoLine(), and SetNoLine().
|
private |
Position of the anchor.
Definition at line 118 of file connectivity_items.h.
|
private |
Tag for quick connection resolution.
Definition at line 120 of file connectivity_items.h.
|
static |
Definition at line 115 of file connectivity_items.h.