65 int cl = ( aClearance + aWalkaroundThickness / 2 );
71 ( 2 * cl + width ) * ( 1.0 - M_SQRT1_2 ) );
77 if( cmpnd->
Shapes().size() == 1 )
80 aWalkaroundThickness );
void Move(const VECTOR2I &delta)
virtual const SHAPE_LINE_CHAIN Hull(int aClearance=0, int aWalkaroundThickness=0, int aLayer=-1) const override
void SetCenter(const VECTOR2I &aCenter)
void SetRadius(int aRadius)
virtual HOLE * Clone() const override
Return a deep copy of the item.
static HOLE * MakeCircularHole(const VECTOR2I &pos, int radius, PNS_LAYER_RANGE aLayers)
void SetLayers(const PNS_LAYER_RANGE &aLayers)
const PNS_LAYER_RANGE & Layers() const
void SetOwner(const ITEM_OWNER *aOwner)
Set the node that owns this item.
Represent a contiguous set of PCB layers.
SHAPE_TYPE Type() const
Return the type of the shape.
const std::vector< SHAPE * > & Shapes() const
Represent a polyline containing arcs as well as line segments: A chain of connected line and/or arc s...
Represent a set of closed polygons.
int AddOutline(const SHAPE_LINE_CHAIN &aOutline)
Adds a new outline to the set and returns its index.
void Simplify()
Simplify the polyset (merges overlapping polys, eliminates degeneracy/self-intersections)
SHAPE_LINE_CHAIN & Outline(int aIndex)
Return the reference to aIndex-th outline in the set.
An abstract shape on 2D plane.
virtual void Move(const VECTOR2I &aVector)=0
virtual SHAPE * Clone() const
Return a dynamically allocated copy of the shape.
Push and Shove diff pair dimensions (gap) settings dialog.
const SHAPE_LINE_CHAIN BuildHullForPrimitiveShape(const SHAPE *aShape, int aClearance, int aWalkaroundThickness)
const SHAPE_LINE_CHAIN OctagonalHull(const VECTOR2I &aP0, const VECTOR2I &aSize, int aClearance, int aChamfer)
@ SH_COMPOUND
compound shape, consisting of multiple simple shapes
VECTOR2< int32_t > VECTOR2I