66 int aNet = -1,
VIATYPE aViaType = VIATYPE::THROUGH ) :
147 int aCollisionMask =
ITEM::ANY_T,
int aMaxIterations = 10 );
156 int aLayer = -1 )
const override;
184 virtual bool HasHole()
const override {
return true; }
187 virtual const std::string
Format()
const override;
204 VIA( aPos,
LAYER_RANGE( aLayer, aLayer ), aDiameter, aDiameter / 2, aNet )
std::optional< BOX2I > OPT_BOX2I
Represent a contiguous set of PCB layers.
void SetCenter(const VECTOR2I &aCenter)
void SetRadius(int aRadius)
static HOLE * MakeCircularHole(const VECTOR2I &pos, int radius)
void SetParentPadVia(ITEM *aParent)
Base class for PNS router board items.
void SetLayers(const LAYER_RANGE &aLayers)
PnsKind Kind() const
Return the type (kind) of the item.
const LAYER_RANGE & Layers() const
Keep the router "world" - i.e.
void SetOwner(const ITEM_OWNER *aOwner)
Set the node that owns this item.
bool BelongsTo(const ITEM_OWNER *aNode) const
OPT_BOX2I ChangedArea(const VIA *aOther) const
static bool ClassOf(const ITEM *aItem)
virtual VECTOR2I Anchor(int n) const override
const VECTOR2I & Pos() const
const SHAPE * Shape() const override
Return the geometrical shape of the item.
virtual void SetHole(HOLE *aHole) override
const VIA_HANDLE MakeHandle() const
void SetDiameter(int aDiameter)
virtual const std::string Format() const override
bool PushoutForce(NODE *aNode, const VECTOR2I &aDirection, VECTOR2I &aForce, int aCollisionMask=ITEM::ANY_T, int aMaxIterations=10)
virtual int AnchorCount() const override
virtual HOLE * Hole() const override
void SetIsFree(bool aIsFree)
void SetViaType(VIATYPE aViaType)
void SetPos(const VECTOR2I &aPos)
void SetDrill(int aDrill)
const SHAPE_LINE_CHAIN Hull(int aClearance=0, int aWalkaroundThickness=0, int aLayer=-1) const override
VIA(const VECTOR2I &aPos, const LAYER_RANGE &aLayers, int aDiameter, int aDrill, int aNet=-1, VIATYPE aViaType=VIATYPE::THROUGH)
virtual bool HasHole() const override
VIA * Clone() const override
Return a deep copy of the item.
VVIA(const VECTOR2I &aPos, int aLayer, int aDiameter, int aNet)
void SetRadius(int aRadius)
void SetCenter(const VECTOR2I &aCenter)
Represent a polyline containing arcs as well as line segments: A chain of connected line and/or arc s...
An abstract shape on 2D plane.
Push and Shove diff pair dimensions (gap) settings dialog.