LibrePCB Developers Documentation
ExcellonGenerator Class Referencefinal

The ExcellonGenerator class. More...

#include <excellongenerator.h>

+ Collaboration diagram for ExcellonGenerator:

Public Types

enum class  Plating
 
using Function = GerberAttribute::ApertureFunction
 

Public Member Functions

 ExcellonGenerator ()=delete
 
 ExcellonGenerator (const ExcellonGenerator &other)=delete
 
 ExcellonGenerator (const QDateTime &creationDate, const QString &projName, const Uuid &projUuid, const QString &projRevision, Plating plating, int fromLayer, int toLayer) noexcept
 
 ~ExcellonGenerator () noexcept
 
void setUseG85Slots (bool use) noexcept
 
const QString & toStr () const noexcept
 
void drill (const Point &pos, const PositiveLength &dia, bool plated, Function function) noexcept
 
void drill (const NonEmptyPath &path, const PositiveLength &dia, bool plated, Function function) noexcept
 
void generate ()
 
void saveToFile (const FilePath &filepath) const
 
ExcellonGeneratoroperator= (const ExcellonGenerator &rhs)=delete
 

Private Types

typedef std::tuple< Length, bool, FunctionTool
 

Private Member Functions

void printHeader () noexcept
 
void printToolList () noexcept
 
void printDrills ()
 
void printPath (const NonEmptyPath &path)
 
void printDrill (const Point &pos) noexcept
 
void printSlot (const NonEmptyPath &path)
 
void printRout (const NonEmptyPath &path) noexcept
 
void printMoveTo (const Point &pos) noexcept
 
void printLinearInterpolation (const Point &pos) noexcept
 
void printCircularInterpolation (const Point &from, const Point &to, const Angle &angle) noexcept
 
void printFooter () noexcept
 

Private Attributes

Plating mPlating
 
QVector< GerberAttributemFileAttributes
 
bool mUseG85Slots
 
QString mOutput
 
QMultiMap< Tool, NonEmptyPathmDrillList
 

Detailed Description

The ExcellonGenerator class.

Member Typedef Documentation

◆ Function

◆ Tool

typedef std::tuple<Length, bool, Function> Tool
private

Member Enumeration Documentation

◆ Plating

enum class Plating
strong
Enumerator
Yes 
No 
Mixed 

Constructor & Destructor Documentation

◆ ExcellonGenerator() [1/3]

ExcellonGenerator ( )
delete

◆ ExcellonGenerator() [2/3]

ExcellonGenerator ( const ExcellonGenerator other)
delete

◆ ExcellonGenerator() [3/3]

ExcellonGenerator ( const QDateTime &  creationDate,
const QString &  projName,
const Uuid projUuid,
const QString &  projRevision,
Plating  plating,
int  fromLayer,
int  toLayer 
)
noexcept
+ Here is the call graph for this function:

◆ ~ExcellonGenerator()

~ExcellonGenerator ( )
noexcept

Member Function Documentation

◆ setUseG85Slots()

void setUseG85Slots ( bool  use)
inlinenoexcept

◆ toStr()

const QString & toStr ( ) const
inlinenoexcept

◆ drill() [1/2]

void drill ( const Point pos,
const PositiveLength dia,
bool  plated,
Function  function 
)
noexcept
+ Here is the caller graph for this function:

◆ drill() [2/2]

void drill ( const NonEmptyPath path,
const PositiveLength dia,
bool  plated,
Function  function 
)
noexcept

◆ generate()

void generate ( )
+ Here is the call graph for this function:

◆ saveToFile()

void saveToFile ( const FilePath filepath) const
+ Here is the call graph for this function:

◆ operator=()

ExcellonGenerator & operator= ( const ExcellonGenerator rhs)
delete

◆ printHeader()

void printHeader ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ printToolList()

void printToolList ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ printDrills()

void printDrills ( )
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ printPath()

void printPath ( const NonEmptyPath path)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ printDrill()

void printDrill ( const Point pos)
privatenoexcept
+ Here is the caller graph for this function:

◆ printSlot()

void printSlot ( const NonEmptyPath path)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ printRout()

void printRout ( const NonEmptyPath path)
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ printMoveTo()

void printMoveTo ( const Point pos)
privatenoexcept

◆ printLinearInterpolation()

void printLinearInterpolation ( const Point pos)
privatenoexcept

◆ printCircularInterpolation()

void printCircularInterpolation ( const Point from,
const Point to,
const Angle angle 
)
privatenoexcept
+ Here is the call graph for this function:

◆ printFooter()

void printFooter ( )
privatenoexcept
+ Here is the caller graph for this function:

Member Data Documentation

◆ mPlating

Plating mPlating
private

◆ mFileAttributes

QVector<GerberAttribute> mFileAttributes
private

◆ mUseG85Slots

bool mUseG85Slots
private

◆ mOutput

QString mOutput
private

◆ mDrillList

QMultiMap<Tool, NonEmptyPath> mDrillList
private

The documentation for this class was generated from the following files: