41        return wxString( wxT( 
"gbr" ) );
 
 
   47    virtual bool StartPlot( 
const wxString& pageNumber ) 
override;
 
   48    virtual bool EndPlot() 
override;
 
   60                              double aScale, 
bool aMirror ) 
override;
 
   66                       int aCornerRadius = 0 ) 
override;
 
   71                      const EDA_ANGLE& aAngle, 
double aRadius, 
FILL_T aFill, 
int aWidth ) 
override;
 
   75                               void* aData ) 
override;
 
   78                            void* aData ) 
override;
 
   80    virtual void ThickCircle( 
const VECTOR2I& pos, 
int diametre, 
int width, 
void* aData ) 
override;
 
   90    virtual void PlotPoly( 
const std::vector<VECTOR2I>& aCornerList, 
FILL_T aFill, 
int aWidth,
 
   91                           void* aData ) 
override;
 
   94                           void* aData ) 
override;
 
  103    virtual void PenTo( 
const VECTOR2I& pos, 
char plume ) 
override;
 
  107                       const wxString&        aText,
 
  115                       bool                   aMultilineAllowed,
 
  118                       void*                  aData = 
nullptr ) 
override;
 
  123                           const wxString&        aText,
 
  127                           void*                  aData = 
nullptr ) 
override;
 
  135                               const EDA_ANGLE& aOrient, 
void* aData ) 
override;
 
  138                               const EDA_ANGLE& aOrient, 
void* aData ) 
override;
 
  141                                    int aCornerRadius, 
const EDA_ANGLE& aOrient,
 
  142                                    void* aData ) 
override;
 
  145                                 void* aData ) 
override;
 
  148                                 const EDA_ANGLE& aPadOrient, 
void* aData ) 
override;
 
  151                                      const EDA_ANGLE& aOrient, 
void* aData ) 
override;
 
  170                                   int aCornerRadius, 
double aChamferRatio, 
int aChamferPositions,
 
  171                                   const EDA_ANGLE& aPadOrient, 
void* aData );
 
  219    virtual void StartBlock( 
void* aData ) 
override;
 
  228    virtual void EndBlock( 
void* aData ) 
override;
 
  249                             const std::string& aCustomAttribute );
 
  263                             const std::string& aCustomAttribute );
 
  267                           const EDA_ANGLE& aAngle, 
double aRadius, 
int aWidth, 
void* aData ) 
override;
 
  281                                int aCornerRadius, 
const EDA_ANGLE& aOrient );
 
  293                  double aRadius, 
bool aPlotInRegion );
 
  303                         const std::string& aCustomAttribute );
 
  313                         const std::string& aCustomAttribute );
 
 
virtual void SetColor(const COLOR4D &aColor) override
 
virtual void FlashPadRect(const VECTOR2I &aPadPos, const VECTOR2I &aSize, const EDA_ANGLE &aOrient, void *aData) override
 
bool m_hasApertureRotRect
 
std::string m_objectAttributesDictionary
 
virtual void ThickSegment(const VECTOR2I &start, const VECTOR2I &end, int width, void *aData) override
 
virtual void SetGerberCoordinatesFormat(int aResolution, bool aUseInches=false) override
Selection of Gerber units and resolution (number of digits in mantissa).
 
void FlashPadChamferRoundRect(const VECTOR2I &aShapePos, const VECTOR2I &aPadSize, int aCornerRadius, double aChamferRatio, int aChamferPositions, const EDA_ANGLE &aPadOrient, void *aData)
Flash a chamfered round rect pad.
 
