26 #ifndef NETLIST_EXPORTER_H 27 #define NETLIST_EXPORTER_H 59 bool Lookup(
const wxString& aString )
61 std::pair<us_iterator, bool> pair =
m_set.insert( aString );
83 PIN_INFO(
const wxString& aPinNumber,
const wxString& aNetName ) :
170 wxASSERT( aSchematic );
183 virtual bool WriteNetlist(
const wxString& aOutFileName,
unsigned aNetlistOptions )
217 static wxString
MakeCommandLine(
const wxString& aFormatString,
const wxString& aNetlistFile,
218 const wxString& aFinalFile,
const wxString& aProjectDirectory );
virtual bool WriteNetlist(const wxString &aOutFileName, unsigned aNetlistOptions)
Function WriteNetlist writes to specified output file.
bool Lookup(const wxString &aString)
Function Lookup returns true if aString already exists in the set, otherwise returns false and adds a...
LIB_ID GetLibId() const override
std::set< wxString > m_set
set of wxStrings already found
void CreatePinList(SCH_COMPONENT *aSymbol, SCH_SHEET_PATH *aSheetPath)
Function findNextSymbolAndCreatePinList finds a symbol from the DrawList and builds its pin list in m...
Holds all the data relating to one schematic A schematic may consist of one or more sheets (and one r...
std::vector< PIN_INFO > m_sortedSymbolPinList
Used to temporarily store and filter the list of pins of a schematic symbol when generating schematic...
void eraseDuplicatePins()
Function eraseDuplicatePins erase duplicate Pins from m_sortedSymbolPinList (i.e.
NETLIST_EXPORTER_BASE(SCHEMATIC *aSchematic)
Constructor.
PIN_INFO(const wxString &aPinNumber, const wxString &aNetName)
void Clear()
Function Clear erases the record.
void findAllUnitsOfSymbol(SCH_COMPONENT *aSymbol, LIB_PART *aPart, SCH_SHEET_PATH *aSheetPath)
Function findAllUnitsOfSymbol is used for "multiple parts per package" symbols.
std::set< LIB_PART *, LIB_PART_LESS_THAN > m_libParts
unique library parts used. LIB_PART items are sorted by names
UNIQUE_STRINGS m_referencesAlreadyFound
Used for "multiple parts per package" symbols to avoid processing a lib part more than once.
static wxString MakeCommandLine(const wxString &aFormatString, const wxString &aNetlistFile, const wxString &aFinalFile, const wxString &aProjectDirectory)
Function MakeCommandLine builds up a string that describes a command line for executing a child proce...
SCHEMATIC * m_schematic
The schematic we're generating a netlist for.
UNIQUE_STRINGS tracks unique wxStrings and is useful in telling if a string has been seen before.
SCH_COMPONENT * findNextSymbol(EDA_ITEM *aItem, SCH_SHEET_PATH *aSheetPath)
Checks if the given symbol should be processed for netlisting.
Define a library symbol object.
Handle access to a stack of flattened SCH_SHEET objects by way of a path for creating a flattened sch...
NETLIST_EXPORTER_BASE is a abstract class used for the netlist exporters that eeschema supports.
std::set< wxString >::iterator us_iterator
A base class for most all the KiCad significant classes used in schematics and boards.
virtual ~NETLIST_EXPORTER_BASE()
void SetCurrentSheet(const SCH_SHEET_PATH &aPath)
SCH_SHEET_PATH m_savedCurrentSheet
The schematic's CurrentSheet when we entered. Restore on exiting.
bool operator()(LIB_PART *const &libpart1, LIB_PART *const &libpart2) const
Struct LIB_PART_LESS_THAN is used by std:set<LIB_PART*> instantiation which uses LIB_PART name as its...
SCH_SHEET_PATH & CurrentSheet() const