20#ifndef LIBREPCB_CORE_BOARDDESIGNRULECHECKDATA_H
21#define LIBREPCB_CORE_BOARDDESIGNRULECHECKDATA_H
26#include "../../../geometry/padgeometry.h"
27#include "../../../geometry/zone.h"
28#include "../../../types/uuid.h"
78 std::optional<Uuid>
net;
87 std::optional<Uuid>
pad;
90 std::optional<Uuid>
via;
99 std::optional<Uuid>
net;
192 bool quickCheck)
noexcept;
The Angle class is used to represent an angle (for example 12.75 degrees)
Definition angle.h:76
The BoardDesignRuleCheckSettings class.
Definition boarddesignrulechecksettings.h:44
The Board class represents a PCB of a project and is always part of a circuit.
Definition board.h:73
The Layer class provides all supported geometry layers.
Definition layer.h:42
The Path class represents a list of vertices connected by straight lines or circular arc segments.
Definition path.h:57
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition point.h:78
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition uuid.h:56
Definition occmodel.cpp:77
type_safe::constrained_type< Length, PositiveLengthConstraint, PositiveLengthVerifier > PositiveLength
Definition length.h:810
type_safe::constrained_type< Path, NonEmptyPathConstraint, NonEmptyPathVerifier > NonEmptyPath
Definition path.h:232
type_safe::constrained_type< Length, UnsignedLengthConstraint, UnsignedLengthVerifier > UnsignedLength
Definition length.h:694
Definition boarddesignrulecheckdata.h:84
std::optional< Uuid > segment
Definition boarddesignrulecheckdata.h:88
std::optional< Uuid > device
Definition boarddesignrulecheckdata.h:86
std::optional< Uuid > via
Definition boarddesignrulecheckdata.h:90
std::optional< Uuid > junction
Definition boarddesignrulecheckdata.h:89
Point position
Definition boarddesignrulecheckdata.h:85
std::optional< Uuid > pad
Definition boarddesignrulecheckdata.h:87
Definition boarddesignrulecheckdata.h:92
QString netName
Definition boarddesignrulecheckdata.h:95
AirWireAnchor p1
Definition boarddesignrulecheckdata.h:93
AirWireAnchor p2
Definition boarddesignrulecheckdata.h:94
Definition boarddesignrulecheckdata.h:113
UnsignedLength lineWidth
Definition boarddesignrulecheckdata.h:118
Point center
Definition boarddesignrulecheckdata.h:115
bool filled
Definition boarddesignrulecheckdata.h:119
Uuid uuid
Definition boarddesignrulecheckdata.h:114
PositiveLength diameter
Definition boarddesignrulecheckdata.h:116
const Layer * layer
Definition boarddesignrulecheckdata.h:117
Definition boarddesignrulecheckdata.h:157
bool mirror
Definition boarddesignrulecheckdata.h:162
QList< Zone > zones
Definition boarddesignrulecheckdata.h:168
Uuid uuid
Definition boarddesignrulecheckdata.h:158
Angle rotation
Definition boarddesignrulecheckdata.h:161
QList< Polygon > polygons
Definition boarddesignrulecheckdata.h:164
QString cmpInstanceName
Definition boarddesignrulecheckdata.h:159
QList< Circle > circles
Definition boarddesignrulecheckdata.h:165
QList< Hole > holes
Definition boarddesignrulecheckdata.h:167
Point position
Definition boarddesignrulecheckdata.h:160
QList< StrokeText > strokeTexts
Definition boarddesignrulecheckdata.h:166
QHash< Uuid, Pad > pads
Definition boarddesignrulecheckdata.h:163
Definition boarddesignrulecheckdata.h:131
Uuid uuid
Definition boarddesignrulecheckdata.h:132
PositiveLength diameter
Definition boarddesignrulecheckdata.h:133
std::optional< Length > stopMaskOffset
Definition boarddesignrulecheckdata.h:135
NonEmptyPath path
Definition boarddesignrulecheckdata.h:134
Definition boarddesignrulecheckdata.h:49
Uuid uuid
Definition boarddesignrulecheckdata.h:50
qsizetype traces
Definition boarddesignrulecheckdata.h:52
Point position
Definition boarddesignrulecheckdata.h:51
Definition boarddesignrulecheckdata.h:144
UnsignedLength copperClearance
Definition boarddesignrulecheckdata.h:153
bool mirror
Definition boarddesignrulecheckdata.h:149
QString libPkgPadName
Definition boarddesignrulecheckdata.h:146
std::optional< Uuid > net
Definition boarddesignrulecheckdata.h:154
QString netName
Definition boarddesignrulecheckdata.h:155
Uuid uuid
Definition boarddesignrulecheckdata.h:145
Angle rotation
Definition boarddesignrulecheckdata.h:148
QHash< const Layer *, QList< PadGeometry > > geometries
Definition boarddesignrulecheckdata.h:151
QList< Hole > holes
Definition boarddesignrulecheckdata.h:150
Point position
Definition boarddesignrulecheckdata.h:147
QSet< const Layer * > layersWithTraces
Definition boarddesignrulecheckdata.h:152
Definition boarddesignrulecheckdata.h:97
std::optional< Uuid > net
Definition boarddesignrulecheckdata.h:99
QString netName
Definition boarddesignrulecheckdata.h:100
Uuid uuid
Definition boarddesignrulecheckdata.h:98
QVector< Path > fragments
Definition boarddesignrulecheckdata.h:104
Path outline
Definition boarddesignrulecheckdata.h:103
UnsignedLength minWidth
Definition boarddesignrulecheckdata.h:102
const Layer * layer
Definition boarddesignrulecheckdata.h:101
Definition boarddesignrulecheckdata.h:106
UnsignedLength lineWidth
Definition boarddesignrulecheckdata.h:109
bool filled
Definition boarddesignrulecheckdata.h:110
Uuid uuid
Definition boarddesignrulecheckdata.h:107
Path path
Definition boarddesignrulecheckdata.h:111
const Layer * layer
Definition boarddesignrulecheckdata.h:108
Definition boarddesignrulecheckdata.h:76
QHash< Uuid, Via > vias
Definition boarddesignrulecheckdata.h:82
std::optional< Uuid > net
Definition boarddesignrulecheckdata.h:78
QString netName
Definition boarddesignrulecheckdata.h:79
Uuid uuid
Definition boarddesignrulecheckdata.h:77
QList< Trace > traces
Definition boarddesignrulecheckdata.h:81
QHash< Uuid, Junction > junctions
Definition boarddesignrulecheckdata.h:80
Definition boarddesignrulecheckdata.h:121
bool mirror
Definition boarddesignrulecheckdata.h:125
Uuid uuid
Definition boarddesignrulecheckdata.h:122
Angle rotation
Definition boarddesignrulecheckdata.h:124
QVector< Path > paths
Definition boarddesignrulecheckdata.h:129
UnsignedLength strokeWidth
Definition boarddesignrulecheckdata.h:127
Point position
Definition boarddesignrulecheckdata.h:123
PositiveLength height
Definition boarddesignrulecheckdata.h:128
const Layer * layer
Definition boarddesignrulecheckdata.h:126
Definition boarddesignrulecheckdata.h:54
Uuid uuid
Definition boarddesignrulecheckdata.h:55
Point endPosition
Definition boarddesignrulecheckdata.h:57
Point startPosition
Definition boarddesignrulecheckdata.h:56
const Layer * layer
Definition boarddesignrulecheckdata.h:59
PositiveLength width
Definition boarddesignrulecheckdata.h:58
Definition boarddesignrulecheckdata.h:61
PositiveLength size
Definition boarddesignrulecheckdata.h:64
Uuid uuid
Definition boarddesignrulecheckdata.h:62
bool isBlind
Definition boarddesignrulecheckdata.h:72
const Layer * endLayer
Definition boarddesignrulecheckdata.h:69
std::optional< PositiveLength > stopMaskDiameterTop
Definition boarddesignrulecheckdata.h:73
std::optional< std::pair< const Layer *, const Layer * > > drillLayerSpan
Definition boarddesignrulecheckdata.h:70
bool isBuried
Definition boarddesignrulecheckdata.h:71
QSet< const Layer * > connectedLayers
Definition boarddesignrulecheckdata.h:67
const Layer * startLayer
Definition boarddesignrulecheckdata.h:68
Point position
Definition boarddesignrulecheckdata.h:63
std::optional< PositiveLength > stopMaskDiameterBot
Definition boarddesignrulecheckdata.h:74
PositiveLength drillDiameter
Definition boarddesignrulecheckdata.h:65
Definition boarddesignrulecheckdata.h:137
QSet< const Layer * > boardLayers
Definition boarddesignrulecheckdata.h:139
librepcb::Zone::Layers footprintLayers
Definition boarddesignrulecheckdata.h:140
Uuid uuid
Definition boarddesignrulecheckdata.h:138
Path outline
Definition boarddesignrulecheckdata.h:142
librepcb::Zone::Rules rules
Definition boarddesignrulecheckdata.h:141
Input data structure for librepcb::BoardDesignRuleCheck.
Definition boarddesignrulecheckdata.h:48
QVector< const Layer * > silkscreenLayersTop
Definition boarddesignrulecheckdata.h:177
QVector< const Layer * > silkscreenLayersBot
Definition boarddesignrulecheckdata.h:178
QList< Zone > zones
Definition boarddesignrulecheckdata.h:184
QMap< Uuid, QString > unplacedComponents
Definition boarddesignrulecheckdata.h:187
QHash< Uuid, Segment > segments
Definition boarddesignrulecheckdata.h:179
QList< Plane > planes
Definition boarddesignrulecheckdata.h:180
QSet< const Layer * > copperLayers
Definition boarddesignrulecheckdata.h:176
QList< Polygon > polygons
Definition boarddesignrulecheckdata.h:181
QList< AirWire > airWires
Definition boarddesignrulecheckdata.h:186
QList< Hole > holes
Definition boarddesignrulecheckdata.h:183
QHash< Uuid, Device > devices
Definition boarddesignrulecheckdata.h:185
QList< StrokeText > strokeTexts
Definition boarddesignrulecheckdata.h:182
bool quick
Definition boarddesignrulecheckdata.h:175
BoardDesignRuleCheckSettings settings
Definition boarddesignrulecheckdata.h:174