void ClearAllAttributes()
Remove (clear) all attributes from object attributes dictionary (TO.
 
bool m_hasApertureRotOval
 
int GetOrCreateAperture(const VECTOR2I &aSize, int aRadius, const EDA_ANGLE &aRotation, APERTURE::APERTURE_TYPE aType, int aApertureAttribute, const std::string &aCustomAttribute)
 
virtual void ThickPoly(const SHAPE_POLY_SET &aPoly, int aWidth, void *aData) override
 
void PlotPolyAsRegion(const SHAPE_LINE_CHAIN &aPoly, FILL_T aFill, int aWidth, GBR_METADATA *aGbrMetadata)
Similar to PlotPoly(), plot a filled polygon using Gerber region, therefore adding X2 attributes to t...
 
virtual void FlashPadCircle(const VECTOR2I &pos, int diametre, void *aData) override
Filled circular flashes are stored as apertures.
 
virtual void FlashPadRoundRect(const VECTOR2I &aPadPos, const VECTOR2I &aSize, int aCornerRadius, const EDA_ANGLE &aOrient, void *aData) override
 
virtual void PenTo(const VECTOR2I &pos, char plume) override
Moveto/lineto primitive, moves the 'pen' to the specified direction.
 
void selectAperture(const VECTOR2I &aSize, int aRadius, const EDA_ANGLE &aRotation, APERTURE::APERTURE_TYPE aType, int aApertureAttribute, const std::string &aCustomAttribute)
Pick an existing aperture or create a new one, matching the size, type and attributes.
 
void emitDcode(const VECTOR2D &pt, int dcode)
Emit a D-Code record, using proper conversions to format a leading zero omitted gerber coordinate.
 
virtual void FlashRegularPolygon(const VECTOR2I &aShapePos, int aDiameter, int aCornerCount, const EDA_ANGLE &aOrient, void *aData) override
Flash a regular polygon.
 
APER_MACRO_FREEPOLY_LIST m_am_freepoly_list
 
virtual void PlotPoly(const std::vector< VECTOR2I > &aCornerList, FILL_T aFill, int aWidth, void *aData) override
Gerber polygon: they can (and should) be filled with the appropriate G36/G37 sequence.
 
virtual void FlashPadOval(const VECTOR2I &aPadPos, const VECTOR2I &aSize, const EDA_ANGLE &aOrient, void *aData) override
 
std::vector< APERTURE > m_apertures
 
bool m_hasApertureChamferedRect
 
virtual void FlashPadTrapez(const VECTOR2I &aPadPos, const VECTOR2I *aCorners, const EDA_ANGLE &aPadOrient, void *aData) override
Flash a trapezoidal pad.
 
bool m_hasApertureOutline4P
 
virtual void SetCurrentLineWidth(int aLineWidth, void *aData=nullptr) override
Set the line width for the next drawing.
 
virtual void SetDash(int aLineWidth, LINE_STYLE aLineStyle) override
 
void writeApertureList()
Generate the table of D codes.
 
void plotRoundRectAsRegion(const VECTOR2I &aRectCenter, const VECTOR2I &aSize, int aCornerRadius, const EDA_ANGLE &aOrient)
Plot a round rect (a round rect shape in fact) as a Gerber region using lines and arcs for corners.
 
virtual void PlotText(const VECTOR2I &aPos, const COLOR4D &aColor, const wxString &aText, const TEXT_ATTRIBUTES &aAttributes, KIFONT::FONT *aFont, const KIFONT::METRICS &aFontMetrics, void *aData=nullptr) override
 
virtual void Circle(const VECTOR2I &pos, int diametre, FILL_T fill, int width) override
 
virtual void Arc(const VECTOR2D &aCenter, const EDA_ANGLE &aStartAngle, const EDA_ANGLE &aAngle, double aRadius, FILL_T aFill, int aWidth) override
 
bool m_hasApertureRoundRect
 
static wxString GetDefaultFileExtension()
 
bool m_gerberDisableApertMacros
 
virtual void SetViewport(const VECTOR2I &aOffset, double aIusPerDecimil, double aScale, bool aMirror) override
Set the plot offset and scaling for the current plot.
 
virtual bool EndPlot() override
 
void formatNetAttribute(GBR_NETLIST_METADATA *aData)
Print a Gerber net attribute object record.
 
void selectApertureWithAttributes(const VECTOR2I &aPos, GBR_METADATA *aGbrMetadata, VECTOR2I aSize, int aRadius, const EDA_ANGLE &aAngle, APERTURE::APERTURE_TYPE aType)
Pick an aperture or create a new one and emits the DCode.
 
virtual PLOT_FORMAT GetPlotterType() const override
Return the effective plot engine in use.
 
void UseX2format(bool aEnable)
 
virtual void ThickRect(const VECTOR2I &p1, const VECTOR2I &p2, int width, void *aData) override
 
virtual void SetLayerPolarity(bool aPositive) override
Change the plot polarity and begin a new layer.
 
void UseX2NetAttributes(bool aEnable)
 
void PlotGerberRegion(const std::vector< VECTOR2I > &aCornerList, GBR_METADATA *aGbrMetadata)
Plot a Gerber region: similar to PlotPoly but plot only filled polygon, and add the TA....
 
virtual void FlashPadCustom(const VECTOR2I &aPadPos, const VECTOR2I &aSize, const EDA_ANGLE &aPadOrient, SHAPE_POLY_SET *aPolygons, void *aData) override
 
virtual void EndBlock(void *aData) override
Define the end of a group of drawing items the group is started by StartBlock().
 
void clearNetAttribute()
Clear a Gerber net attribute record (clear object attribute dictionary) and output the clear object a...
 
virtual void StartBlock(void *aData) override
Calling this function allows one to define the beginning of a group of drawing items (used in X2 form...
 
virtual void Rect(const VECTOR2I &p1, const VECTOR2I &p2, FILL_T fill, int width, int aCornerRadius=0) override
 
virtual void ThickArc(const VECTOR2D &aCentre, const EDA_ANGLE &aStartAngle, const EDA_ANGLE &aAngle, double aRadius, int aWidth, void *aData) override
 
virtual bool StartPlot(const wxString &pageNumber) override
Write GERBER header to file initialize global variable g_Plot_PlotOutputFile.
 
virtual void FilledCircle(const VECTOR2I &pos, int diametre, void *aData) override
 
void plotArc(const VECTOR2I &aCenter, const EDA_ANGLE &aStartAngle, const EDA_ANGLE &aEndAngle, double aRadius, bool aPlotInRegion)
Plot a Gerber arc.
 
virtual void Text(const VECTOR2I &aPos, const COLOR4D &aColor, const wxString &aText, const EDA_ANGLE &aOrient, const VECTOR2I &aSize, enum GR_TEXT_H_ALIGN_T aH_justify, enum GR_TEXT_V_ALIGN_T aV_justify, int aWidth, bool aItalic, bool aBold, bool aMultilineAllowed, KIFONT::FONT *aFont, const KIFONT::METRICS &aFontMetrics, void *aData=nullptr) override
Draw text with the plotter.
 
virtual void ThickCircle(const VECTOR2I &pos, int diametre, int width, void *aData) override
 
void DisableApertMacros(bool aDisable)
Disable Aperture Macro (AM) command, only for broken Gerber Readers.
 
FONT is an abstract base class for both outline and stroke fonts.
 
A color representation with 4 components: red, green, blue, alpha.
 
PLOTTER(const PROJECT *aProject=nullptr)
 
Represent a polyline containing arcs as well as line segments: A chain of connected line and/or arc s...
 
Represent a set of closed polygons.
 
PLOT_FORMAT
The set of supported output plot formats.
 
LINE_STYLE
Dashed line types.
 
GR_TEXT_H_ALIGN_T
This is API surface mapped to common.types.HorizontalAlignment.
 
GR_TEXT_V_ALIGN_T
This is API surface mapped to common.types.VertialAlignment.
 
VECTOR2< int32_t > VECTOR2I
 
VECTOR2< double > VECTOR2D