KiCad PCB EDA Suite
GBR_NETLIST_METADATA Class Reference

this class handle info which can be added in a gerber file as attribute of an object the GBR_INFO_TYPE types can be OR'ed to add 2 (or more) attributes There are only 3 net attributes defined attached to an object by the TO command TO.P TO.N TO.C the .P attribute can be used only for flashed pads (using the D03 command) and only for external copper layers, if the component is on a external copper layer for other copper layer items (pads on internal layers, tracks ... More...

#include <gbr_netlist_metadata.h>

Public Types

enum  GBR_NETINFO_TYPE { GBR_NETINFO_UNSPECIFIED, GBR_NETINFO_PAD = 1, GBR_NETINFO_NET = 2, GBR_NETINFO_CMP = 4 }
 

Public Member Functions

 GBR_NETLIST_METADATA ()
 
void ClearExtraData ()
 Clear the extra data string printed at end of net attributes. More...
 
void SetExtraData (const wxString &aExtraData)
 Set the extra data string printed at end of net attributes. More...
 
void ClearAttribute (const wxString *aName)
 remove the net attribute specified by aName If aName == NULL or empty, remove all attributes More...
 

Public Attributes

int m_NetAttribType
 the type of net info (used to define the gerber string to create) More...
 
bool m_NotInNet
 true if a pad of a footprint cannot be connected (for instance a mechanical NPTH, ot a not named pad) in this case the pad net name is empty in gerber file More...
 
wxString m_Padname
 for a flashed pad: the pad name ((TO.P attribute) More...
 
wxString m_Cmpref
 the component reference parent of the data More...
 
wxString m_Netname
 for items associated to a net: the netname More...
 
wxString m_ExtraData
 a string to print after TO object attributes, if not empty it is printed "as this" More...
 
bool m_TryKeepPreviousAttributes
 If true, do not clear all attributes when a atribute has changed Usefull when some attributes need to be persistant. More...
 

Detailed Description

this class handle info which can be added in a gerber file as attribute of an object the GBR_INFO_TYPE types can be OR'ed to add 2 (or more) attributes There are only 3 net attributes defined attached to an object by the TO command TO.P TO.N TO.C the .P attribute can be used only for flashed pads (using the D03 command) and only for external copper layers, if the component is on a external copper layer for other copper layer items (pads on internal layers, tracks ...

), only .N and .C can be used

Definition at line 102 of file gbr_netlist_metadata.h.

Member Enumeration Documentation

◆ GBR_NETINFO_TYPE

Enumerator
GBR_NETINFO_UNSPECIFIED 

idle command (no command)

GBR_NETINFO_PAD 

print info associated to a flashed pad (TO.P attribute)

GBR_NETINFO_NET 

print info associated to a net (TO.N attribute)

GBR_NETINFO_CMP 

print info associated to a component (TO.C attribute)

Definition at line 108 of file gbr_netlist_metadata.h.

109  {
111  GBR_NETINFO_PAD = 1,
112  GBR_NETINFO_NET = 2,
113  GBR_NETINFO_CMP = 4
114  };
print info associated to a component (TO.C attribute)
print info associated to a flashed pad (TO.P attribute)
print info associated to a net (TO.N attribute)

Constructor & Destructor Documentation

◆ GBR_NETLIST_METADATA()

GBR_NETLIST_METADATA::GBR_NETLIST_METADATA ( )
inline

Definition at line 136 of file gbr_netlist_metadata.h.

137  m_NotInNet( false ), m_TryKeepPreviousAttributes( false )
138  {
139  }
bool m_TryKeepPreviousAttributes
If true, do not clear all attributes when a atribute has changed Usefull when some attributes need to...
bool m_NotInNet
true if a pad of a footprint cannot be connected (for instance a mechanical NPTH, ot a not named pad)...
int m_NetAttribType
the type of net info (used to define the gerber string to create)

Member Function Documentation

◆ ClearAttribute()

void GBR_NETLIST_METADATA::ClearAttribute ( const wxString *  aName)
inline

remove the net attribute specified by aName If aName == NULL or empty, remove all attributes

Parameters
aNameis the name (.CN, .P .N or .C) of the attribute to remove

Definition at line 160 of file gbr_netlist_metadata.h.

