Horizon
Loading...
Searching...
No Matches
PNS::LINK_HOLDER Class Reference
Inheritance diagram for PNS::LINK_HOLDER:
PNS::ITEM PNS::DIFF_PAIR PNS::LINE

Public Types

typedef std::vector< LINKED_ITEM * > LINKS
Public Types inherited from PNS::ITEM
enum  PnsKind {
  SOLID_T = 1 , LINE_T = 2 , JOINT_T = 4 , SEGMENT_T = 8 ,
  ARC_T = 16 , VIA_T = 32 , DIFF_PAIR_T = 64 , ANY_T = 0xff
}

Public Member Functions

 LINK_HOLDER (PnsKind aKind)
 Add a reference to an item registered in a NODE that is a part of this line.
void Link (LINKED_ITEM *aLink)
 Return the list of links from the owning node that constitute this line (or NULL if the line is not linked).
LINKS & Links ()
const LINKS & Links () const
bool IsLinked () const
 Check if the segment aLink is a part of the line.
bool ContainsLink (const LINKED_ITEM *aItem) const
LINKED_ITEMGetLink (int aIndex) const
 Erase the linking information. Used to detach the line from the owning node.
virtual void ClearLinks ()
 Return the number of segments that were assembled together to form this line.
int LinkCount () const
void ShowLinks () const
Public Member Functions inherited from PNS::ITEM
 ITEM (PnsKind aKind)
 ITEM (const ITEM &aOther)
virtual ITEM * Clone () const =0
 Return a deep copy of the item.
virtual const SHAPE_LINE_CHAIN Hull (int aClearance=0, int aWalkaroundThickness=0, int aLayer=-1) const
virtual const SHAPE_LINE_CHAIN HoleHull (int aClearance, int aWalkaroundThickness, int aLayer) const
PnsKind Kind () const
 Return the type (kind) of the item.
bool OfKind (int aKindMask) const
 Return true if the item's type matches the mask aKindMask.
std::string KindStr () const
 Returns the kind of the item, as string.
void SetParent (const PNS_HORIZON_PARENT_ITEM *aParent)
const PNS_HORIZON_PARENT_ITEMParent () const
void SetNet (int aNet)
int Net () const
const LAYER_RANGELayers () const
void SetLayers (const LAYER_RANGE &aLayers)
void SetLayer (int aLayer)
virtual int Layer () const
bool LayersOverlap (const ITEM *aOther) const
 Return true if the set of layers spanned by aOther overlaps our layers.
NODEOwner () const
 Return the owner of this item, or NULL if there's none.
void SetOwner (NODE *aOwner)
 Set the node that owns this item.
bool BelongsTo (NODE *aNode) const
bool Collide (const ITEM *aOther, const NODE *aNode, bool aDifferentNetsOnly=true) const
 Check for a collision (clearance violation) with between us and item aOther.
virtual const SHAPEShape () const
 Return the geometrical shape of the item.
virtual const SHAPEHole () const
virtual void Mark (int aMarker) const
virtual void Unmark (int aMarker=-1) const
virtual int Marker () const
virtual void SetRank (int aRank)
virtual int Rank () const
virtual VECTOR2I Anchor (int n) const
virtual int AnchorCount () const
bool IsLocked () const
void SetRoutable (bool aRoutable)
bool IsRoutable () const
bool IsVirtual () const
void SetIsCompoundShapePrimitive ()
bool IsCompoundShapePrimitive () const

Protected Member Functions

void copyLinks (const LINK_HOLDER *aParent)
 < Copy m_links from the line aParent.

Protected Attributes

LINKS m_links
Protected Attributes inherited from PNS::ITEM
PnsKind m_kind
const PNS_HORIZON_PARENT_ITEMm_parent
NODEm_owner
LAYER_RANGE m_layers
bool m_movable
int m_net
int m_marker
int m_rank
bool m_routable
bool m_isVirtual
bool m_isCompoundShapePrimitive

Additional Inherited Members

Static Public Attributes inherited from PNS::ITEM
static const int UnusedNet = INT_MAX
 Supported item types.

Member Function Documentation

◆ ClearLinks()

virtual void PNS::LINK_HOLDER::ClearLinks ( )
inlinevirtual

Return the number of segments that were assembled together to form this line.

Reimplemented in PNS::DIFF_PAIR.

◆ copyLinks()

void PNS::LINK_HOLDER::copyLinks ( const LINK_HOLDER * aParent)
inlineprotected

< Copy m_links from the line aParent.

List of segments in the owning NODE (ITEM::m_owner) that constitute this line, or NULL if the line is not a part of any node.

◆ ShowLinks()

void PNS::LINK_HOLDER::ShowLinks ( ) const
inline
Todo
move outside header.

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