20 #ifndef LIBREPCB_CORE_GERBERAPERTURELIST_H 21 #define LIBREPCB_CORE_GERBERAPERTURELIST_H 26 #include "../fileio/filepath.h" 27 #include "../geometry/path.h" 28 #include "../types/length.h" 29 #include "../types/uuid.h" 34 #include <optional.hpp> 73 using Function = tl::optional<GerberAttribute::ApertureFunction>;
int addCircle(const UnsignedLength &dia, Function function)
Add a circle aperture.
Definition: gerberaperturelist.cpp:75
Definition: occmodel.cpp:77
The Angle class is used to represent an angle (for example 12.75 degrees)
Definition: angle.h:78
int addRect(const PositiveLength &w, const PositiveLength &h, const UnsignedLength &r, const Angle &rot, Function function) noexcept
Add a rectangular aperture.
Definition: gerberaperturelist.cpp:127
type_safe::constrained_type< Path, StraightAreaPathConstraint, StraightAreaPathVerifier > StraightAreaPath
Definition: path.h:264
int addObround(const PositiveLength &w, const PositiveLength &h, const Angle &rot, Function function) noexcept
Add an obround aperture.
Definition: gerberaperturelist.cpp:81
int addAperture(QString aperture, Function function) noexcept
Helper method to actually add a new or get an existing aperture.
Definition: gerberaperturelist.cpp:304
tl::optional< GerberAttribute::ApertureFunction > Function
Definition: gerberaperturelist.h:73
QMap< int, std::pair< Function, QString > > mApertures
Definition: gerberaperturelist.h:227
int addOctagon(const PositiveLength &w, const PositiveLength &h, const UnsignedLength &r, const Angle &rot, Function function) noexcept
Add an octagon aperture.
Definition: gerberaperturelist.cpp:193
int addComponentMain() noexcept
Add a component main aperture (for component layers only)
Definition: gerberaperturelist.cpp:257
QString generateString() const noexcept
Generate the aperture definitions string.
Definition: gerberaperturelist.cpp:48
int addComponentPin(bool isPin1) noexcept
Add a component pin aperture (for component layers only)
Definition: gerberaperturelist.cpp:264
The Path class represents a list of vertices connected by straight lines or circular arc segments...
Definition: path.h:58
int addOutline(const StraightAreaPath &path, const Angle &rot, Function function) noexcept
Add a custom outline aperture.
Definition: gerberaperturelist.cpp:251
type_safe::constrained_type< Length, PositiveLengthConstraint, PositiveLengthVerifier > PositiveLength
Definition: length.h:812
GerberApertureList() noexcept
Definition: gerberaperturelist.cpp:38
QString buildOutlineMacro(Path path, const Angle &rot) const noexcept
Internal helper for addOutline()
Definition: gerberaperturelist.cpp:290
A helper class to generate the aperture definitions for a Gerber file.
Definition: gerberaperturelist.h:68
type_safe::constrained_type< Length, UnsignedLengthConstraint, UnsignedLengthVerifier > UnsignedLength
Definition: length.h:696