LibrePCB Developers Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BoardGerberExport Class Referencefinal

The BoardGerberExport class. More...

#include <boardgerberexport.h>

+ Inheritance diagram for BoardGerberExport:
+ Collaboration diagram for BoardGerberExport:

Signals

void attributesChanged () override
 
- Signals inherited from AttributeProvider
virtual void attributesChanged ()=0
 This signal is emited when the value of attributes has changed. More...
 

Public Member Functions

 BoardGerberExport ()=delete
 
 BoardGerberExport (const BoardGerberExport &other)=delete
 
 BoardGerberExport (const Board &board) noexcept
 
 ~BoardGerberExport () noexcept
 
FilePath getOutputDirectory () const noexcept
 
const QVector< FilePath > & getWrittenFiles () const noexcept
 
void exportAllLayers () const
 
QString getBuiltInAttributeValue (const QString &key) const noexceptoverride
 Get the value of a built-in attribute (if available) More...
 
QVector< const
AttributeProvider * > 
getAttributeProviderParents () const noexceptoverride
 Get all parent attribute providers (fallback if attribute not found) More...
 
BoardGerberExportoperator= (const BoardGerberExport &rhs)=delete
 
- Public Member Functions inherited from AttributeProvider
 AttributeProvider () noexcept
 
 AttributeProvider (const AttributeProvider &other)=delete
 
AttributeProvideroperator= (const AttributeProvider &rhs)=delete
 
virtual ~AttributeProvider () noexcept
 
QString getAttributeValue (const QString &key) const noexcept
 Get the value of an attribute which can be used in texts (like "{{NAME}}") More...
 
virtual QString getUserDefinedAttributeValue (const QString &key) const noexcept
 Get the value of a user defined attribute (if available) More...
 

Private Member Functions

void exportDrills () const
 
void exportDrillsNpth () const
 
void exportDrillsPth () const
 
void exportLayerBoardOutlines () const
 
void exportLayerTopCopper () const
 
void exportLayerInnerCopper () const
 
void exportLayerBottomCopper () const
 
void exportLayerTopSolderMask () const
 
void exportLayerBottomSolderMask () const
 
void exportLayerTopSilkscreen () const
 
void exportLayerBottomSilkscreen () const
 
void exportLayerTopSolderPaste () const
 
void exportLayerBottomSolderPaste () const
 
int drawNpthDrills (ExcellonGenerator &gen) const
 
int drawPthDrills (ExcellonGenerator &gen) const
 
void drawLayer (GerberGenerator &gen, const QString &layerName) const
 
void drawVia (GerberGenerator &gen, const BI_Via &via, const QString &layerName) const
 
void drawFootprint (GerberGenerator &gen, const BI_Footprint &footprint, const QString &layerName) const
 
void drawFootprintPad (GerberGenerator &gen, const BI_FootprintPad &pad, const QString &layerName) const
 
FilePath getOutputFilePath (const QString &suffix) const noexcept
 

Static Private Member Functions

static UnsignedLength calcWidthOfLayer (const UnsignedLength &width, const QString &name) noexcept
 
template<typename T >
static QList< T * > sortedByUuid (const QList< T * > &list) noexcept
 

Private Attributes

const ProjectmProject
 
const BoardmBoard
 
int mCurrentInnerCopperLayer
 
QVector< FilePathmWrittenFiles
 

Detailed Description

The BoardGerberExport class.

Author
ubruhin
Date
2016-01-10

Constructor & Destructor Documentation

BoardGerberExport ( )
delete
BoardGerberExport ( const BoardGerberExport other)
delete
BoardGerberExport ( const Board board)
noexcept
~BoardGerberExport ( )
noexcept

Member Function Documentation

FilePath getOutputDirectory ( ) const
noexcept

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const QVector<FilePath>& getWrittenFiles ( ) const
inlinenoexcept

+ Here is the caller graph for this function:

void exportAllLayers ( ) const

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

QString getBuiltInAttributeValue ( const QString &  key) const
overridevirtualnoexcept

Get the value of a built-in attribute (if available)

Parameters
keyThe attribute name (e.g. "NAME" for "{{NAME}}")
Returns
The value of the attribute (empty string if not found)

Reimplemented from AttributeProvider.

QVector< const AttributeProvider * > getAttributeProviderParents ( ) const
overridevirtualnoexcept

Get all parent attribute providers (fallback if attribute not found)

Returns
All parent attribute provider objects (empty and nullptr are allowed)

Reimplemented from AttributeProvider.

BoardGerberExport& operator= ( const BoardGerberExport rhs)
delete
void attributesChanged ( )
overridesignal
void exportDrills ( ) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void exportDrillsNpth ( ) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void exportDrillsPth ( ) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void exportLayerBoardOutlines ( ) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void exportLayerTopCopper ( ) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void exportLayerInnerCopper ( ) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void exportLayerBottomCopper ( ) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void exportLayerTopSolderMask ( ) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void exportLayerBottomSolderMask ( ) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void exportLayerTopSilkscreen ( ) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void exportLayerBottomSilkscreen ( ) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void exportLayerTopSolderPaste ( ) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void exportLayerBottomSolderPaste ( ) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int drawNpthDrills ( ExcellonGenerator gen) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int drawPthDrills ( ExcellonGenerator gen) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void drawLayer ( GerberGenerator gen,
const QString &  layerName 
) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void drawVia ( GerberGenerator gen,
const BI_Via via,
const QString &  layerName 
) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void drawFootprint ( GerberGenerator gen,
const BI_Footprint footprint,
const QString &  layerName 
) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void drawFootprintPad ( GerberGenerator gen,
const BI_FootprintPad pad,
const QString &  layerName 
) const
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

FilePath getOutputFilePath ( const QString &  suffix) const
privatenoexcept

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

UnsignedLength calcWidthOfLayer ( const UnsignedLength width,
const QString &  name 
)
staticprivatenoexcept

+ Here is the caller graph for this function:

static QList<T*> sortedByUuid ( const QList< T * > &  list)
inlinestaticprivatenoexcept

+ Here is the caller graph for this function:

Member Data Documentation

const Project& mProject
private
const Board& mBoard
private
int mCurrentInnerCopperLayer
mutableprivate
QVector<FilePath> mWrittenFiles
mutableprivate

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