Horizon
Loading...
Searching...
No Matches
PNS::VIA Class Reference
Inheritance diagram for PNS::VIA:
PNS::ITEM PNS::VVIA

Public Member Functions

 VIA (const VECTOR2I &aPos, const LAYER_RANGE &aLayers, int aDiameter, int aDrill, int aNet=-1, VIATYPE aViaType=VIATYPE::THROUGH)
 VIA (const VIA &aB)
const VECTOR2I & Pos () const
void SetPos (const VECTOR2I &aPos)
VIATYPE ViaType () const
void SetViaType (VIATYPE aViaType)
int Diameter () const
void SetDiameter (int aDiameter)
int Drill () const
void SetDrill (int aDrill)
bool IsFree () const
void SetIsFree (bool aIsFree)
bool PushoutForce (NODE *aNode, const VECTOR2I &aDirection, VECTOR2I &aForce, bool aSolidsOnly=true, int aMaxIterations=10)
const SHAPEShape () const override
 Return the geometrical shape of the item.
const SHAPE_CIRCLEHole () const override
void SetHole (const SHAPE_CIRCLE &aHole)
VIA * Clone () const override
 Return a deep copy of the item.
const SHAPE_LINE_CHAIN Hull (int aClearance=0, int aWalkaroundThickness=0, int aLayer=-1) const override
virtual VECTOR2I Anchor (int n) const override
virtual int AnchorCount () const override
int Definition () const
void SetDefinition (int aDef)
OPT_BOX2I ChangedArea (const VIA *aOther) const
const VIA_HANDLE MakeHandle () const
Public Member Functions inherited from PNS::ITEM
 ITEM (PnsKind aKind)
 ITEM (const ITEM &aOther)
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 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
bool IsLocked () const
void SetRoutable (bool aRoutable)
bool IsRoutable () const
bool IsVirtual () const
void SetIsCompoundShapePrimitive ()
bool IsCompoundShapePrimitive () 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 ,
  ARC_T = 16 , VIA_T = 32 , DIFF_PAIR_T = 64 , ANY_T = 0xff
}
Static Public Attributes inherited from PNS::ITEM
static const int UnusedNet = INT_MAX
 Supported item types.
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

Member Function Documentation

◆ Anchor()

virtual VECTOR2I PNS::VIA::Anchor ( int n) const
inlineoverridevirtual

Reimplemented from PNS::ITEM.

◆ AnchorCount()

virtual int PNS::VIA::AnchorCount ( ) const
inlineoverridevirtual

Reimplemented from PNS::ITEM.

◆ Clone()

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

Return a deep copy of the item.

Implements PNS::ITEM.

◆ Hole()

const SHAPE_CIRCLE * PNS::VIA::Hole ( ) const
inlineoverridevirtual

Reimplemented from PNS::ITEM.

◆ Hull()

const SHAPE_LINE_CHAIN PNS::VIA::Hull ( int aClearance = 0,
int aWalkaroundThickness = 0,
int aLayer = -1 ) const
overridevirtual

Reimplemented from PNS::ITEM.

◆ Shape()

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

Return the geometrical shape of the item.

Used for collision detection and spatial indexing.

Reimplemented from PNS::ITEM.


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