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

The GerberGenerator class. More...

#include <gerbergenerator.h>

+ Collaboration diagram for GerberGenerator:

Public Types

enum  LayerPolarity
 

Public Member Functions

 GerberGenerator ()=delete
 
 GerberGenerator (const GerberGenerator &other)=delete
 
 GerberGenerator (const QString &projName, const Uuid &projUuid, const QString &projRevision) noexcept
 
 ~GerberGenerator () noexcept
 
const QString & toStr () const noexcept
 
void setLayerPolarity (LayerPolarity p) noexcept
 
void drawLine (const Point &start, const Point &end, const UnsignedLength &width) noexcept
 
void drawCircleOutline (const Circle &circle) noexcept
 
void drawCircleArea (const Circle &circle) noexcept
 
void drawPathOutline (const Path &path, const UnsignedLength &lineWidth) noexcept
 
void drawPathArea (const Path &path) noexcept
 
void flashCircle (const Point &pos, const UnsignedLength &dia, const UnsignedLength &hole) noexcept
 
void flashRect (const Point &pos, const UnsignedLength &w, const UnsignedLength &h, const Angle &rot, const UnsignedLength &hole) noexcept
 
void flashObround (const Point &pos, const UnsignedLength &w, const UnsignedLength &h, const Angle &rot, const UnsignedLength &hole) noexcept
 
void flashRegularPolygon (const Point &pos, const UnsignedLength &dia, int n, const Angle &rot, const UnsignedLength &hole) noexcept
 
void reset () noexcept
 
void generate ()
 
void saveToFile (const FilePath &filepath) const
 
GerberGeneratoroperator= (const GerberGenerator &rhs)=delete
 

Private Member Functions

void setCurrentAperture (int number) noexcept
 
void setRegionModeOn () noexcept
 
void setRegionModeOff () noexcept
 
void setMultiQuadrantArcModeOn () noexcept
 
void setMultiQuadrantArcModeOff () noexcept
 
void switchToLinearInterpolationModeG01 () noexcept
 
void switchToCircularCwInterpolationModeG02 () noexcept
 
void switchToCircularCcwInterpolationModeG03 () noexcept
 
void moveToPosition (const Point &pos) noexcept
 
void linearInterpolateToPosition (const Point &pos) noexcept
 
void circularInterpolateToPosition (const Point &start, const Point &center, const Point &end) noexcept
 
void flashAtPosition (const Point &pos) noexcept
 
void printHeader () noexcept
 
void printApertureList () noexcept
 
void printContent () noexcept
 
void printFooter () noexcept
 
QString calcOutputMd5Checksum () const noexcept
 

Static Private Member Functions

static QString escapeString (const QString &str) noexcept
 

Private Attributes

QString mProjectId
 
Uuid mProjectUuid
 
QString mProjectRevision
 
QString mOutput
 
QString mContent
 
QScopedPointer
< GerberApertureList
mApertureList
 
int mCurrentApertureNumber
 
bool mMultiQuadrantArcModeOn
 

Detailed Description

The GerberGenerator class.

Todo:

Remove/Escape illegal characters in mProjectId and mProjectRevision!

Use file/aperture attributes

Author
ubruhin
Date
2016-01-10

Member Enumeration Documentation

enum LayerPolarity
strong
Enumerator
Positive 
Negative 

Constructor & Destructor Documentation

GerberGenerator ( )
delete
GerberGenerator ( const GerberGenerator other)
delete
GerberGenerator ( const QString &  projName,
const Uuid projUuid,
const QString &  projRevision 
)
noexcept
~GerberGenerator ( )
noexcept

Member Function Documentation

const QString& toStr ( ) const
inlinenoexcept
void setLayerPolarity ( LayerPolarity  p)
noexcept
void drawLine ( const Point start,
const Point end,
const UnsignedLength width 
)
noexcept

+ Here is the caller graph for this function:

void drawCircleOutline ( const Circle circle)
noexcept

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void drawCircleArea ( const Circle circle)
noexcept

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void drawPathOutline ( const Path path,
const UnsignedLength lineWidth 
)
noexcept

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void drawPathArea ( const Path path)
noexcept

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void flashCircle ( const Point pos,
const UnsignedLength dia,
const UnsignedLength hole 
)
noexcept

+ Here is the caller graph for this function:

void flashRect ( const Point pos,
const UnsignedLength w,
const UnsignedLength h,
const Angle rot,
const UnsignedLength hole 
)
noexcept

+ Here is the caller graph for this function:

void flashObround ( const Point pos,
const UnsignedLength w,
const UnsignedLength h,
const Angle rot,
const UnsignedLength hole 
)
noexcept

+ Here is the caller graph for this function:

void flashRegularPolygon ( const Point pos,
const UnsignedLength dia,
int  n,
const Angle rot,
const UnsignedLength hole 
)
noexcept

+ Here is the caller graph for this function:

void reset ( )
noexcept
void generate ( )

+ Here is the call graph for this function:

void saveToFile ( const FilePath filepath) const

+ Here is the call graph for this function:

GerberGenerator& operator= ( const GerberGenerator rhs)
delete
void setCurrentAperture ( int  number)
privatenoexcept
void setRegionModeOn ( )
privatenoexcept
void setRegionModeOff ( )
privatenoexcept
void setMultiQuadrantArcModeOn ( )
privatenoexcept
void setMultiQuadrantArcModeOff ( )
privatenoexcept
void switchToLinearInterpolationModeG01 ( )
privatenoexcept
void switchToCircularCwInterpolationModeG02 ( )
privatenoexcept
void switchToCircularCcwInterpolationModeG03 ( )
privatenoexcept
void moveToPosition ( const Point pos)
privatenoexcept
void linearInterpolateToPosition ( const Point pos)
privatenoexcept
void circularInterpolateToPosition ( const Point start,
const Point center,
const Point end 
)
privatenoexcept

+ Here is the call graph for this function:

void flashAtPosition ( const Point pos)
privatenoexcept
void printHeader ( )
privatenoexcept

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void printApertureList ( )
privatenoexcept

+ Here is the caller graph for this function:

void printContent ( )
privatenoexcept

+ Here is the caller graph for this function:

void printFooter ( )
privatenoexcept

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

QString calcOutputMd5Checksum ( ) const
privatenoexcept

+ Here is the caller graph for this function:

QString escapeString ( const QString &  str)
staticprivatenoexcept

Member Data Documentation

QString mProjectId
private
Uuid mProjectUuid
private
QString mProjectRevision
private
QString mOutput
private
QString mContent
private
QScopedPointer<GerberApertureList> mApertureList
private
int mCurrentApertureNumber
private
bool mMultiQuadrantArcModeOn
private

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