114 aList.emplace_back(
_(
"Footprint" ), fp ? fp->
GetReference() :
_(
"<invalid>" ) );
239 if( aMirrorAroundXAxis )
258 if( aMirrorAroundXAxis )
269 m_poly.
Mirror( !aMirrorAroundXAxis, aMirrorAroundXAxis );
317 constexpr
double HIDE = std::numeric_limits<double>::max();
FP_SHAPE(FOOTPRINT *parent, PCB_SHAPE_TYPE_T aShape=S_SEGMENT)
EDA_ITEM * m_parent
Linked list: Link (parent struct)
static PROPERTY_MANAGER & Instance()
PNG memory record (file in memory).
virtual void SetLayer(PCB_LAYER_ID aLayer)
Set the layer this item is on.
wxString GetParentAsString() const
void Flip(const wxPoint &aCentre, bool aFlipLeftRight) override
Flip entity relative to aCentre.
double ViewGetLOD(int aLayer, KIGFX::VIEW *aView) const override
Return the level of detail (LOD) of the item.
PCB_LAYER_ID FlipLayer(PCB_LAYER_ID aLayerId, int aCopperLayersCount)
polygon (not yet used for tracks, but could be in microwave apps)
static wxString ShowShape(PCB_SHAPE_TYPE_T aShape)
Convert the enum PCB_SHAPE_TYPE_T integer value to a wxString.
usual segment : line with rounded ends
class FP_SHAPE, a footprint edge
#define KI_FALLTHROUGH
The KI_FALLTHROUGH macro is to be used when switch statement cases should purposely fallthrough from ...
void RotatePoint(int *pX, int *pY, double angle)
The base class for create windows for drawing purpose.
virtual void Rotate(const wxPoint &aRotCentre, double aAngle) override
Rotate this object.
#define NO_SETTER(owner, type)
void Mirror(bool aX=true, bool aY=false, const VECTOR2I &aRef={ 0, 0 })
Mirror the line points about y or x (or both)
void MIRROR(T &aPoint, const T &aMirrorRef)
Updates aPoint with the mirror of aPoint relative to the aMirrorRef.
wxPoint m_ThirdPoint0
End point for an arc.
EDA_ITEM * Clone() const override
Create a duplicate of this item with linked list members set to NULL.
PCB_SHAPE_TYPE_T
The set of shapes for PCB graphics and tracks and footprint graphics in the .m_Shape member.
void Move(const VECTOR2I &aVector) override
void Rotate(const wxPoint &aRotCentre, double aAngle) override
Rotate an edge of the footprint.
void SetAngle(double aAngle, bool aUpdateEnd=true) override
Sets the angle for arcs, and normalizes it within the range 0 - 360 degrees.
virtual BOARD * GetBoard() const
Return the BOARD in which this BOARD_ITEM resides, or NULL if none.
void GetMsgPanelInfo(EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList) override
Populate aList of MSG_PANEL_ITEM objects with it's internal state for display purposes.
wxPoint m_End0
End point, relative to footprint origin, orient 0.
void InheritsAfter(TYPE_ID aDerived, TYPE_ID aBase)
Declare an inheritance relationship between types.
wxPoint m_Start0
Start point or center, relative to footprint origin, orient 0.
BITMAP_DEF GetMenuImage() const override
Return a pointer to an image to be used in menus.
void SetDrawCoord()
Set draw coordinates (absolute values ) from relative coordinates.
wxPoint m_Bezier0_C2
Bezier Control Point 2, relative to footprint origin, orient 0.
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, const CPTREE &aTree)
Output a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
bool IsParentFlipped() const
const BITMAP_OPAQUE show_mod_edge_xpm[1]
static struct FP_SHAPE_DESC _FP_SHAPE_DESC
static DIRECTION_45::AngleType angle(const VECTOR2I &a, const VECTOR2I &b)
void AddProperty(PROPERTY_BASE *aProperty)
Register a property.
void Mirror(const wxPoint &aCentre, bool aMirrorAroundXAxis)
Mirror an edge of the footprint.
A base class for most all the KiCad significant classes used in schematics and boards.
void RebuildBezierToSegmentsPointsList(int aMinSegLen)
Rebuild the m_BezierPoints vertex list that approximate the Bezier curve by a list of segments Has me...
wxString GetSelectMenuText(EDA_UNITS aUnits) const override
Return the text to display to be used in the selection clarification context menu when multiple items...
void SetLocalCoord()
Set relative coordinates from draw coordinates.
Provide class metadata.Helper macro to map type hashes to names.
void Move(const wxPoint &aMoveVector) override
Move an edge of the footprint.
PCB_SHAPE_TYPE_T GetShape() const
Hold a (potentially large) number of VIEW_ITEMs and renders them on a graphics device provided by the...
wxPoint m_Bezier0_C1
Bezier Control Point 1, relative to footprint origin, orient 0.
std::vector< wxPoint > m_bezierPoints
BOARD_ITEM_CONTAINER * GetParent() const
virtual void SetAngle(double aAngle, bool aUpdateEnd=true)
Sets the angle for arcs, and normalizes it within the range 0 - 360 degrees.
wxString GetLayerName() const
Return the name of the PCB layer on which the item resides.
void GetMsgPanelInfo(EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList) override
Populate aList of MSG_PANEL_ITEM objects with it's internal state for display purposes.
virtual PCB_LAYER_ID GetLayer() const
Return the primary layer this item is on.
bool IsLayerVisible(int aLayer) const
Return information about visibility of a particular layer.