20#ifndef LIBREPCB_KICADIMPORT_KICADTYPES_H
21#define LIBREPCB_KICADIMPORT_KICADTYPES_H
26#include <optional/tl/optional.hpp>
39namespace kicadimport {
481 enum class Style { Common, Base, DeMorgan };
The Circle class.
Definition: circle.h:46
Generic logger class to pass messages between objects.
Definition: messagelogger.h:43
The SExpression class.
Definition: sexpression.h:69
KiCadSymbolFillType
Definition: kicadtypes.h:73
KiCadStrokeType
Definition: kicadtypes.h:56
KiCadLayer
Definition: kicadtypes.h:158
KiCadZoneConnect
Definition: kicadtypes.h:151
KiCadPinStyle
Definition: kicadtypes.h:96
KiCadPadType
Definition: kicadtypes.h:115
KiCadFootprintFillType
Definition: kicadtypes.h:109
KiCadCustomPadAnchor
Definition: kicadtypes.h:133
KiCadPadShape
Definition: kicadtypes.h:123
KiCadSymbolTextType
Definition: kicadtypes.h:66
KiCadPinType
Definition: kicadtypes.h:80
KiCadEdge
Definition: kicadtypes.h:48
KiCadPadProperty
Definition: kicadtypes.h:140
Definition: occmodel.cpp:77
Represents a KiCad graphical arc.
Definition: kicadtypes.h:273
qreal width
Definition: kicadtypes.h:280
static KiCadGraphicalArc parse(const SExpression &node, MessageLogger &log)
Definition: kicadtypes.cpp:438
QPointF start
Definition: kicadtypes.h:277
QPointF mid
Definition: kicadtypes.h:278
QPointF end
Definition: kicadtypes.h:279
Represents a KiCad graphical circle.
Definition: kicadtypes.h:292
qreal width
Definition: kicadtypes.h:298
static KiCadGraphicalCircle parse(const SExpression &node, MessageLogger &log)
Definition: kicadtypes.cpp:452
bool fill
Definition: kicadtypes.h:299
QPointF end
Definition: kicadtypes.h:297
QPointF center
Definition: kicadtypes.h:296
Represents a KiCad graphical line.
Definition: kicadtypes.h:255
qreal width
Definition: kicadtypes.h:261
QPointF start
Definition: kicadtypes.h:259
QPointF end
Definition: kicadtypes.h:260
static KiCadGraphicalLine parse(const SExpression &node, MessageLogger &log)
Definition: kicadtypes.cpp:425
Represents a KiCad graphical polygon.
Definition: kicadtypes.h:312
QList< QPointF > coordinates
Definition: kicadtypes.h:316
qreal width
Definition: kicadtypes.h:317
static KiCadGraphicalPolygon parse(const SExpression &node, MessageLogger &log)
Definition: kicadtypes.cpp:468
bool fill
Definition: kicadtypes.h:318
Represents a KiCad property.
Definition: kicadtypes.h:229
bool mirror
Definition: kicadtypes.h:241
QString value
Definition: kicadtypes.h:234
qreal rotation
Definition: kicadtypes.h:236
bool hide
Definition: kicadtypes.h:243
bool unlocked
Definition: kicadtypes.h:242
static KiCadProperty parse(const SExpression &node, MessageLogger &log)
Definition: kicadtypes.cpp:389
Qt::Alignment alignment
Definition: kicadtypes.h:240
QString key
Definition: kicadtypes.h:233
QPointF position
Definition: kicadtypes.h:235
QSizeF fontSize
Definition: kicadtypes.h:238
QString layer
Definition: kicadtypes.h:237
qreal fontThickness
Definition: kicadtypes.h:239
Represents a KiCad symbol arc.
Definition: kicadtypes.h:353
KiCadSymbolFillType fillType
Definition: kicadtypes.h:362
static KiCadSymbolArc parse(const SExpression &node, MessageLogger &log)
Definition: kicadtypes.cpp:523
QPointF start
Definition: kicadtypes.h:357
QPointF mid
Definition: kicadtypes.h:358
qreal strokeWidth
Definition: kicadtypes.h:360
KiCadStrokeType strokeType
Definition: kicadtypes.h:361
QPointF end
Definition: kicadtypes.h:359
Represents a KiCad symbol circle.
Definition: kicadtypes.h:374
qreal radius
Definition: kicadtypes.h:379
KiCadSymbolFillType fillType
Definition: kicadtypes.h:382
qreal strokeWidth
Definition: kicadtypes.h:380
KiCadStrokeType strokeType
Definition: kicadtypes.h:381
static KiCadSymbolCircle parse(const SExpression &node, MessageLogger &log)
Definition: kicadtypes.cpp:539
QPointF center
Definition: kicadtypes.h:378
Represents a KiCad symbol gate.
Definition: kicadtypes.h:477
QList< KiCadSymbolPolyline > polylines
Definition: kicadtypes.h:489
static KiCadSymbolGate parse(const SExpression &node, MessageLogger &log)
Definition: kicadtypes.cpp:629
Style style
Definition: kicadtypes.h:485
QList< KiCadSymbolArc > arcs
Definition: kicadtypes.h:486
int index
Definition: kicadtypes.h:484
QList< KiCadSymbolText > texts
Definition: kicadtypes.h:490
QList< KiCadSymbolRectangle > rectangles
Definition: kicadtypes.h:488
QString name
Definition: kicadtypes.h:483
QList< KiCadSymbolCircle > circles
Definition: kicadtypes.h:487
QList< KiCadSymbolPin > pins
Definition: kicadtypes.h:491
Style
Definition: kicadtypes.h:481
Represents a KiCad symbol.
Definition: kicadtypes.h:503
QString extends
Definition: kicadtypes.h:508
QList< KiCadSymbolGate > gates
Definition: kicadtypes.h:516
qreal pinNamesOffset
Definition: kicadtypes.h:509
bool excludeFromSim
Definition: kicadtypes.h:512
bool onBoard
Definition: kicadtypes.h:514
bool hidePinNames
Definition: kicadtypes.h:511
static KiCadSymbol parse(const SExpression &node, MessageLogger &log)
Definition: kicadtypes.cpp:677
bool inBom
Definition: kicadtypes.h:513
bool hidePinNumbers
Definition: kicadtypes.h:510
QString name
Definition: kicadtypes.h:507
QList< KiCadProperty > properties
Definition: kicadtypes.h:515
Represents the content of a *.kicad_sym file.
Definition: kicadtypes.h:528
QString generator
Definition: kicadtypes.h:533
QList< KiCadSymbol > symbols
Definition: kicadtypes.h:534
int version
Definition: kicadtypes.h:532
static KiCadSymbolLibrary parse(const SExpression &node, MessageLogger &log)
Definition: kicadtypes.cpp:714
Represents a KiCad symbol pin.
Definition: kicadtypes.h:455
qreal rotation
Definition: kicadtypes.h:462
qreal length
Definition: kicadtypes.h:463
KiCadPinType type
Definition: kicadtypes.h:459
static KiCadSymbolPin parse(const SExpression &node, MessageLogger &log)
Definition: kicadtypes.cpp:610
QString number
Definition: kicadtypes.h:465
QPointF position
Definition: kicadtypes.h:461
QString name
Definition: kicadtypes.h:464
KiCadPinStyle shape
Definition: kicadtypes.h:460
Represents a KiCad symbol polyline.
Definition: kicadtypes.h:415
KiCadSymbolFillType fillType
Definition: kicadtypes.h:422
QList< QPointF > coordinates
Definition: kicadtypes.h:419
qreal strokeWidth
Definition: kicadtypes.h:420
KiCadStrokeType strokeType
Definition: kicadtypes.h:421
static KiCadSymbolPolyline parse(const SExpression &node, MessageLogger &log)
Definition: kicadtypes.cpp:569
Represents a KiCad symbol rectangle.
Definition: kicadtypes.h:394
KiCadSymbolFillType fillType
Definition: kicadtypes.h:402
static KiCadSymbolRectangle parse(const SExpression &node, MessageLogger &log)
Definition: kicadtypes.cpp:554
QPointF start
Definition: kicadtypes.h:398
qreal strokeWidth
Definition: kicadtypes.h:400
KiCadStrokeType strokeType
Definition: kicadtypes.h:401
QPointF end
Definition: kicadtypes.h:399
Represents a KiCad symbol text.
Definition: kicadtypes.h:434
qreal rotation
Definition: kicadtypes.h:440
QString text
Definition: kicadtypes.h:438
Qt::Alignment alignment
Definition: kicadtypes.h:443
QPointF position
Definition: kicadtypes.h:439
QSizeF fontSize
Definition: kicadtypes.h:441
static KiCadSymbolText parse(const SExpression &node, MessageLogger &log)
Definition: kicadtypes.cpp:585
qreal fontThickness
Definition: kicadtypes.h:442
Represents a KiCad zone.
Definition: kicadtypes.h:331
bool keepOutCopperPour
Definition: kicadtypes.h:339
bool keepOutTracks
Definition: kicadtypes.h:336
bool keepOutVias
Definition: kicadtypes.h:337
QList< KiCadLayer > layers
Definition: kicadtypes.h:335
bool keepOutFootprints
Definition: kicadtypes.h:340
QList< QPointF > polygon
Definition: kicadtypes.h:341
bool keepOutPads
Definition: kicadtypes.h:338
static KiCadZone parse(const SExpression &node, MessageLogger &log)
Definition: kicadtypes.cpp:485