162                                  bool ignoreLineWidth = 
false ) 
const override;
 
  202    void     SetText( 
const wxString& aText );
 
  273    bool HitTest( 
const VECTOR2I& aPosition, 
int aAccuracy ) 
const override;
 
  282    bool HitTest( 
const BOX2I& aRect, 
bool aContained, 
int aAccuracy = 0 ) 
const override;
 
  287    wxString 
GetClass()
 const override { 
return wxT( 
"BARCODE" ); }
 
  380        if( newAngle != oldAngle )
 
 
 
ERROR_LOC
When approximating an arc or circle, should the error be placed on the outside or inside of the curve...
 
constexpr EDA_IU_SCALE pcbIUScale
 
BITMAPS
A list of all bitmap identifiers.
 
Container for design settings for a BOARD object.
 
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
 
BOARD_ITEM(BOARD_ITEM *aParent, KICAD_T idtype, PCB_LAYER_ID aLayer=F_Cu)
 
virtual bool IsKnockout() const
 
virtual void SetIsKnockout(bool aKnockout)
 
The base class for create windows for drawing purpose.
 
A base class for most all the KiCad significant classes used in schematics and boards.
 
KICAD_T Type() const
Returns the type of object.
 
EDA_ITEM(EDA_ITEM *parent, KICAD_T idType, bool isSCH_ITEM=false, bool isBOARD_ITEM=false)
 
An abstract class from which implementation specific LINE_READERs may be derived to read single lines...
 
EDA_MSG_PANEL items for displaying messages.
 
PCB_TEXT & Text()
Access the internal PCB_TEXT object used for showing the human-readable text.
 
void SetKind(BARCODE_T aKind)
 
void SetTextSize(int aTextSize)
Change the height of the human-readable text displayed below the barcode.
 
void ComputeTextPoly()
Generate the internal polygon representation for the human-readable text.
 
VECTOR2I GetCenter() const override
Get the centre of the barcode (alias for GetPosition).
 
double GetOrientation() const
 
virtual std::shared_ptr< SHAPE > GetEffectiveShape(PCB_LAYER_ID aLayer=UNDEFINED_LAYER, FLASHING aFlash=FLASHING::DEFAULT) const override
Some pad shapes can be complex (rounded/chamfered rectangle), even without considering custom shapes.
 
const VECTOR2I & GetMargin() const
Get the barcode margin (in internal units).
 
~PCB_BARCODE()
Destructor.
 
VECTOR2I m_pos
Position of the barcode.
 
const BOX2I GetBoundingBox() const override
Get the axis-aligned bounding box of the barcode including text.
 
void SetBarcodeErrorCorrection(BARCODE_ECC_T aErrorCorrection)
 
void SetRect(const VECTOR2I &aTopLeft, const VECTOR2I &aBotRight)
Set the bounding rectangle of the barcode.
 
virtual const BOX2I ViewBBox() const override
Get the bbox used for drawing/view culling, may include additional view-only extents.
 
void SetMargin(const VECTOR2I &aMargin)
 
SHAPE_POLY_SET m_textPoly
Human-readable text only (cached, centered/positioned)
 
EDA_ITEM * Clone() const override
Create a copy of this item.
 
void SetErrorCorrection(BARCODE_ECC_T aErrorCorrection)
Set the error correction level used for QR codes.
 
void SetBarcodeHeight(int aHeight)
 
void SetShowText(bool aShow)
 
SHAPE_POLY_SET m_poly
Full geometry (barcode + optional text or knockout)
 
SHAPE_POLY_SET m_symbolPoly
Barcode symbol only (cached, centered at origin)
 
void StyleFromSettings(const BOARD_DESIGN_SETTINGS &settings, bool aCheckSide) override
 
void SetBarcodeText(const wxString &aText)
 
wxString GetItemDescription(UNITS_PROVIDER *aUnitsProvider, bool aFull) const override
Produce a short human-readable description of the item for UI lists.
 
void SetWidth(int aWidth)
 
void SetBarcodeKind(BARCODE_T aKind)
 
void GetBoundingHull(SHAPE_POLY_SET &aBuffer, PCB_LAYER_ID aLayer, int aClearance, int aMaxError, ERROR_LOC aErrorLoc=ERROR_INSIDE) const
 
