Horizon
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
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 ITEMClone () 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: