20#ifndef LIBREPCB_CORE_EXCELLONGENERATOR_H
21#define LIBREPCB_CORE_EXCELLONGENERATOR_H
26#include "../fileio/filepath.h"
27#include "../geometry/path.h"
28#include "../types/length.h"
59 const Uuid& projUuid,
const QString& projRevision,
60 Plating plating,
int fromLayer,
int toLayer)
noexcept;
91 const
Angle& angle) noexcept;
The Angle class is used to represent an angle (for example 12.75 degrees)
Definition: angle.h:78
The ExcellonGenerator class.
Definition: excellongenerator.h:47
void printMoveTo(const Point &pos) noexcept
Definition: excellongenerator.cpp:228
void printDrills()
Definition: excellongenerator.cpp:151
void saveToFile(const FilePath &filepath) const
Definition: excellongenerator.cpp:109
void printCircularInterpolation(const Point &from, const Point &to, const Angle &angle) noexcept
Definition: excellongenerator.cpp:238
ExcellonGenerator()=delete
void printRout(const NonEmptyPath &path) noexcept
Definition: excellongenerator.cpp:196
bool mUseG85Slots
Definition: excellongenerator.h:102
const QString & toStr() const noexcept
Definition: excellongenerator.h:67
void printDrill(const Point &pos) noexcept
Definition: excellongenerator.cpp:173
void printSlot(const NonEmptyPath &path)
Definition: excellongenerator.cpp:178
void drill(const Point &pos, const PositiveLength &dia, bool plated, Function function) noexcept
Definition: excellongenerator.cpp:88
ExcellonGenerator(const ExcellonGenerator &other)=delete
void generate()
Definition: excellongenerator.cpp:102
void printToolList() noexcept
Definition: excellongenerator.cpp:136
void setUseG85Slots(bool use) noexcept
Definition: excellongenerator.h:64
~ExcellonGenerator() noexcept
Definition: excellongenerator.cpp:81
void printFooter() noexcept
Definition: excellongenerator.cpp:252
ExcellonGenerator & operator=(const ExcellonGenerator &rhs)=delete
GerberAttribute::ApertureFunction Function
Definition: excellongenerator.h:53
void printHeader() noexcept
Definition: excellongenerator.cpp:117
void printLinearInterpolation(const Point &pos) noexcept
Definition: excellongenerator.cpp:233
std::tuple< Length, bool, Function > Tool
Definition: excellongenerator.h:95
void printPath(const NonEmptyPath &path)
Definition: excellongenerator.cpp:161
Plating mPlating
Definition: excellongenerator.h:98
QString mOutput
Definition: excellongenerator.h:105
QMultiMap< Tool, NonEmptyPath > mDrillList
Definition: excellongenerator.h:106
QVector< GerberAttribute > mFileAttributes
Definition: excellongenerator.h:99
Plating
Definition: excellongenerator.h:52
This class represents absolute, well-formatted paths to files or directories.
Definition: filepath.h:129
A Gerber X2 attribute.
Definition: gerberattribute.h:43
ApertureFunction
Definition: gerberattribute.h:53
The Length class is used to represent a length (for example 12.75 millimeters)
Definition: length.h:83
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition: point.h:79
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition: uuid.h:58
Definition: occmodel.cpp:77
type_safe::constrained_type< Length, PositiveLengthConstraint, PositiveLengthVerifier > PositiveLength
Definition: length.h:812
type_safe::constrained_type< Path, NonEmptyPathConstraint, NonEmptyPathVerifier > NonEmptyPath
Definition: path.h:222