void SetHeight(int aHeight)
 
void AssembleBarcode()
Assemble the barcode polygon and text polygons into a single polygonal representation.
 
VECTOR2I GetPosition() const override
Get the position (center) of the barcode in internal units.
 
void SetPosition(const VECTOR2I &aPos) override
 
void SetOrientation(double aDegrees)
 
double Similarity(const BOARD_ITEM &aItem) const override
Compute a simple similarity score between this barcode and another board item.
 
int m_height
Barcode height.
 
void SetLayer(PCB_LAYER_ID aLayer) override
Set the drawing layer for the barcode and its text.
 
bool operator==(const BOARD_ITEM &aItem) const override
Equality comparison operator for board-level deduplication.
 
VECTOR2I m_margin
Margin around the barcode (only valid for knockout)
 
BOX2I m_bbox
BBox of m_poly (ie: barcode + text)
 
void GetMsgPanelInfo(EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList) override
Populate message panel information entries (e.g.
 
wxString GetClass() const override
Return the class name for display/debugging purposes.
 
void SetBarcodeWidth(int aWidth)
 
bool IsKnockout() const override
 
int GetHeight() const
Get the barcode height (in internal units).
 
BITMAPS GetMenuImage() const override
Icon to show in context menus/toolbars for this item type.
 
wxString GetShownText() const
 
BARCODE_ECC_T m_errorCorrection
Error correction level for QR codes.
 
void SetIsKnockout(bool aEnable) override
 
static bool ClassOf(const EDA_ITEM *aItem)
Type-check helper.
 
const SHAPE_POLY_SET & GetPolyShape() const
Access the underlying polygonal representation generated for the barcode.
 
bool HitTest(const VECTOR2I &aPosition, int aAccuracy) const override
Hit-test a point against the barcode (text and symbol area).
 
PCB_BARCODE(BOARD_ITEM *aParent)
Construct a PCB_BARCODE.
 
int m_width
Barcode width.
 
const SHAPE_POLY_SET & GetTextPoly() const
Access the cached polygon for the human-readable text only (already scaled/placed).
 
const SHAPE_POLY_SET & GetSymbolPoly() const
Access the cached polygon for the barcode symbol only (no text, no margins/knockout).
 
void swapData(BOARD_ITEM *aImage) override
 
BARCODE_ECC_T GetErrorCorrection() const
 
void Rotate(const VECTOR2I &aRotCentre, const EDA_ANGLE &aAngle) override
Rotate the barcode around a given centre by the given angle.
 
static int Compare(const PCB_BARCODE *aBarcode, const PCB_BARCODE *aOther)
 
const PCB_TEXT & Text() const
 
void TransformShapeToPolygon(SHAPE_POLY_SET &aBuffer, PCB_LAYER_ID aLayer, int aClearance, int aMaxError, ERROR_LOC aErrorLoc=ERROR_INSIDE, bool ignoreLineWidth=false) const override
Convert the barcode (text + symbol shapes) to polygonal geometry suitable for filling/collision tests...
 
EDA_ANGLE GetAngle() const
 
void Flip(const VECTOR2I &aCentre, FLIP_DIRECTION aFlipLeftRight) override
Flip the barcode horizontally or vertically around a centre point.
 
void ComputeBarcode()
Generate the internal polygon representation for the current barcode text, kind and error correction.
 
BARCODE_T GetKind() const
Returns the type of the barcode (QR, CODE_39, etc.).
 
int GetWidth() const
Get the barcode width (in internal units).
 
void SetText(const wxString &aText)
Set the barcode content text to encode.
 
void Move(const VECTOR2I &offset) override
Function Move.
 
Represent a set of closed polygons.
 
FLASHING
Enum used during connectivity building to ensure we do not query connectivity while building the data...
 
@ DEFAULT
Flashing follows connectivity.
 
PCB_LAYER_ID
A quick note on layer IDs:
 
#define DECLARE_ENUM_TO_WXANY(type)
 
@ PCB_BARCODE_T
class PCB_BARCODE, a barcode (graphic item)
 
VECTOR2< int32_t > VECTOR2I