Horizon
Public Member Functions | Static Public Member Functions | List of all members
PNS::SEGMENT Class Reference
Inheritance diagram for PNS::SEGMENT:
PNS::ITEM

Public Member Functions

 SEGMENT (const SEG &aSeg, int aNet)
 
 SEGMENT (const LINE &aParentLine, const SEG &aSeg)
 
SEGMENT * Clone () const override
 Function Clone() More...
 
const SHAPE * Shape () const override
 Function Shape() More...
 
void SetLayer (int aLayer)
 
int Layer () const override
 Function Layer() More...
 
void SetWidth (int aWidth)
 
int Width () const
 
const SEG & Seg () const
 
const SHAPE_LINE_CHAIN CLine () const
 
void SetEnds (const VECTOR2I &a, const VECTOR2I &b)
 
void SwapEnds ()
 
const SHAPE_LINE_CHAIN Hull (int aClearance, int aWalkaroundThickness) const override
 
virtual VECTOR2I Anchor (int n) const override
 
virtual int AnchorCount () const override
 
- Public Member Functions inherited from PNS::ITEM
 ITEM (PnsKind aKind)
 
 ITEM (const ITEM &aOther)
 
PnsKind Kind () const
 Function Kind() More...
 
bool OfKind (int aKindMask) const
 Function OfKind() More...
 
const std::string KindStr () const
 Function KindStr() More...
 
void SetParent (const PNS_HORIZON_PARENT_ITEM *aParent)
 Function SetParent() More...
 
auto Parent () const
 Function Parent() More...
 
void SetNet (int aNet)
 Function SetNet() More...
 
int Net () const
 Function Net() More...
 
void SetLayers (const LAYER_RANGE &aLayers)
 Function SetLayers() More...
 
void SetLayer (int aLayer)
 Function SetLayer() More...
 
const LAYER_RANGE & Layers () const
 Function Layers() More...
 
bool LayersOverlap (const ITEM *aOther) const
 Function LayersOverlap() More...
 
void SetOwner (NODE *aOwner)
 Functon SetOwner() More...
 
bool BelongsTo (NODE *aNode) const
 Function BelongsTo() More...
 
NODE * Owner () const
 Function Owner() More...
 
virtual bool Collide (const ITEM *aOther, int aClearance, bool aNeedMTV, VECTOR2I &aMTV, bool aDifferentNetsOnly=true) const
 Function Collide() More...
 
bool Collide (const ITEM *aOther, int aClearance, bool aDifferentNetsOnly=true) const
 Function Collide() More...
 
virtual void Mark (int aMarker)
 
virtual void Unmark (int aMarker=-1)
 
virtual int Marker () const
 
virtual void SetRank (int aRank)
 
virtual int Rank () const
 
bool IsLocked () const
 

Static Public Member Functions

static bool ClassOf (const ITEM *aItem)
 

Additional Inherited Members

- Public Types inherited from PNS::ITEM
enum  PnsKind {
  SOLID_T = 1, LINE_T = 2, JOINT_T = 4, SEGMENT_T = 8,
  VIA_T = 16, DIFF_PAIR_T = 32, ANY_T = 0xff
}
 

Supported item types


 
- Static Public Attributes inherited from PNS::ITEM
static const int UnusedNet = INT_MAX
 
- Protected Attributes inherited from PNS::ITEM
PnsKind m_kind
 
const PNS_HORIZON_PARENT_ITEM * m_parent
 
NODE * m_owner
 
LAYER_RANGE m_layers
 
bool m_movable
 
int m_net
 
int m_marker
 
int m_rank
 

Member Function Documentation

◆ Clone()

SEGMENT * PNS::SEGMENT::Clone ( ) const
overridevirtual

Function Clone()

Returns a deep copy of the item

Implements PNS::ITEM.

◆ Layer()

int PNS::SEGMENT::Layer ( ) const
inlineoverridevirtual

Function Layer()

Returns the item's layer, for single-layered items only.

Reimplemented from PNS::ITEM.

◆ Shape()

const SHAPE* PNS::SEGMENT::Shape ( ) const
inlineoverridevirtual

Function Shape()

Returns the geometrical shape of the item. Used for collision detection & spatial indexing.

Reimplemented from PNS::ITEM.


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