26#ifndef NETLIST_EXPORTER_H
27#define NETLIST_EXPORTER_H
50 bool Lookup(
const wxString& aString )
52 std::pair<us_iterator, bool> pair =
m_set.insert( aString );
74 PIN_INFO(
const wxString& aPinNumber,
const wxString& aNetName ) :
93 wxASSERT( aSchematic );
101 virtual bool WriteNetlist(
const wxString& aOutFileName,
unsigned aNetlistOptions,
136 static wxString
MakeCommandLine(
const wxString& aFormatString,
const wxString& aNetlistFile,
137 const wxString& aFinalFile,
138 const wxString& aProjectDirectory );
151 bool aKeepUnconnectedPins );
185 std::vector<PIN_INFO>& aPins,
bool aKeepUnconnectedPins );
A base class for most all the KiCad significant classes used in schematics and boards.
Define a library symbol object.
An abstract class used for the netlist exporters that Eeschema supports.
virtual bool WriteNetlist(const wxString &aOutFileName, unsigned aNetlistOptions, REPORTER &aReporter)
Write to specified output file.
std::vector< PIN_INFO > CreatePinList(SCH_SYMBOL *aSymbol, const SCH_SHEET_PATH &aSheetPath, bool aKeepUnconnectedPins)
Find a symbol from the DrawList and builds its pin list.
virtual ~NETLIST_EXPORTER_BASE()=default
NETLIST_EXPORTER_BASE(SCHEMATIC_IFACE *aSchematic)
void findAllUnitsOfSymbol(SCH_SYMBOL *aSchSymbol, const SCH_SHEET_PATH &aSheetPath, std::vector< PIN_INFO > &aPins, bool aKeepUnconnectedPins)
Find all units for symbols with multiple symbols per package.
SCH_SYMBOL * findNextSymbol(EDA_ITEM *aItem, const SCH_SHEET_PATH &aSheetPath)
Check if the given symbol should be processed for netlisting.
std::set< LIB_SYMBOL *, LIB_SYMBOL_LESS_THAN > m_libParts
unique library symbols used. LIB_SYMBOL items are sorted by names
void eraseDuplicatePins(std::vector< PIN_INFO > &pins)
Erase duplicate pins.
UNIQUE_STRINGS m_referencesAlreadyFound
Used for "multiple symbols per package" symbols to avoid processing a lib symbol more than once.
static wxString MakeCommandLine(const wxString &aFormatString, const wxString &aNetlistFile, const wxString &aFinalFile, const wxString &aProjectDirectory)
Build up a string that describes a command line for executing a child process.
SCHEMATIC_IFACE * m_schematic
The schematic we're generating a netlist for.
A pure virtual class used to derive REPORTER objects from.
Handle access to a stack of flattened SCH_SHEET objects by way of a path for creating a flattened sch...
Track unique wxStrings and is useful in telling if a string has been seen before.
std::set< wxString > m_set
set of wxStrings already found
void Clear()
Erase the record.
bool Lookup(const wxString &aString)
std::set< wxString >::iterator us_iterator
Used by std:set<LIB_SYMBOL*> instantiation which uses LIB_SYMBOL name as its key.
bool operator()(LIB_SYMBOL *const &libsymbol1, LIB_SYMBOL *const &libsymbol2) const
PIN_INFO(const wxString &aPinNumber, const wxString &aNetName)