LibrePCB Developers Documentation
packagecheckmessages.h
Go to the documentation of this file.
1/*
2 * LibrePCB - Professional EDA for everyone!
3 * Copyright (C) 2013 LibrePCB Developers, see AUTHORS.md for contributors.
4 * https://librepcb.org/
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef LIBREPCB_CORE_PACKAGECHECKMESSAGES_H
21#define LIBREPCB_CORE_PACKAGECHECKMESSAGES_H
22
23/*******************************************************************************
24 * Includes
25 ******************************************************************************/
26#include "../../rulecheck/rulecheckmessage.h"
27#include "../../types/length.h"
28
29#include <QtCore>
30
31/*******************************************************************************
32 * Namespace / Forward Declarations
33 ******************************************************************************/
34namespace librepcb {
35
36class Footprint;
37class FootprintPad;
38class Hole;
39class Layer;
40class PackagePad;
41class Polygon;
42class StrokeText;
43class Zone;
44
45/*******************************************************************************
46 * Class MsgDeprecatedAssemblyType
47 ******************************************************************************/
48
53 Q_DECLARE_TR_FUNCTIONS(MsgDeprecatedAssemblyType)
54
55public:
56 // Constructors / Destructor
59 : RuleCheckMessage(other) {}
60 virtual ~MsgDeprecatedAssemblyType() noexcept {}
61};
62
63/*******************************************************************************
64 * Class MsgSuspiciousAssemblyType
65 ******************************************************************************/
66
71 Q_DECLARE_TR_FUNCTIONS(MsgSuspiciousAssemblyType)
72
73public:
74 // Constructors / Destructor
77 : RuleCheckMessage(other) {}
78 virtual ~MsgSuspiciousAssemblyType() noexcept {}
79};
80
81/*******************************************************************************
82 * Class MsgDuplicatePadName
83 ******************************************************************************/
84
89 Q_DECLARE_TR_FUNCTIONS(MsgDuplicatePadName)
90
91public:
92 // Constructors / Destructor
94 explicit MsgDuplicatePadName(const PackagePad& pad) noexcept;
96 : RuleCheckMessage(other) {}
97 virtual ~MsgDuplicatePadName() noexcept {}
98};
99
100/*******************************************************************************
101 * Class MsgFiducialClearanceLessThanStopMask
102 ******************************************************************************/
103
108 Q_DECLARE_TR_FUNCTIONS(MsgFiducialClearanceLessThanStopMask)
109
110public:
111 // Constructors / Destructor
114 std::shared_ptr<const Footprint> footprint,
115 std::shared_ptr<const FootprintPad> pad) noexcept;
117 const MsgFiducialClearanceLessThanStopMask& other) noexcept
118 : RuleCheckMessage(other), mFootprint(other.mFootprint), mPad(other.mPad) {}
120
121 // Getters
122 std::shared_ptr<const Footprint> getFootprint() const noexcept {
123 return mFootprint;
124 }
125 std::shared_ptr<const FootprintPad> getPad() const noexcept { return mPad; }
126
127private:
128 std::shared_ptr<const Footprint> mFootprint;
129 std::shared_ptr<const FootprintPad> mPad;
130};
131
132/*******************************************************************************
133 * Class MsgFiducialStopMaskNotSet
134 ******************************************************************************/
135
140 Q_DECLARE_TR_FUNCTIONS(MsgFiducialStopMaskNotSet)
141
142public:
143 // Constructors / Destructor
145 MsgFiducialStopMaskNotSet(std::shared_ptr<const Footprint> footprint,
146 std::shared_ptr<const FootprintPad> pad) noexcept;
148 : RuleCheckMessage(other), mFootprint(other.mFootprint), mPad(other.mPad) {}
149 virtual ~MsgFiducialStopMaskNotSet() noexcept {}
150
151 // Getters
152 std::shared_ptr<const Footprint> getFootprint() const noexcept {
153 return mFootprint;
154 }
155 std::shared_ptr<const FootprintPad> getPad() const noexcept { return mPad; }
156
157private:
158 std::shared_ptr<const Footprint> mFootprint;
159 std::shared_ptr<const FootprintPad> mPad;
160};
161
162/*******************************************************************************
163 * Class MsgHoleWithoutStopMask
164 ******************************************************************************/
165
170 Q_DECLARE_TR_FUNCTIONS(MsgHoleWithoutStopMask)
171
172public:
173 // Constructors / Destructor
175 MsgHoleWithoutStopMask(std::shared_ptr<const Footprint> footprint,
176 std::shared_ptr<const Hole> hole) noexcept;
178 : RuleCheckMessage(other),
179 mFootprint(other.mFootprint),
180 mHole(other.mHole) {}
181 virtual ~MsgHoleWithoutStopMask() noexcept {}
182
183 // Getters
184 std::shared_ptr<const Footprint> getFootprint() const noexcept {
185 return mFootprint;
186 }
187 std::shared_ptr<const Hole> getHole() const noexcept { return mHole; }
188
189private:
190 std::shared_ptr<const Footprint> mFootprint;
191 std::shared_ptr<const Hole> mHole;
192};
193
194/*******************************************************************************
195 * Class MsgInvalidCustomPadOutline
196 ******************************************************************************/
197
202 Q_DECLARE_TR_FUNCTIONS(MsgInvalidCustomPadOutline)
203
204public:
205 // Constructors / Destructor
207 MsgInvalidCustomPadOutline(std::shared_ptr<const Footprint> footprint,
208 std::shared_ptr<const FootprintPad> pad,
209 const QString& pkgPadName) noexcept;
211 : RuleCheckMessage(other), mFootprint(other.mFootprint), mPad(other.mPad) {}
212 virtual ~MsgInvalidCustomPadOutline() noexcept {}
213
214 // Getters
215 std::shared_ptr<const Footprint> getFootprint() const noexcept {
216 return mFootprint;
217 }
218 std::shared_ptr<const FootprintPad> getPad() const noexcept { return mPad; }
219
220private:
221 std::shared_ptr<const Footprint> mFootprint;
222 std::shared_ptr<const FootprintPad> mPad;
223};
224
225/*******************************************************************************
226 * Class MsgInvalidPadConnection
227 ******************************************************************************/
228
233 Q_DECLARE_TR_FUNCTIONS(MsgInvalidPadConnection)
234
235public:
236 // Constructors / Destructor
238 MsgInvalidPadConnection(std::shared_ptr<const Footprint> footprint,
239 std::shared_ptr<const FootprintPad> pad) noexcept;
241 : RuleCheckMessage(other), mFootprint(other.mFootprint), mPad(other.mPad) {}
242 virtual ~MsgInvalidPadConnection() noexcept {}
243
244 // Getters
245 std::shared_ptr<const Footprint> getFootprint() const noexcept {
246 return mFootprint;
247 }
248 std::shared_ptr<const FootprintPad> getPad() const noexcept { return mPad; }
249
250private:
251 std::shared_ptr<const Footprint> mFootprint;
252 std::shared_ptr<const FootprintPad> mPad;
253};
254
255/*******************************************************************************
256 * Class MsgMissingCourtyard
257 ******************************************************************************/
258
263 Q_DECLARE_TR_FUNCTIONS(MsgMissingCourtyard)
264
265public:
266 // Constructors / Destructor
268 explicit MsgMissingCourtyard(
269 std::shared_ptr<const Footprint> footprint) noexcept;
271 : RuleCheckMessage(other) {}
272 virtual ~MsgMissingCourtyard() noexcept {}
273
274 // Getters
275 std::shared_ptr<const Footprint> getFootprint() const noexcept {
276 return mFootprint;
277 }
278
279private:
280 std::shared_ptr<const Footprint> mFootprint;
281};
282
283/*******************************************************************************
284 * Class MsgMissingFootprint
285 ******************************************************************************/
286
291 Q_DECLARE_TR_FUNCTIONS(MsgMissingFootprint)
292
293public:
294 // Constructors / Destructor
295 MsgMissingFootprint() noexcept;
297 : RuleCheckMessage(other) {}
298 virtual ~MsgMissingFootprint() noexcept {}
299};
300
301/*******************************************************************************
302 * Class MsgMissingFootprintModel
303 ******************************************************************************/
304
309 Q_DECLARE_TR_FUNCTIONS(MsgMissingFootprintModel)
310
311public:
312 // Constructors / Destructor
314 MsgMissingFootprintModel(std::shared_ptr<const Footprint> footprint) noexcept;
316 : RuleCheckMessage(other) {}
317 virtual ~MsgMissingFootprintModel() noexcept {}
318};
319
320/*******************************************************************************
321 * Class MsgMissingFootprintName
322 ******************************************************************************/
323
328 Q_DECLARE_TR_FUNCTIONS(MsgMissingFootprintName)
329
330public:
331 // Constructors / Destructor
334 std::shared_ptr<const Footprint> footprint) noexcept;
336 : RuleCheckMessage(other) {}
337 virtual ~MsgMissingFootprintName() noexcept {}
338
339 // Getters
340 std::shared_ptr<const Footprint> getFootprint() const noexcept {
341 return mFootprint;
342 }
343
344private:
345 std::shared_ptr<const Footprint> mFootprint;
346};
347
348/*******************************************************************************
349 * Class MsgMissingFootprintValue
350 ******************************************************************************/
351
356 Q_DECLARE_TR_FUNCTIONS(MsgMissingFootprintValue)
357
358public:
359 // Constructors / Destructor
362 std::shared_ptr<const Footprint> footprint) noexcept;
364 : RuleCheckMessage(other) {}
365 virtual ~MsgMissingFootprintValue() noexcept {}
366
367 // Getters
368 std::shared_ptr<const Footprint> getFootprint() const noexcept {
369 return mFootprint;
370 }
371
372private:
373 std::shared_ptr<const Footprint> mFootprint;
374};
375
376/*******************************************************************************
377 * Class MsgMissingPackageOutline
378 ******************************************************************************/
379
384 Q_DECLARE_TR_FUNCTIONS(MsgMissingPackageOutline)
385
386public:
387 // Constructors / Destructor
390 std::shared_ptr<const Footprint> footprint) noexcept;
392 : RuleCheckMessage(other) {}
393 virtual ~MsgMissingPackageOutline() noexcept {}
394
395 // Getters
396 std::shared_ptr<const Footprint> getFootprint() const noexcept {
397 return mFootprint;
398 }
399
400private:
401 std::shared_ptr<const Footprint> mFootprint;
402};
403
404/*******************************************************************************
405 * Class MsgOverlappingPads
406 ******************************************************************************/
407
412 Q_DECLARE_TR_FUNCTIONS(MsgOverlappingPads)
413
414public:
415 // Constructors / Destructor
417 MsgOverlappingPads(std::shared_ptr<const Footprint> footprint,
418 std::shared_ptr<const FootprintPad> pad1,
419 const QString& pkgPad1Name,
420 std::shared_ptr<const FootprintPad> pad2,
421 const QString& pkgPad2Name) noexcept;
423 : RuleCheckMessage(other),
424 mFootprint(other.mFootprint),
425 mPad1(other.mPad1),
426 mPad2(other.mPad2) {}
427 virtual ~MsgOverlappingPads() noexcept {}
428
429 // Getters
430 std::shared_ptr<const Footprint> getFootprint() const noexcept {
431 return mFootprint;
432 }
433 std::shared_ptr<const FootprintPad> getPad1() const noexcept { return mPad1; }
434 std::shared_ptr<const FootprintPad> getPad2() const noexcept { return mPad2; }
435
436private:
437 std::shared_ptr<const Footprint> mFootprint;
438 std::shared_ptr<const FootprintPad> mPad1;
439 std::shared_ptr<const FootprintPad> mPad2;
440};
441
442/*******************************************************************************
443 * Class MsgPadAnnularRingViolation
444 ******************************************************************************/
445
450 Q_DECLARE_TR_FUNCTIONS(MsgPadAnnularRingViolation)
451
452public:
453 // Constructors / Destructor
455 MsgPadAnnularRingViolation(std::shared_ptr<const Footprint> footprint,
456 std::shared_ptr<const FootprintPad> pad,
457 const QString& pkgPadName,
458 const Length& annularRing) noexcept;
460 : RuleCheckMessage(other), mFootprint(other.mFootprint), mPad(other.mPad) {}
461 virtual ~MsgPadAnnularRingViolation() noexcept {}
462
463 // Getters
464 std::shared_ptr<const Footprint> getFootprint() const noexcept {
465 return mFootprint;
466 }
467 std::shared_ptr<const FootprintPad> getPad() const noexcept { return mPad; }
468
469private:
470 std::shared_ptr<const Footprint> mFootprint;
471 std::shared_ptr<const FootprintPad> mPad;
472};
473
474/*******************************************************************************
475 * Class MsgPadClearanceViolation
476 ******************************************************************************/
477
482 Q_DECLARE_TR_FUNCTIONS(MsgPadClearanceViolation)
483
484public:
485 // Constructors / Destructor
487 MsgPadClearanceViolation(std::shared_ptr<const Footprint> footprint,
488 std::shared_ptr<const FootprintPad> pad1,
489 const QString& pkgPad1Name,
490 std::shared_ptr<const FootprintPad> pad2,
491 const QString& pkgPad2Name,
492 const Length& clearance) noexcept;
494 : RuleCheckMessage(other),
495 mFootprint(other.mFootprint),
496 mPad1(other.mPad1),
497 mPad2(other.mPad2) {}
498 virtual ~MsgPadClearanceViolation() noexcept {}
499
500 // Getters
501 std::shared_ptr<const Footprint> getFootprint() const noexcept {
502 return mFootprint;
503 }
504 std::shared_ptr<const FootprintPad> getPad1() const noexcept { return mPad1; }
505 std::shared_ptr<const FootprintPad> getPad2() const noexcept { return mPad2; }
506
507private:
508 std::shared_ptr<const Footprint> mFootprint;
509 std::shared_ptr<const FootprintPad> mPad1;
510 std::shared_ptr<const FootprintPad> mPad2;
511};
512
513/*******************************************************************************
514 * Class MsgPadHoleOutsideCopper
515 ******************************************************************************/
516
521 Q_DECLARE_TR_FUNCTIONS(MsgPadHoleOutsideCopper)
522
523public:
524 // Constructors / Destructor
526 MsgPadHoleOutsideCopper(std::shared_ptr<const Footprint> footprint,
527 std::shared_ptr<const FootprintPad> pad,
528 const QString& pkgPadName) noexcept;
530 : RuleCheckMessage(other), mFootprint(other.mFootprint), mPad(other.mPad) {}
531 virtual ~MsgPadHoleOutsideCopper() noexcept {}
532
533 // Getters
534 std::shared_ptr<const Footprint> getFootprint() const noexcept {
535 return mFootprint;
536 }
537 std::shared_ptr<const FootprintPad> getPad() const noexcept { return mPad; }
538
539private:
540 std::shared_ptr<const Footprint> mFootprint;
541 std::shared_ptr<const FootprintPad> mPad;
542};
543
544/*******************************************************************************
545 * Class MsgPadOriginOutsideCopper
546 ******************************************************************************/
547
552 Q_DECLARE_TR_FUNCTIONS(MsgPadOriginOutsideCopper)
553
554public:
555 // Constructors / Destructor
557 MsgPadOriginOutsideCopper(std::shared_ptr<const Footprint> footprint,
558 std::shared_ptr<const FootprintPad> pad,
559 const QString& pkgPadName) noexcept;
561 : RuleCheckMessage(other), mFootprint(other.mFootprint), mPad(other.mPad) {}
562 virtual ~MsgPadOriginOutsideCopper() noexcept {}
563
564 // Getters
565 std::shared_ptr<const Footprint> getFootprint() const noexcept {
566 return mFootprint;
567 }
568 std::shared_ptr<const FootprintPad> getPad() const noexcept { return mPad; }
569
570private:
571 std::shared_ptr<const Footprint> mFootprint;
572 std::shared_ptr<const FootprintPad> mPad;
573};
574
575/*******************************************************************************
576 * Class MsgPadOverlapsWithLegend
577 ******************************************************************************/
578
583 Q_DECLARE_TR_FUNCTIONS(MsgPadOverlapsWithLegend)
584
585public:
586 // Constructors / Destructor
588 MsgPadOverlapsWithLegend(std::shared_ptr<const Footprint> footprint,
589 std::shared_ptr<const FootprintPad> pad,
590 const QString& pkgPadName,
591 const Length& clearance) noexcept;
593 : RuleCheckMessage(other), mFootprint(other.mFootprint), mPad(other.mPad) {}
594 virtual ~MsgPadOverlapsWithLegend() noexcept {}
595
596 // Getters
597 std::shared_ptr<const Footprint> getFootprint() const noexcept {
598 return mFootprint;
599 }
600 std::shared_ptr<const FootprintPad> getPad() const noexcept { return mPad; }
601
602private:
603 std::shared_ptr<const Footprint> mFootprint;
604 std::shared_ptr<const FootprintPad> mPad;
605};
606
607/*******************************************************************************
608 * Class MsgPadStopMaskOff
609 ******************************************************************************/
610
615 Q_DECLARE_TR_FUNCTIONS(MsgPadStopMaskOff)
616
617public:
618 // Constructors / Destructor
620 MsgPadStopMaskOff(std::shared_ptr<const Footprint> footprint,
621 std::shared_ptr<const FootprintPad> pad,
622 const QString& pkgPadName) noexcept;
624 : RuleCheckMessage(other), mFootprint(other.mFootprint), mPad(other.mPad) {}
625 virtual ~MsgPadStopMaskOff() noexcept {}
626
627 // Getters
628 std::shared_ptr<const Footprint> getFootprint() const noexcept {
629 return mFootprint;
630 }
631 std::shared_ptr<const FootprintPad> getPad() const noexcept { return mPad; }
632
633private:
634 std::shared_ptr<const Footprint> mFootprint;
635 std::shared_ptr<const FootprintPad> mPad;
636};
637
638/*******************************************************************************
639 * Class MsgPadWithCopperClearance
640 ******************************************************************************/
641
646 Q_DECLARE_TR_FUNCTIONS(MsgPadWithCopperClearance)
647
648public:
649 // Constructors / Destructor
651 MsgPadWithCopperClearance(std::shared_ptr<const Footprint> footprint,
652 std::shared_ptr<const FootprintPad> pad,
653 const QString& pkgPadName) noexcept;
655 : RuleCheckMessage(other), mFootprint(other.mFootprint), mPad(other.mPad) {}
656 virtual ~MsgPadWithCopperClearance() noexcept {}
657
658 // Getters
659 std::shared_ptr<const Footprint> getFootprint() const noexcept {
660 return mFootprint;
661 }
662 std::shared_ptr<const FootprintPad> getPad() const noexcept { return mPad; }
663
664private:
665 std::shared_ptr<const Footprint> mFootprint;
666 std::shared_ptr<const FootprintPad> mPad;
667};
668
669/*******************************************************************************
670 * Class MsgSmtPadWithSolderPaste
671 ******************************************************************************/
672
677 Q_DECLARE_TR_FUNCTIONS(MsgSmtPadWithSolderPaste)
678
679public:
680 // Constructors / Destructor
682 MsgSmtPadWithSolderPaste(std::shared_ptr<const Footprint> footprint,
683 std::shared_ptr<const FootprintPad> pad,
684 const QString& pkgPadName) noexcept;
686 : RuleCheckMessage(other), mFootprint(other.mFootprint), mPad(other.mPad) {}
687 virtual ~MsgSmtPadWithSolderPaste() noexcept {}
688
689 // Getters
690 std::shared_ptr<const Footprint> getFootprint() const noexcept {
691 return mFootprint;
692 }
693 std::shared_ptr<const FootprintPad> getPad() const noexcept { return mPad; }
694
695private:
696 std::shared_ptr<const Footprint> mFootprint;
697 std::shared_ptr<const FootprintPad> mPad;
698};
699
700/*******************************************************************************
701 * Class MsgSmtPadWithoutSolderPaste
702 ******************************************************************************/
703
708 Q_DECLARE_TR_FUNCTIONS(MsgSmtPadWithoutSolderPaste)
709
710public:
711 // Constructors / Destructor
713 MsgSmtPadWithoutSolderPaste(std::shared_ptr<const Footprint> footprint,
714 std::shared_ptr<const FootprintPad> pad,
715 const QString& pkgPadName) noexcept;
717 : RuleCheckMessage(other), mFootprint(other.mFootprint), mPad(other.mPad) {}
718 virtual ~MsgSmtPadWithoutSolderPaste() noexcept {}
719
720 // Getters
721 std::shared_ptr<const Footprint> getFootprint() const noexcept {
722 return mFootprint;
723 }
724 std::shared_ptr<const FootprintPad> getPad() const noexcept { return mPad; }
725
726private:
727 std::shared_ptr<const Footprint> mFootprint;
728 std::shared_ptr<const FootprintPad> mPad;
729};
730
731/*******************************************************************************
732 * Class MsgSuspiciousPadFunction
733 ******************************************************************************/
734
739 Q_DECLARE_TR_FUNCTIONS(MsgSuspiciousPadFunction)
740
741public:
742 // Constructors / Destructor
743 MsgSuspiciousPadFunction(std::shared_ptr<const Footprint> footprint,
744 std::shared_ptr<const FootprintPad> pad,
745 const QString& pkgPadName) noexcept;
747 : RuleCheckMessage(other), mFootprint(other.mFootprint), mPad(other.mPad) {}
748 virtual ~MsgSuspiciousPadFunction() noexcept {}
749
750 // Getters
751 std::shared_ptr<const Footprint> getFootprint() const noexcept {
752 return mFootprint;
753 }
754 std::shared_ptr<const FootprintPad> getPad() const noexcept { return mPad; }
755
756private:
757 std::shared_ptr<const Footprint> mFootprint;
758 std::shared_ptr<const FootprintPad> mPad;
759};
760
761/*******************************************************************************
762 * Class MsgThtPadWithSolderPaste
763 ******************************************************************************/
764
769 Q_DECLARE_TR_FUNCTIONS(MsgThtPadWithSolderPaste)
770
771public:
772 // Constructors / Destructor
774 MsgThtPadWithSolderPaste(std::shared_ptr<const Footprint> footprint,
775 std::shared_ptr<const FootprintPad> pad,
776 const QString& pkgPadName) noexcept;
778 : RuleCheckMessage(other), mFootprint(other.mFootprint), mPad(other.mPad) {}
779 virtual ~MsgThtPadWithSolderPaste() noexcept {}
780
781 // Getters
782 std::shared_ptr<const Footprint> getFootprint() const noexcept {
783 return mFootprint;
784 }
785 std::shared_ptr<const FootprintPad> getPad() const noexcept { return mPad; }
786
787private:
788 std::shared_ptr<const Footprint> mFootprint;
789 std::shared_ptr<const FootprintPad> mPad;
790};
791
792/*******************************************************************************
793 * Class MsgUnspecifiedPadFunction
794 ******************************************************************************/
795
800 Q_DECLARE_TR_FUNCTIONS(MsgUnspecifiedPadFunction)
801
802public:
803 // Constructors / Destructor
804 MsgUnspecifiedPadFunction(std::shared_ptr<const Footprint> footprint,
805 std::shared_ptr<const FootprintPad> pad,
806 const QString& pkgPadName) noexcept;
808 : RuleCheckMessage(other), mFootprint(other.mFootprint), mPad(other.mPad) {}
809 virtual ~MsgUnspecifiedPadFunction() noexcept {}
810
811 // Getters
812 std::shared_ptr<const Footprint> getFootprint() const noexcept {
813 return mFootprint;
814 }
815 std::shared_ptr<const FootprintPad> getPad() const noexcept { return mPad; }
816
817private:
818 std::shared_ptr<const Footprint> mFootprint;
819 std::shared_ptr<const FootprintPad> mPad;
820};
821
822/*******************************************************************************
823 * Class MsgUnusedCustomPadOutline
824 ******************************************************************************/
825
830 Q_DECLARE_TR_FUNCTIONS(MsgUnusedCustomPadOutline)
831
832public:
833 // Constructors / Destructor
835 MsgUnusedCustomPadOutline(std::shared_ptr<const Footprint> footprint,
836 std::shared_ptr<const FootprintPad> pad,
837 const QString& pkgPadName) noexcept;
839 : RuleCheckMessage(other), mFootprint(other.mFootprint), mPad(other.mPad) {}
840 virtual ~MsgUnusedCustomPadOutline() noexcept {}
841
842 // Getters
843 std::shared_ptr<const Footprint> getFootprint() const noexcept {
844 return mFootprint;
845 }
846 std::shared_ptr<const FootprintPad> getPad() const noexcept { return mPad; }
847
848private:
849 std::shared_ptr<const Footprint> mFootprint;
850 std::shared_ptr<const FootprintPad> mPad;
851};
852
853/*******************************************************************************
854 * Class MsgUselessZone
855 ******************************************************************************/
856
860class MsgUselessZone final : public RuleCheckMessage {
861 Q_DECLARE_TR_FUNCTIONS(MsgUselessZone)
862
863public:
864 // Constructors / Destructor
865 MsgUselessZone() = delete;
866 MsgUselessZone(std::shared_ptr<const Footprint> footprint,
867 std::shared_ptr<const Zone> zone) noexcept;
868 MsgUselessZone(const MsgUselessZone& other) noexcept
869 : RuleCheckMessage(other),
870 mFootprint(other.mFootprint),
871 mZone(other.mZone) {}
872 virtual ~MsgUselessZone() noexcept {}
873
874 // Getters
875 std::shared_ptr<const Footprint> getFootprint() const noexcept {
876 return mFootprint;
877 }
878 std::shared_ptr<const Zone> getZone() const noexcept { return mZone; }
879
880private:
881 std::shared_ptr<const Footprint> mFootprint;
882 std::shared_ptr<const Zone> mZone;
883};
884
885/*******************************************************************************
886 * Class MsgWrongFootprintTextLayer
887 ******************************************************************************/
888
893 Q_DECLARE_TR_FUNCTIONS(MsgWrongFootprintTextLayer)
894
895public:
896 // Constructors / Destructor
898 MsgWrongFootprintTextLayer(std::shared_ptr<const Footprint> footprint,
899 std::shared_ptr<const StrokeText> text,
900 const Layer& expectedLayer) noexcept;
902 : RuleCheckMessage(other),
903 mFootprint(other.mFootprint),
904 mText(other.mText),
905 mExpectedLayer(other.mExpectedLayer) {}
906 virtual ~MsgWrongFootprintTextLayer() noexcept {}
907
908 // Getters
909 std::shared_ptr<const Footprint> getFootprint() const noexcept {
910 return mFootprint;
911 }
912 std::shared_ptr<const StrokeText> getText() const noexcept { return mText; }
913 const Layer& getExpectedLayer() const noexcept { return *mExpectedLayer; }
914
915private:
916 std::shared_ptr<const Footprint> mFootprint;
917 std::shared_ptr<const StrokeText> mText;
919};
920
921/*******************************************************************************
922 * End of File
923 ******************************************************************************/
924
925} // namespace librepcb
926
927#endif
The Layer class provides all supported geometry layers.
Definition: layer.h:40
The Length class is used to represent a length (for example 12.75 millimeters)
Definition: length.h:83
The MsgDeprecatedAssemblyType class.
Definition: packagecheckmessages.h:52
MsgDeprecatedAssemblyType(const MsgDeprecatedAssemblyType &other) noexcept
Definition: packagecheckmessages.h:58
MsgDeprecatedAssemblyType() noexcept
Definition: packagecheckmessages.cpp:39
virtual ~MsgDeprecatedAssemblyType() noexcept
Definition: packagecheckmessages.h:60
The MsgDuplicatePadName class.
Definition: packagecheckmessages.h:88
virtual ~MsgDuplicatePadName() noexcept
Definition: packagecheckmessages.h:97
MsgDuplicatePadName(const MsgDuplicatePadName &other) noexcept
Definition: packagecheckmessages.h:95
The MsgFiducialClearanceLessThanStopMask class.
Definition: packagecheckmessages.h:107
virtual ~MsgFiducialClearanceLessThanStopMask() noexcept
Definition: packagecheckmessages.h:119
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:122
std::shared_ptr< const FootprintPad > mPad
Definition: packagecheckmessages.h:129
std::shared_ptr< const FootprintPad > getPad() const noexcept
Definition: packagecheckmessages.h:125
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:128
MsgFiducialClearanceLessThanStopMask(const MsgFiducialClearanceLessThanStopMask &other) noexcept
Definition: packagecheckmessages.h:116
The MsgFiducialStopMaskNotSet class.
Definition: packagecheckmessages.h:139
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:152
virtual ~MsgFiducialStopMaskNotSet() noexcept
Definition: packagecheckmessages.h:149
std::shared_ptr< const FootprintPad > mPad
Definition: packagecheckmessages.h:159
MsgFiducialStopMaskNotSet(const MsgFiducialStopMaskNotSet &other) noexcept
Definition: packagecheckmessages.h:147
std::shared_ptr< const FootprintPad > getPad() const noexcept
Definition: packagecheckmessages.h:155
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:158
The MsgHoleWithoutStopMask class.
Definition: packagecheckmessages.h:169
std::shared_ptr< const Hole > mHole
Definition: packagecheckmessages.h:191
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:184
virtual ~MsgHoleWithoutStopMask() noexcept
Definition: packagecheckmessages.h:181
std::shared_ptr< const Hole > getHole() const noexcept
Definition: packagecheckmessages.h:187
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:190
MsgHoleWithoutStopMask(const MsgHoleWithoutStopMask &other) noexcept
Definition: packagecheckmessages.h:177
The MsgInvalidCustomPadOutline class.
Definition: packagecheckmessages.h:201
MsgInvalidCustomPadOutline(const MsgInvalidCustomPadOutline &other) noexcept
Definition: packagecheckmessages.h:210
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:215
virtual ~MsgInvalidCustomPadOutline() noexcept
Definition: packagecheckmessages.h:212
std::shared_ptr< const FootprintPad > mPad
Definition: packagecheckmessages.h:222
std::shared_ptr< const FootprintPad > getPad() const noexcept
Definition: packagecheckmessages.h:218
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:221
The MsgInvalidPadConnection class.
Definition: packagecheckmessages.h:232
MsgInvalidPadConnection(const MsgInvalidPadConnection &other) noexcept
Definition: packagecheckmessages.h:240
virtual ~MsgInvalidPadConnection() noexcept
Definition: packagecheckmessages.h:242
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:245
std::shared_ptr< const FootprintPad > mPad
Definition: packagecheckmessages.h:252
std::shared_ptr< const FootprintPad > getPad() const noexcept
Definition: packagecheckmessages.h:248
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:251
The MsgMissingCourtyard class.
Definition: packagecheckmessages.h:262
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:275
virtual ~MsgMissingCourtyard() noexcept
Definition: packagecheckmessages.h:272
MsgMissingCourtyard(const MsgMissingCourtyard &other) noexcept
Definition: packagecheckmessages.h:270
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:280
The MsgMissingFootprint class.
Definition: packagecheckmessages.h:290
MsgMissingFootprint(const MsgMissingFootprint &other) noexcept
Definition: packagecheckmessages.h:296
MsgMissingFootprint() noexcept
Definition: packagecheckmessages.cpp:229
virtual ~MsgMissingFootprint() noexcept
Definition: packagecheckmessages.h:298
The MsgMissingFootprintModel class.
Definition: packagecheckmessages.h:308
virtual ~MsgMissingFootprintModel() noexcept
Definition: packagecheckmessages.h:317
MsgMissingFootprintModel(const MsgMissingFootprintModel &other) noexcept
Definition: packagecheckmessages.h:315
The MsgMissingFootprintName class.
Definition: packagecheckmessages.h:327
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:340
virtual ~MsgMissingFootprintName() noexcept
Definition: packagecheckmessages.h:337
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:345
MsgMissingFootprintName(const MsgMissingFootprintName &other) noexcept
Definition: packagecheckmessages.h:335
The MsgMissingFootprintValue class.
Definition: packagecheckmessages.h:355
MsgMissingFootprintValue(const MsgMissingFootprintValue &other) noexcept
Definition: packagecheckmessages.h:363
virtual ~MsgMissingFootprintValue() noexcept
Definition: packagecheckmessages.h:365
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:368
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:373
The MsgMissingPackageOutline class.
Definition: packagecheckmessages.h:383
MsgMissingPackageOutline(const MsgMissingPackageOutline &other) noexcept
Definition: packagecheckmessages.h:391
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:396
virtual ~MsgMissingPackageOutline() noexcept
Definition: packagecheckmessages.h:393
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:401
The MsgOverlappingPads class.
Definition: packagecheckmessages.h:411
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:430
std::shared_ptr< const FootprintPad > getPad1() const noexcept
Definition: packagecheckmessages.h:433
std::shared_ptr< const FootprintPad > getPad2() const noexcept
Definition: packagecheckmessages.h:434
virtual ~MsgOverlappingPads() noexcept
Definition: packagecheckmessages.h:427
MsgOverlappingPads(const MsgOverlappingPads &other) noexcept
Definition: packagecheckmessages.h:422
std::shared_ptr< const FootprintPad > mPad1
Definition: packagecheckmessages.h:438
std::shared_ptr< const FootprintPad > mPad2
Definition: packagecheckmessages.h:439
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:437
The MsgPadAnnularRingViolation class.
Definition: packagecheckmessages.h:449
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:464
std::shared_ptr< const FootprintPad > mPad
Definition: packagecheckmessages.h:471
MsgPadAnnularRingViolation(const MsgPadAnnularRingViolation &other) noexcept
Definition: packagecheckmessages.h:459
std::shared_ptr< const FootprintPad > getPad() const noexcept
Definition: packagecheckmessages.h:467
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:470
virtual ~MsgPadAnnularRingViolation() noexcept
Definition: packagecheckmessages.h:461
The MsgPadClearanceViolation class.
Definition: packagecheckmessages.h:481
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:501
std::shared_ptr< const FootprintPad > getPad1() const noexcept
Definition: packagecheckmessages.h:504
std::shared_ptr< const FootprintPad > getPad2() const noexcept
Definition: packagecheckmessages.h:505
virtual ~MsgPadClearanceViolation() noexcept
Definition: packagecheckmessages.h:498
MsgPadClearanceViolation(const MsgPadClearanceViolation &other) noexcept
Definition: packagecheckmessages.h:493
std::shared_ptr< const FootprintPad > mPad1
Definition: packagecheckmessages.h:509
std::shared_ptr< const FootprintPad > mPad2
Definition: packagecheckmessages.h:510
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:508
The MsgPadHoleOutsideCopper class.
Definition: packagecheckmessages.h:520
MsgPadHoleOutsideCopper(const MsgPadHoleOutsideCopper &other) noexcept
Definition: packagecheckmessages.h:529
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:534
virtual ~MsgPadHoleOutsideCopper() noexcept
Definition: packagecheckmessages.h:531
std::shared_ptr< const FootprintPad > mPad
Definition: packagecheckmessages.h:541
std::shared_ptr< const FootprintPad > getPad() const noexcept
Definition: packagecheckmessages.h:537
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:540
The MsgPadOriginOutsideCopper class.
Definition: packagecheckmessages.h:551
MsgPadOriginOutsideCopper(const MsgPadOriginOutsideCopper &other) noexcept
Definition: packagecheckmessages.h:560
virtual ~MsgPadOriginOutsideCopper() noexcept
Definition: packagecheckmessages.h:562
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:565
std::shared_ptr< const FootprintPad > mPad
Definition: packagecheckmessages.h:572
std::shared_ptr< const FootprintPad > getPad() const noexcept
Definition: packagecheckmessages.h:568
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:571
The MsgPadOverlapsWithLegend class.
Definition: packagecheckmessages.h:582
MsgPadOverlapsWithLegend(const MsgPadOverlapsWithLegend &other) noexcept
Definition: packagecheckmessages.h:592
virtual ~MsgPadOverlapsWithLegend() noexcept
Definition: packagecheckmessages.h:594
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:597
std::shared_ptr< const FootprintPad > mPad
Definition: packagecheckmessages.h:604
std::shared_ptr< const FootprintPad > getPad() const noexcept
Definition: packagecheckmessages.h:600
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:603
The MsgPadStopMaskOff class.
Definition: packagecheckmessages.h:614
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:628
virtual ~MsgPadStopMaskOff() noexcept
Definition: packagecheckmessages.h:625
MsgPadStopMaskOff(const MsgPadStopMaskOff &other) noexcept
Definition: packagecheckmessages.h:623
std::shared_ptr< const FootprintPad > mPad
Definition: packagecheckmessages.h:635
std::shared_ptr< const FootprintPad > getPad() const noexcept
Definition: packagecheckmessages.h:631
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:634
The MsgPadWithCopperClearance class.
Definition: packagecheckmessages.h:645
MsgPadWithCopperClearance(const MsgPadWithCopperClearance &other) noexcept
Definition: packagecheckmessages.h:654
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:659
virtual ~MsgPadWithCopperClearance() noexcept
Definition: packagecheckmessages.h:656
std::shared_ptr< const FootprintPad > mPad
Definition: packagecheckmessages.h:666
std::shared_ptr< const FootprintPad > getPad() const noexcept
Definition: packagecheckmessages.h:662
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:665
The MsgSmtPadWithSolderPaste class.
Definition: packagecheckmessages.h:676
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:690
virtual ~MsgSmtPadWithSolderPaste() noexcept
Definition: packagecheckmessages.h:687
std::shared_ptr< const FootprintPad > mPad
Definition: packagecheckmessages.h:697
MsgSmtPadWithSolderPaste(const MsgSmtPadWithSolderPaste &other) noexcept
Definition: packagecheckmessages.h:685
std::shared_ptr< const FootprintPad > getPad() const noexcept
Definition: packagecheckmessages.h:693
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:696
The MsgSmtPadWithoutSolderPaste class.
Definition: packagecheckmessages.h:707
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:721
virtual ~MsgSmtPadWithoutSolderPaste() noexcept
Definition: packagecheckmessages.h:718
std::shared_ptr< const FootprintPad > mPad
Definition: packagecheckmessages.h:728
MsgSmtPadWithoutSolderPaste(const MsgSmtPadWithoutSolderPaste &other) noexcept
Definition: packagecheckmessages.h:716
std::shared_ptr< const FootprintPad > getPad() const noexcept
Definition: packagecheckmessages.h:724
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:727
The MsgSuspiciousAssemblyType class.
Definition: packagecheckmessages.h:70
virtual ~MsgSuspiciousAssemblyType() noexcept
Definition: packagecheckmessages.h:78
MsgSuspiciousAssemblyType(const MsgSuspiciousAssemblyType &other) noexcept
Definition: packagecheckmessages.h:76
MsgSuspiciousAssemblyType() noexcept
Definition: packagecheckmessages.cpp:51
The MsgSuspiciousPadFunction class.
Definition: packagecheckmessages.h:738
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:751
std::shared_ptr< const FootprintPad > mPad
Definition: packagecheckmessages.h:758
MsgSuspiciousPadFunction(std::shared_ptr< const Footprint > footprint, std::shared_ptr< const FootprintPad > pad, const QString &pkgPadName) noexcept
Definition: packagecheckmessages.cpp:585
MsgSuspiciousPadFunction(const MsgSuspiciousPadFunction &other) noexcept
Definition: packagecheckmessages.h:746
std::shared_ptr< const FootprintPad > getPad() const noexcept
Definition: packagecheckmessages.h:754
virtual ~MsgSuspiciousPadFunction() noexcept
Definition: packagecheckmessages.h:748
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:757
The MsgThtPadWithSolderPaste class.
Definition: packagecheckmessages.h:768
virtual ~MsgThtPadWithSolderPaste() noexcept
Definition: packagecheckmessages.h:779
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:782
std::shared_ptr< const FootprintPad > mPad
Definition: packagecheckmessages.h:789
std::shared_ptr< const FootprintPad > getPad() const noexcept
Definition: packagecheckmessages.h:785
MsgThtPadWithSolderPaste(const MsgThtPadWithSolderPaste &other) noexcept
Definition: packagecheckmessages.h:777
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:788
The MsgUnspecifiedPadFunction class.
Definition: packagecheckmessages.h:799
MsgUnspecifiedPadFunction(std::shared_ptr< const Footprint > footprint, std::shared_ptr< const FootprintPad > pad, const QString &pkgPadName) noexcept
Definition: packagecheckmessages.cpp:638
virtual ~MsgUnspecifiedPadFunction() noexcept
Definition: packagecheckmessages.h:809
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:812
std::shared_ptr< const FootprintPad > mPad
Definition: packagecheckmessages.h:819
std::shared_ptr< const FootprintPad > getPad() const noexcept
Definition: packagecheckmessages.h:815
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:818
MsgUnspecifiedPadFunction(const MsgUnspecifiedPadFunction &other) noexcept
Definition: packagecheckmessages.h:807
The MsgUnusedCustomPadOutline class.
Definition: packagecheckmessages.h:829
virtual ~MsgUnusedCustomPadOutline() noexcept
Definition: packagecheckmessages.h:840
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:843
std::shared_ptr< const FootprintPad > mPad
Definition: packagecheckmessages.h:850
std::shared_ptr< const FootprintPad > getPad() const noexcept
Definition: packagecheckmessages.h:846
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:849
MsgUnusedCustomPadOutline(const MsgUnusedCustomPadOutline &other) noexcept
Definition: packagecheckmessages.h:838
The MsgUselessZone class.
Definition: packagecheckmessages.h:860
MsgUselessZone(const MsgUselessZone &other) noexcept
Definition: packagecheckmessages.h:868
std::shared_ptr< const Zone > getZone() const noexcept
Definition: packagecheckmessages.h:878
std::shared_ptr< const Zone > mZone
Definition: packagecheckmessages.h:882
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:875
virtual ~MsgUselessZone() noexcept
Definition: packagecheckmessages.h:872
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:881
The MsgWrongFootprintTextLayer class.
Definition: packagecheckmessages.h:892
std::shared_ptr< const StrokeText > mText
Definition: packagecheckmessages.h:917
std::shared_ptr< const Footprint > getFootprint() const noexcept
Definition: packagecheckmessages.h:909
std::shared_ptr< const StrokeText > getText() const noexcept
Definition: packagecheckmessages.h:912
const Layer & getExpectedLayer() const noexcept
Definition: packagecheckmessages.h:913
virtual ~MsgWrongFootprintTextLayer() noexcept
Definition: packagecheckmessages.h:906
std::shared_ptr< const Footprint > mFootprint
Definition: packagecheckmessages.h:916
const Layer * mExpectedLayer
Definition: packagecheckmessages.h:918
MsgWrongFootprintTextLayer(const MsgWrongFootprintTextLayer &other) noexcept
Definition: packagecheckmessages.h:901
The PackagePad class represents one logical pad of a package.
Definition: packagepad.h:47
The RuleCheckMessage class.
Definition: rulecheckmessage.h:45
Definition: occmodel.cpp:77