161  {
163  {
164  m_Padname.clear();
165  m_Cmpref.clear();
166  m_Netname.clear();
167  return;
168  }
169 
170  if( !aName || aName->IsEmpty() || *aName == ".CN" )
171  {
173  m_Padname.clear();
174  m_Cmpref.clear();
175  m_Netname.clear();
176  return;
177  }
178 
179  if( *aName == ".C" )
180  {
182  m_Cmpref.clear();
183  return;
184  }
185 
186  if( *aName == ".N" )
187  {
189  m_Netname.clear();
190  return;
191  }
192 
193  if( *aName == ".P" )
194  {
196  m_Padname.clear();
197  return;
198  }
199  }
print info associated to a component (TO.C attribute)
wxString m_Cmpref
the component reference parent of the data
wxString m_Padname
for a flashed pad: the pad name ((TO.P attribute)
wxString m_Netname
for items associated to a net: the netname
print info associated to a flashed pad (TO.P attribute)
print info associated to a net (TO.N attribute)
int m_NetAttribType
the type of net info (used to define the gerber string to create)

References GBR_NETINFO_CMP, GBR_NETINFO_NET, GBR_NETINFO_PAD, GBR_NETINFO_UNSPECIFIED, m_Cmpref, m_NetAttribType, m_Netname, and m_Padname.

Referenced by GERBER_FILE_IMAGE::RemoveAttribute().

◆ ClearExtraData()

void GBR_NETLIST_METADATA::ClearExtraData ( )
inline

Clear the extra data string printed at end of net attributes.

Definition at line 143 of file gbr_netlist_metadata.h.

144  {
145  m_ExtraData.Clear();
146  }
wxString m_ExtraData
a string to print after TO object attributes, if not empty it is printed "as this"

References m_ExtraData.

Referenced by PLACEFILE_GERBER_WRITER::CreatePlaceFile().

◆ SetExtraData()

void GBR_NETLIST_METADATA::SetExtraData ( const wxString &  aExtraData)
inline

Set the extra data string printed at end of net attributes.

Definition at line 150 of file gbr_netlist_metadata.h.

151  {
152  m_ExtraData = aExtraData;
153  }
wxString m_ExtraData
a string to print after TO object attributes, if not empty it is printed "as this"

References m_ExtraData.

Referenced by PLACEFILE_GERBER_WRITER::CreatePlaceFile().

Member Data Documentation

◆ m_Cmpref

◆ m_ExtraData

wxString GBR_NETLIST_METADATA::m_ExtraData

a string to print after TO object attributes, if not empty it is printed "as this"

Definition at line 126 of file gbr_netlist_metadata.h.

Referenced by ClearExtraData(), GERBER_PLOTTER::formatNetAttribute(), and SetExtraData().

◆ m_NetAttribType

int GBR_NETLIST_METADATA::m_NetAttribType

◆ m_Netname

◆ m_NotInNet

bool GBR_NETLIST_METADATA::m_NotInNet

true if a pad of a footprint cannot be connected (for instance a mechanical NPTH, ot a not named pad) in this case the pad net name is empty in gerber file

Definition at line 119 of file gbr_netlist_metadata.h.

Referenced by FormatNetAttribute(), BRDITEMS_PLOTTER::PlotPad(), and PlotStandardLayer().

◆ m_Padname

wxString GBR_NETLIST_METADATA::m_Padname

for a flashed pad: the pad name ((TO.P attribute)

Definition at line 122 of file gbr_netlist_metadata.h.

Referenced by ClearAttribute(), GERBER_FILE_IMAGE::ExecuteRS274XCommand(), FormatNetAttribute(), GERBER_DRAW_ITEM::GetMsgPanelInfo(), and GBR_METADATA::SetPadName().

◆ m_TryKeepPreviousAttributes

bool GBR_NETLIST_METADATA::m_TryKeepPreviousAttributes

If true, do not clear all attributes when a atribute has changed Usefull when some attributes need to be persistant.

If false, attributes will be cleared if only one attribute cleared This is a more secure way to set attributes, when all attribute changess are not safely managed

Definition at line 133 of file gbr_netlist_metadata.h.

Referenced by PLACEFILE_GERBER_WRITER::CreatePlaceFile(), and FormatNetAttribute().


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