LibrePCB Developers Documentation
boardfabricationoutputsettings.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_BOARDFABRICATIONOUTPUTSETTINGS_H
21 #define LIBREPCB_CORE_BOARDFABRICATIONOUTPUTSETTINGS_H
22 
23 /*******************************************************************************
24  * Includes
25  ******************************************************************************/
26 #include <QtCore>
27 
28 /*******************************************************************************
29  * Namespace / Forward Declarations
30  ******************************************************************************/
31 namespace librepcb {
32 
33 class Layer;
34 class SExpression;
35 
36 /*******************************************************************************
37  * Class BoardFabricationOutputSettings
38  ******************************************************************************/
39 
44 public:
45  // Constructors / Destructor
48  const BoardFabricationOutputSettings& other) noexcept;
49  explicit BoardFabricationOutputSettings(const SExpression& node);
51 
52  // Getters
53  const QString& getOutputBasePath() const noexcept { return mOutputBasePath; }
54  const QString& getSuffixDrills() const noexcept { return mSuffixDrills; }
55  const QString& getSuffixDrillsNpth() const noexcept {
56  return mSuffixDrillsNpth;
57  }
58  const QString& getSuffixDrillsPth() const noexcept {
59  return mSuffixDrillsPth;
60  }
61  const QString& getSuffixDrillsBlindBuried() const noexcept {
63  }
64  const QString& getSuffixOutlines() const noexcept { return mSuffixOutlines; }
65  const QString& getSuffixCopperTop() const noexcept {
66  return mSuffixCopperTop;
67  }
68  const QString& getSuffixCopperInner() const noexcept {
69  return mSuffixCopperInner;
70  }
71  const QString& getSuffixCopperBot() const noexcept {
72  return mSuffixCopperBot;
73  }
74  const QString& getSuffixSolderMaskTop() const noexcept {
75  return mSuffixSolderMaskTop;
76  }
77  const QString& getSuffixSolderMaskBot() const noexcept {
78  return mSuffixSolderMaskBot;
79  }
80  const QString& getSuffixSilkscreenTop() const noexcept {
81  return mSuffixSilkscreenTop;
82  }
83  const QString& getSuffixSilkscreenBot() const noexcept {
84  return mSuffixSilkscreenBot;
85  }
86  const QString& getSuffixSolderPasteTop() const noexcept {
87  return mSuffixSolderPasteTop;
88  }
89  const QString& getSuffixSolderPasteBot() const noexcept {
90  return mSuffixSolderPasteBot;
91  }
92  bool getMergeDrillFiles() const noexcept { return mMergeDrillFiles; }
93  bool getUseG85SlotCommand() const noexcept { return mUseG85SlotCommand; }
94  bool getEnableSolderPasteTop() const noexcept {
95  return mEnableSolderPasteTop;
96  }
97  bool getEnableSolderPasteBot() const noexcept {
98  return mEnableSolderPasteBot;
99  }
100 
101  // Setters
102  void setOutputBasePath(const QString& p) noexcept { mOutputBasePath = p; }
103  void setSuffixDrills(const QString& s) noexcept { mSuffixDrills = s; }
104  void setSuffixDrillsNpth(const QString& s) noexcept { mSuffixDrillsNpth = s; }
105  void setSuffixDrillsPth(const QString& s) noexcept { mSuffixDrillsPth = s; }
106  void setSuffixDrillsBlindBuried(const QString& s) noexcept {
108  }
109  void setSuffixOutlines(const QString& s) noexcept { mSuffixOutlines = s; }
110  void setSuffixCopperTop(const QString& s) noexcept { mSuffixCopperTop = s; }
111  void setSuffixCopperInner(const QString& s) noexcept {
112  mSuffixCopperInner = s;
113  }
114  void setSuffixCopperBot(const QString& s) noexcept { mSuffixCopperBot = s; }
115  void setSuffixSolderMaskTop(const QString& s) noexcept {
117  }
118  void setSuffixSolderMaskBot(const QString& s) noexcept {
120  }
121  void setSuffixSilkscreenTop(const QString& s) noexcept {
123  }
124  void setSuffixSilkscreenBot(const QString& s) noexcept {
126  }
127  void setSuffixSolderPasteTop(const QString& s) noexcept {
129  }
130  void setSuffixSolderPasteBot(const QString& s) noexcept {
132  }
133  void setMergeDrillFiles(bool m) noexcept { mMergeDrillFiles = m; }
134  void setUseG85SlotCommand(bool u) noexcept { mUseG85SlotCommand = u; }
135  void setEnableSolderPasteTop(bool e) noexcept { mEnableSolderPasteTop = e; }
136  void setEnableSolderPasteBot(bool e) noexcept { mEnableSolderPasteBot = e; }
137 
138  // General Methods
139 
145  void serialize(SExpression& root) const;
146 
147  // Operator Overloadings
149  const BoardFabricationOutputSettings& rhs) noexcept;
150  bool operator==(const BoardFabricationOutputSettings& rhs) const noexcept;
151  bool operator!=(const BoardFabricationOutputSettings& rhs) const noexcept {
152  return !(*this == rhs);
153  }
154 
155 private: // Data
157  QString mSuffixDrills; // NPTH and PTH combined
160  QString mSuffixDrillsBlindBuried; // Vias (plated)
175 };
176 
177 /*******************************************************************************
178  * End of File
179  ******************************************************************************/
180 
181 } // namespace librepcb
182 
183 #endif
const QString & getSuffixOutlines() const noexcept
Definition: boardfabricationoutputsettings.h:64
~BoardFabricationOutputSettings() noexcept
Definition: boardfabricationoutputsettings.cpp:97
QString mSuffixCopperBot
Definition: boardfabricationoutputsettings.h:164
void setSuffixDrillsPth(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:105
void setOutputBasePath(const QString &p) noexcept
Definition: boardfabricationoutputsettings.h:102
BoardFabricationOutputSettings & operator=(const BoardFabricationOutputSettings &rhs) noexcept
Definition: boardfabricationoutputsettings.cpp:155
const QString & getSuffixSolderMaskBot() const noexcept
Definition: boardfabricationoutputsettings.h:77
QString mSuffixSolderPasteTop
Definition: boardfabricationoutputsettings.h:169
QString mSuffixCopperTop
Definition: boardfabricationoutputsettings.h:162
Definition: occmodel.cpp:76
const QString & getSuffixDrillsBlindBuried() const noexcept
Definition: boardfabricationoutputsettings.h:61
bool operator==(const BoardFabricationOutputSettings &rhs) const noexcept
Definition: boardfabricationoutputsettings.cpp:179
const QString & getOutputBasePath() const noexcept
Definition: boardfabricationoutputsettings.h:53
bool operator!=(const BoardFabricationOutputSettings &rhs) const noexcept
Definition: boardfabricationoutputsettings.h:151
const QString & getSuffixCopperInner() const noexcept
Definition: boardfabricationoutputsettings.h:68
void setSuffixCopperInner(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:111
QString mSuffixSilkscreenTop
Definition: boardfabricationoutputsettings.h:167
void setUseG85SlotCommand(bool u) noexcept
Definition: boardfabricationoutputsettings.h:134
void setSuffixCopperTop(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:110
QString mSuffixSolderMaskBot
Definition: boardfabricationoutputsettings.h:166
void serialize(SExpression &root) const
Serialize into librepcb::SExpression node.
Definition: boardfabricationoutputsettings.cpp:104
void setSuffixSolderMaskTop(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:115
const QString & getSuffixSilkscreenBot() const noexcept
Definition: boardfabricationoutputsettings.h:83
QString mSuffixDrillsNpth
Definition: boardfabricationoutputsettings.h:158
const QString & getSuffixCopperTop() const noexcept
Definition: boardfabricationoutputsettings.h:65
const QString & getSuffixDrillsPth() const noexcept
Definition: boardfabricationoutputsettings.h:58
const QString & getSuffixCopperBot() const noexcept
Definition: boardfabricationoutputsettings.h:71
QString mSuffixDrills
Definition: boardfabricationoutputsettings.h:157
void setSuffixDrills(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:103
void setSuffixSolderMaskBot(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:118
QString mOutputBasePath
Definition: boardfabricationoutputsettings.h:156
bool mUseG85SlotCommand
Definition: boardfabricationoutputsettings.h:172
void setSuffixSolderPasteBot(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:130
void setSuffixSolderPasteTop(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:127
bool mEnableSolderPasteTop
Definition: boardfabricationoutputsettings.h:173
void setSuffixDrillsBlindBuried(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:106
void setMergeDrillFiles(bool m) noexcept
Definition: boardfabricationoutputsettings.h:133
const QString & getSuffixDrillsNpth() const noexcept
Definition: boardfabricationoutputsettings.h:55
QString mSuffixDrillsPth
Definition: boardfabricationoutputsettings.h:159
QString mSuffixCopperInner
Definition: boardfabricationoutputsettings.h:163
void setSuffixDrillsNpth(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:104
bool getMergeDrillFiles() const noexcept
Definition: boardfabricationoutputsettings.h:92
bool getEnableSolderPasteBot() const noexcept
Definition: boardfabricationoutputsettings.h:97
const QString & getSuffixSolderMaskTop() const noexcept
Definition: boardfabricationoutputsettings.h:74
BoardFabricationOutputSettings() noexcept
Definition: boardfabricationoutputsettings.cpp:39
const QString & getSuffixSolderPasteTop() const noexcept
Definition: boardfabricationoutputsettings.h:86
QString mSuffixSolderPasteBot
Definition: boardfabricationoutputsettings.h:170
bool getUseG85SlotCommand() const noexcept
Definition: boardfabricationoutputsettings.h:93
The BoardFabricationOutputSettings class.
Definition: boardfabricationoutputsettings.h:43
const QString & getSuffixSolderPasteBot() const noexcept
Definition: boardfabricationoutputsettings.h:89
const QString & getSuffixSilkscreenTop() const noexcept
Definition: boardfabricationoutputsettings.h:80
void setSuffixOutlines(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:109
QString mSuffixDrillsBlindBuried
Definition: boardfabricationoutputsettings.h:160
void setSuffixSilkscreenBot(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:124
bool getEnableSolderPasteTop() const noexcept
Definition: boardfabricationoutputsettings.h:94
QString mSuffixOutlines
Definition: boardfabricationoutputsettings.h:161
QString mSuffixSilkscreenBot
Definition: boardfabricationoutputsettings.h:168
QString mSuffixSolderMaskTop
Definition: boardfabricationoutputsettings.h:165
bool mMergeDrillFiles
Definition: boardfabricationoutputsettings.h:171
void setSuffixSilkscreenTop(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:121
void setSuffixCopperBot(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:114
void setEnableSolderPasteBot(bool e) noexcept
Definition: boardfabricationoutputsettings.h:136
The SExpression class.
Definition: sexpression.h:66
bool mEnableSolderPasteBot
Definition: boardfabricationoutputsettings.h:174
const QString & getSuffixDrills() const noexcept
Definition: boardfabricationoutputsettings.h:54
void setEnableSolderPasteTop(bool e) noexcept
Definition: boardfabricationoutputsettings.h:135