KiCad PCB EDA Suite
|
A SCH_IO derivation for loading 6.x+ Eagle schematic files. More...
#include <sch_io_eagle.h>
Classes | |
struct | EAGLE_MISSING_CMP |
Map references to missing symbol units data. More... | |
struct | SEG_DESC |
Segments representing wires for intersection checking. More... | |
Public Member Functions | |
SCH_IO_EAGLE () | |
~SCH_IO_EAGLE () | |
const IO_BASE::IO_FILE_DESC | GetSchematicFileDesc () const override |
Returns schematic file description for the SCH_IO. | |
const IO_BASE::IO_FILE_DESC | GetLibraryDesc () const override |
Get the descriptor for the library container that this IO plugin operates on. | |
bool | CanReadSchematicFile (const wxString &aFileName) const override |
Checks if this SCH_IO can read the specified schematic file. | |
bool | CanReadLibrary (const wxString &aFileName) const override |
Checks if this IO object can read the specified library file/directory. | |
int | GetModifyHash () const override |
Return the modification hash from the library cache. | |
SCH_SHEET * | LoadSchematicFile (const wxString &aFileName, SCHEMATIC *aSchematic, SCH_SHEET *aAppendToMe=nullptr, const std::map< std::string, UTF8 > *aProperties=nullptr) override |
Load information from some input file format that this SCH_IO implementation knows about, into either a new SCH_SHEET or an existing one. | |
void | EnumerateSymbolLib (wxArrayString &aSymbolNameList, const wxString &aLibraryPath, const std::map< std::string, UTF8 > *aProperties) override |
Populate a list of LIB_SYMBOL alias names contained within the library aLibraryPath. | |
void | EnumerateSymbolLib (std::vector< LIB_SYMBOL * > &aSymbolList, const wxString &aLibraryPath, const std::map< std::string, UTF8 > *aProperties) override |
Populate a list of LIB_SYMBOL aliases contained within the library aLibraryPath. | |
LIB_SYMBOL * | LoadSymbol (const wxString &aLibraryPath, const wxString &aAliasName, const std::map< std::string, UTF8 > *aProperties) override |
Load a LIB_SYMBOL object having aPartName from the aLibraryPath containing a library format that this SCH_IO knows about. | |
bool | IsLibraryWritable (const wxString &aLibraryPath) override |
Return true if the library at aLibraryPath is writable. | |
virtual void | SaveLibrary (const wxString &aFileName, const std::map< std::string, UTF8 > *aProperties=nullptr) |
virtual void | SaveSchematicFile (const wxString &aFileName, SCH_SHEET *aSheet, SCHEMATIC *aSchematic, const std::map< std::string, UTF8 > *aProperties=nullptr) |
Write aSchematic to a storage file in a format that this SCH_IO implementation knows about, or it can be used to write a portion of aSchematic to a special kind of export file. | |
virtual void | SaveSymbol (const wxString &aLibraryPath, const LIB_SYMBOL *aSymbol, const std::map< std::string, UTF8 > *aProperties=nullptr) |
Write aSymbol to an existing library located at aLibraryPath. | |
virtual void | DeleteSymbol (const wxString &aLibraryPath, const wxString &aSymbolName, const std::map< std::string, UTF8 > *aProperties=nullptr) |
Delete the entire LIB_SYMBOL associated with aAliasName from the library aLibraryPath. | |
virtual void | GetLibraryOptions (std::map< std::string, UTF8 > *aListToAppendTo) const override |
Append supported SCH_IO options to aListToAppenTo along with internationalized descriptions. | |
virtual bool | SupportsSubLibraries () const |
virtual void | GetSubLibraryNames (std::vector< wxString > &aNames) |
Retrieves a list of sub-libraries in this library. | |
virtual wxString | GetSubLibraryDescription (const wxString &aName) |
Gets a description of a sublibrary. | |
virtual void | GetAvailableSymbolFields (std::vector< wxString > &aNames) |
Retrieves a list of (custom) field names that are present on symbols in this library. | |
virtual void | GetDefaultSymbolFields (std::vector< wxString > &aNames) |
Retrieves a list of (custom) field names that should be shown by default for this library in the symbol chooser. | |
virtual const wxString & | GetError () const |
Return an error string to the caller. | |
virtual void | SetLibTable (SYMBOL_LIB_TABLE *aTable) |
Some library plugins need to have access to their parent library table. | |
const wxString & | GetName () const |
Return a brief hard coded name for this IO interface. | |
virtual void | SetReporter (REPORTER *aReporter) |
Set an optional reporter for warnings/errors. | |
virtual void | SetProgressReporter (PROGRESS_REPORTER *aReporter) |
Set an optional progress reporter. | |
virtual const IO_FILE_DESC | GetLibraryFileDesc () const |
Get the descriptor for the individual library elements that this IO plugin operates on. | |
virtual void | CreateLibrary (const wxString &aLibraryPath, const std::map< std::string, UTF8 > *aProperties=nullptr) |
Create a new empty library at aLibraryPath empty. | |
virtual bool | DeleteLibrary (const wxString &aLibraryPath, const std::map< std::string, UTF8 > *aProperties=nullptr) |
Delete an existing library and returns true, or if library does not exist returns false, or throws an exception if library exists but is read only or cannot be deleted for some other reason. | |
virtual void | Report (const wxString &aText, SEVERITY aSeverity=RPT_SEVERITY_UNDEFINED) |
virtual void | AdvanceProgressPhase () |
Public Attributes | |
const double | ARC_ACCURACY = SCH_IU_PER_MM * 0.01 |
Protected Attributes | |
wxString | m_name |
Name of the IO loader. | |
REPORTER * | m_reporter |
Reporter to log errors/warnings to, may be nullptr. | |
PROGRESS_REPORTER * | m_progressReporter |
Progress reporter to track the progress of the operation, may be nullptr. | |
Private Member Functions | |
bool | checkHeader (const wxString &aFileName) const |
wxXmlDocument | loadXmlDocument (const wxString &aFileName) |
long long | getLibraryTimestamp (const wxString &aLibraryPath) const |
void | ensureLoadedLibrary (const wxString &aLibraryPath) |
void | loadDrawing (const std::unique_ptr< EDRAWING > &aDrawing) |
void | loadLayerDefs (const std::vector< std::unique_ptr< ELAYER > > &aLayers) |
void | loadSchematic (const ESCHEMATIC &aSchematic) |
void | loadSheet (const std::unique_ptr< ESHEET > &aSheet) |
void | loadInstance (const std::unique_ptr< EINSTANCE > &aInstance, const std::map< wxString, std::unique_ptr< EPART > > &aParts) |
SCH_SHEET * | loadModuleInstance (const std::unique_ptr< EMODULEINST > &aModuleInstance) |
EAGLE_LIBRARY * | loadLibrary (const ELIBRARY *aLibrary, EAGLE_LIBRARY *aEagleLib) |
void | countNets (const ESCHEMATIC &aSchematic) |
void | moveLabels (SCH_LINE *aWire, const VECTOR2I &aNewEndPoint) |
Move any labels on the wire to the new end point of the wire. | |
void | addBusEntries () |
This function finds best way to place a bus entry symbol for when an Eagle wire segment ends on an Eagle bus segment. | |
SCH_LAYER_ID | kiCadLayer (int aEagleLayer) |
Return the matching layer or return LAYER_NOTES. | |
std::pair< VECTOR2I, const SEG * > | findNearestLinePoint (const VECTOR2I &aPoint, const std::vector< SEG > &aLines) const |
void | loadSegments (const std::vector< std::unique_ptr< ESEGMENT > > &aSegments, const wxString &aNetName, const wxString &aNetClass) |
SCH_SHAPE * | loadPolyLine (const std::unique_ptr< EPOLYGON > &aPolygon) |
SCH_ITEM * | loadWire (const std::unique_ptr< EWIRE > &aWire, SEG &endpoints) |
SCH_SHAPE * | loadCircle (const std::unique_ptr< ECIRCLE > &aCircle) |
SCH_SHAPE * | loadRectangle (const std::unique_ptr< ERECT > &aRect) |
SCH_TEXT * | loadLabel (const std::unique_ptr< ELABEL > &aLabel, const wxString &aNetName) |
SCH_JUNCTION * | loadJunction (const std::unique_ptr< EJUNCTION > &aJunction) |
SCH_TEXT * | loadPlainText (const std::unique_ptr< ETEXT > &aSchText) |
void | loadFrame (const std::unique_ptr< EFRAME > &aFrame, std::vector< SCH_ITEM * > &aItems) |
bool | loadSymbol (const std::unique_ptr< ESYMBOL > &aEsymbol, std::unique_ptr< LIB_SYMBOL > &aSymbol, const std::unique_ptr< EDEVICE > &aDevice, int aGateNumber, const wxString &aGateName) |
SCH_SHAPE * | loadSymbolCircle (std::unique_ptr< LIB_SYMBOL > &aSymbol, const std::unique_ptr< ECIRCLE > &aCircle, int aGateNumber) |
SCH_SHAPE * | loadSymbolRectangle (std::unique_ptr< LIB_SYMBOL > &aSymbol, const std::unique_ptr< ERECT > &aRectangle, int aGateNumber) |
SCH_SHAPE * | loadSymbolPolyLine (std::unique_ptr< LIB_SYMBOL > &aSymbol, const std::unique_ptr< EPOLYGON > &aPolygon, int aGateNumber) |
SCH_ITEM * | loadSymbolWire (std::unique_ptr< LIB_SYMBOL > &aSymbol, const std::unique_ptr< EWIRE > &aWire, int aGateNumber) |
SCH_PIN * | loadPin (std::unique_ptr< LIB_SYMBOL > &aSymbol, const std::unique_ptr< EPIN > &aPin, int aGateNumber) |
SCH_TEXT * | loadSymbolText (std::unique_ptr< LIB_SYMBOL > &aSymbol, const std::unique_ptr< ETEXT > &aText, int aGateNumber) |
void | loadTextAttributes (EDA_TEXT *aText, const std::unique_ptr< ETEXT > &aAttributes) const |
void | loadFieldAttributes (SCH_FIELD *aField, const SCH_TEXT *aText) const |
Move net labels that are detached from any wire to the nearest wire. | |
void | adjustNetLabels () |
wxString | translateEagleBusName (const wxString &aEagleName) const |
Translate an Eagle-style bus name into one that is KiCad-compatible. | |
wxString | getLibName () |
wxFileName | getLibFileName () |
Checks if there are other wires or pins at the position of the tested pin. | |
bool | checkConnections (const SCH_SYMBOL *aSymbol, const SCH_PIN *aPin) const |
void | addImplicitConnections (SCH_SYMBOL *aSymbol, SCH_SCREEN *aScreen, bool aUpdateSet) |
Create net labels to emulate implicit connections in Eagle. | |
bool | netHasPowerDriver (SCH_LINE *aLine, const wxString &aNetName) const |
void | getEagleSymbolFieldAttributes (const std::unique_ptr< EINSTANCE > &aInstance, const wxString &aEagleFieldName, SCH_FIELD *aField) |
const ESYMBOL * | getEagleSymbol (const std::unique_ptr< EINSTANCE > &aInstance) |
SCH_SHEET * | getCurrentSheet () |
SCH_SCREEN * | getCurrentScreen () |
Private Attributes | |
std::map< wxString, EAGLE_MISSING_CMP > | m_missingCmps |
SCH_SHEET * | m_rootSheet |
The root sheet of the schematic being loaded. | |
SCH_SHEET_PATH | m_sheetPath |
The current sheet path of the schematic being loaded. | |
wxString | m_version |
Eagle file version. | |
wxFileName | m_filename |
wxString | m_libName |
Library name to save symbols. | |
SCHEMATIC * | m_schematic |
Passed to Load(), the schematic object being loaded. | |
EMODULE * | m_module |
The current module being loaded or nullptr. | |
std::map< wxString, const EPART * > | m_partlist |
std::map< wxString, long long > | m_timestamps |
std::map< wxString, EAGLE_LIBRARY > | m_eagleLibs |
std::map< wxString, std::unique_ptr< EMODULE > > | m_eagleModules |
std::unordered_map< wxString, bool > | m_userValue |
deviceset/@uservalue for device. | |
IO_RELEASER< SCH_IO > | m_pi |
PI to create KiCad symbol library. | |
std::unique_ptr< std::map< std::string, UTF8 > > | m_properties |
Library plugin properties. | |
int | m_sheetIndex |
std::map< wxString, int > | m_netCounts |
std::map< int, SCH_LAYER_ID > | m_layerMap |
std::map< wxString, wxString > | m_powerPorts |
map from symbol reference to global label equivalent | |
std::vector< VECTOR2I > | m_wireIntersections |
Wires and labels of a single connection (segment in Eagle nomenclature) | |
std::vector< SEG_DESC > | m_segments |
Nets as defined in the <nets> sections of an Eagle schematic file. | |
std::map< wxString, ENET > | m_nets |
Positions of pins and wire endings mapped to its parent. | |
std::map< VECTOR2I, std::set< const EDA_ITEM * > > | m_connPoints |
The fully parsed Eagle schematic file. | |
std::unique_ptr< EAGLE_DOC > | m_eagleDoc |
A SCH_IO derivation for loading 6.x+ Eagle schematic files.
As with all SCH_IO objects there are no UI dependencies i.e. windowing calls allowed.
Definition at line 78 of file sch_io_eagle.h.
SCH_IO_EAGLE::SCH_IO_EAGLE | ( | ) |
Definition at line 319 of file sch_io_eagle.cpp.
References WXLOG_REPORTER::GetInstance(), and IO_BASE::m_reporter.
SCH_IO_EAGLE::~SCH_IO_EAGLE | ( | ) |
Definition at line 329 of file sch_io_eagle.cpp.
|
private |
This function finds best way to place a bus entry symbol for when an Eagle wire segment ends on an Eagle bus segment.
Definition at line 2729 of file sch_io_eagle.cpp.
References SCH_SCREEN::Append(), ERC_ITEM::Create(), DEFAULT_SCH_ENTRY_SIZE, ERCE_BUS_ENTRY_NEEDED, getCurrentScreen(), IS_NEW, SCH_LINE::IsBus(), SCH_LINE::IsWire(), SCH_SCREEN::Items(), EDA_IU_SCALE::MilsToIU(), moveLabels(), EE_RTREE::OfType(), SCH_LINE_T, schIUScale, EDA_ITEM::SetFlags(), TestSegmentHit(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by loadSheet().
|
private |
Create net labels to emulate implicit connections in Eagle.
Each named power input pin creates an implicit connection in Eagle. To emulate this behavior one needs to attach global net labels to the mentioned pins. This is is also expected for the units that are not instantiated in the schematics, therefore such units need to be stored in order to create them at later stage.
aSymbol | is the symbol to process. |
aScreen | is the screen where net labels should be added. |
aUpdateSet | decides whether the missing units data should be updated. |
Definition at line 3315 of file sch_io_eagle.cpp.
References SCH_SCREEN::Append(), SPIN_STYLE::BOTTOM, checkConnections(), SCH_IO_EAGLE::EAGLE_MISSING_CMP::cmp, extractNetName(), SCH_SYMBOL::GetField(), SCH_SYMBOL::GetLibSymbolRef(), SCH_SYMBOL::GetPinPhysicalPosition(), EDA_TEXT::GetText(), SCH_ITEM::GetUnit(), SPIN_STYLE::LEFT, m_missingCmps, EDA_IU_SCALE::MilsToIU(), pin, REFERENCE_FIELD, SPIN_STYLE::RIGHT, schIUScale, SCH_LABEL_BASE::SetPosition(), SCH_GLOBALLABEL::SetSpinStyle(), EDA_TEXT::SetText(), EDA_TEXT::SetTextSize(), SCH_IO_EAGLE::EAGLE_MISSING_CMP::units, and SPIN_STYLE::UP.
Referenced by loadSchematic(), and loadSheet().
|
private |
Definition at line 2595 of file sch_io_eagle.cpp.
References SEG::A, SEG::B, SEG::Contains(), findNearestLinePoint(), SCH_TEXT::GetPosition(), m_segments, m_wireIntersections, EDA_IU_SCALE::MilsToIU(), move, VECTOR2< T >::Resize(), schIUScale, and SCH_TEXT::SetPosition().
Referenced by loadSheet().
|
virtualinherited |
Definition at line 131 of file io_base.cpp.
References _, PROGRESS_REPORTER::AdvancePhase(), PROGRESS_REPORTER::KeepRefreshing(), IO_BASE::m_progressReporter, and THROW_IO_ERROR.
Referenced by EAGLE_BASE::AdvanceProgressPhase().
|
overridevirtual |
Checks if this IO object can read the specified library file/directory.
If not overriden, extension check is used.
Reimplemented from IO_BASE.
Definition at line 2679 of file sch_io_eagle.cpp.
References IO_BASE::CanReadLibrary(), and checkHeader().
|
overridevirtual |
Checks if this SCH_IO can read the specified schematic file.
If not overriden, extension check is used.
Reimplemented from SCH_IO.
Definition at line 2670 of file sch_io_eagle.cpp.
References SCH_IO::CanReadSchematicFile(), and checkHeader().
|
private |
Definition at line 3297 of file sch_io_eagle.cpp.
References SCH_SYMBOL::GetPinPhysicalPosition(), and m_connPoints.
Referenced by addImplicitConnections().
|
private |
Definition at line 2688 of file sch_io_eagle.cpp.
References text.
Referenced by CanReadLibrary(), and CanReadSchematicFile().
|
private |
Definition at line 616 of file sch_io_eagle.cpp.
References m_netCounts, ESCHEMATIC::modules, and ESCHEMATIC::sheets.
Referenced by loadSchematic().
|
virtualinherited |
Create a new empty library at aLibraryPath empty.
It is an error to attempt to create an existing library or to attempt to create on a "read only" location.
aLibraryPath | is a locator for the "library", usually a directory, file, or URL containing several elements. |
aProperties | is an associative array that can be used to tell the library create function anything special, because it can take any number of additional named tuning arguments that the IO is known to support. The caller continues to own this object (IO may not delete it), and IOs should expect it to be optionally NULL. |
IO_ERROR | if there is a problem finding the library, or creating it. |
Reimplemented in DESIGN_BLOCK_IO, SCH_IO_KICAD_LEGACY, SCH_IO_KICAD_SEXPR, and PCB_IO_KICAD_SEXPR.
Definition at line 46 of file io_base.cpp.
References NOT_IMPLEMENTED.
|
virtualinherited |
Delete an existing library and returns true, or if library does not exist returns false, or throws an exception if library exists but is read only or cannot be deleted for some other reason.
aLibraryPath | is a locator for the "library", usually a directory or file which will contain several elements. |
aProperties | is an associative array that can be used to tell the library delete implementation function anything special, because it can take any number of additional named tuning arguments that the plugin is known to support. The caller continues to own this object (plugin may not delete it), and plugins should expect it to be optionally NULL. |
IO_ERROR | if there is a problem deleting an existing library. |
Reimplemented in DESIGN_BLOCK_IO, SCH_IO_KICAD_LEGACY, SCH_IO_KICAD_SEXPR, PCB_IO_GEDA, PCB_IO_KICAD_LEGACY, and PCB_IO_KICAD_SEXPR.
Definition at line 52 of file io_base.cpp.
References NOT_IMPLEMENTED.
|
virtualinherited |
Delete the entire LIB_SYMBOL associated with aAliasName from the library aLibraryPath.
aLibraryPath | is a locator for the "library", usually a directory, file, or URL containing several symbols. |
aSymbolName | is the name of a LIB_SYMBOL associated with it's root LIB_SYMBOL object to delete from the specified library. |
aProperties | is an associative array that can be used to tell the library delete function anything special, because it can take any number of additional named tuning arguments that the plugin is known to support. The caller continues to own this object (plugin may not delete it), and plugins should expect it to be optionally NULL. |
IO_ERROR | if there is a problem finding the alias or the library or deleting it. |
Reimplemented in SCH_IO_KICAD_LEGACY, and SCH_IO_KICAD_SEXPR.
Definition at line 116 of file sch_io.cpp.
References NOT_IMPLEMENTED.
Referenced by LIB_BUFFER::SaveBuffer().
|
private |
Definition at line 524 of file sch_io_eagle.cpp.
References _, getLibraryTimestamp(), PROGRESS_REPORTER::KeepRefreshing(), loadDrawing(), loadXmlDocument(), m_eagleLibs, m_filename, m_libName, IO_BASE::m_progressReporter, m_timestamps, m_version, PROGRESS_REPORTER::Report(), fontconfig::FONTCONFIG::SetReporter(), and THROW_IO_ERROR.
Referenced by EnumerateSymbolLib(), and LoadSymbol().
|
overridevirtual |
Populate a list of LIB_SYMBOL aliases contained within the library aLibraryPath.
aSymbolList | is an array to populate with the LIB_SYMBOL pointers associated with the library. |
aLibraryPath | is a locator for the "library", usually a directory, file, or URL containing one or more LIB_SYMBOL objects. |
aProperties | is an associative array that can be used to tell the plugin anything needed about how to perform with respect to aLibraryPath. The caller continues to own this object (plugin may not delete it), and plugins should expect it to be optionally NULL. |
IO_ERROR | if the library cannot be found, the part library cannot be loaded. |
Reimplemented from SCH_IO.
Definition at line 472 of file sch_io_eagle.cpp.
References ensureLoadedLibrary(), m_eagleLibs, m_filename, and m_libName.
|
overridevirtual |
Populate a list of LIB_SYMBOL alias names contained within the library aLibraryPath.
aSymbolNameList | is an array to populate with the LIB_SYMBOL names associated with the library. |
aLibraryPath | is a locator for the "library", usually a directory, file, or URL containing one or more LIB_SYMBOL objects. |
aProperties | is an associative array that can be used to tell the plugin anything needed about how to perform with respect to aLibraryPath. The caller continues to own this object (plugin may not delete it), and plugins should expect it to be optionally NULL. |
IO_ERROR | if the library cannot be found, the part library cannot be loaded. |
Reimplemented from SCH_IO.
Definition at line 453 of file sch_io_eagle.cpp.
References ensureLoadedLibrary(), m_eagleLibs, m_filename, and m_libName.
|
private |
Definition at line 1660 of file sch_io_eagle.cpp.
References std::abs(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by adjustNetLabels().
|
inlinevirtualinherited |
Retrieves a list of (custom) field names that are present on symbols in this library.
The plugin is responsible for guaranteeing that this list contains the set of unique custom field names present on any symbols contained in the library.
The required KiCad fields are not included in this list.
aNames | will be filled with any custom fields present in this library. |
Reimplemented in SCH_IO_CADSTAR_ARCHIVE, SCH_IO_DATABASE, SCH_IO_HTTP_LIB, and SCH_IO_KICAD_SEXPR.
Definition at line 324 of file sch_io.h.
Referenced by SCH_IO::GetDefaultSymbolFields().
|
private |
Definition at line 110 of file sch_io_eagle.cpp.
References SCH_SHEET::GetScreen(), SCH_SHEET_PATH::Last(), and m_sheetPath.
Referenced by addBusEntries(), loadInstance(), loadModuleInstance(), loadSegments(), loadSheet(), and moveLabels().
|
private |
Definition at line 104 of file sch_io_eagle.cpp.
References SCH_SHEET_PATH::Last(), and m_sheetPath.
Referenced by loadModuleInstance(), and loadSheet().
|
inlinevirtualinherited |
Retrieves a list of (custom) field names that should be shown by default for this library in the symbol chooser.
This list should be a subset of the result returned by GetAvailableSymbolFields().
The preference for which fields to hide and show for a given library is stored on a per-library basis in a user's preferences (or in the project local settings for a project- local library). The set of fields returned by GetDefaultSymbolFields() will be used if this preference is missing.
aNames | will be filled with the custom field names that should be shown by default |
Reimplemented in SCH_IO_DATABASE, SCH_IO_HTTP_LIB, and SCH_IO_KICAD_SEXPR.
Definition at line 338 of file sch_io.h.
References SCH_IO::GetAvailableSymbolFields().
|
private |
Definition at line 3444 of file sch_io_eagle.cpp.
References m_eagleDoc.
Referenced by getEagleSymbolFieldAttributes().
|
private |
Definition at line 3478 of file sch_io_eagle.cpp.
References getEagleSymbol(), SCH_FIELD::IsEmpty(), SCH_FIELD::SetPosition(), EDA_TEXT::SetVisible(), text, ESYMBOL::texts, and VECTOR2< T >::y.
|
virtualinherited |
Return an error string to the caller.
This is useful for schematic loaders that can load partial schematics where throwing an exception would be problematic such as the KiCad legacy plugin.
Reimplemented in SCH_IO_HTTP_LIB, SCH_IO_KICAD_LEGACY, and SCH_IO_KICAD_SEXPR.
Definition at line 139 of file sch_io.cpp.
References NOT_IMPLEMENTED.
|
private |
Checks if there are other wires or pins at the position of the tested pin.
Definition at line 142 of file sch_io_eagle.cpp.
References getLibName(), PROJECT::GetProjectPath(), FILEEXT::KiCadSymbolLibFileExtension, m_schematic, and SCHEMATIC::Prj().
Referenced by loadLibrary(), loadSchematic(), and LoadSchematicFile().
|
private |
Definition at line 118 of file sch_io_eagle.cpp.
References LIB_ID::FixIllegalChars(), SCH_SHEET::GetFileName(), PROJECT::GetProjectName(), m_libName, m_rootSheet, m_schematic, SCHEMATIC::Prj(), and UTF8::wx_str().
Referenced by getLibFileName(), and LoadSchematicFile().
|
inlineoverridevirtual |
Get the descriptor for the library container that this IO plugin operates on.
Implements IO_BASE.
Definition at line 91 of file sch_io_eagle.h.
References _HKI.
|
inlinevirtualinherited |
Get the descriptor for the individual library elements that this IO plugin operates on.
For libraries where all the elements are in a single container (e.g. all elements in a single file), then this will return the descriptor from IO_BASE::GetLibraryDesc().
Reimplemented in PCB_IO_EASYEDA, PCB_IO_EASYEDAPRO, PCB_IO_GEDA, and PCB_IO_KICAD_SEXPR.
Definition at line 106 of file io_base.h.
Referenced by PCB_IO::CanReadFootprint().
|
overridevirtualinherited |
Append supported SCH_IO options to aListToAppenTo along with internationalized descriptions.
Options are typically appended so that a derived SCH_IO can call its base class function by the same name first, thus inheriting options declared there. (Some base class options could pertain to all Symbol*() functions in all derived SCH_IOs.) Note that since aListToAppendTo is a PROPERTIES object, all options will be unique and last guy wins.
aListToAppendTo | holds a tuple of
In the future perhaps aListToAppendTo evolves to something capable of also holding a wxValidator for the cells in said dialog: http://forums.wxwidgets.org/viewtopic.php?t=23277&p=104180. This would require a 3 column list, and introducing wx GUI knowledge to SCH_IO, which has been avoided to date. |
Reimplemented from IO_BASE.
Reimplemented in SCH_IO_CADSTAR_ARCHIVE.
Definition at line 124 of file sch_io.cpp.
References IO_BASE::GetLibraryOptions().
|
private |
Definition at line 513 of file sch_io_eagle.cpp.
Referenced by ensureLoadedLibrary().
|
overridevirtual |
Return the modification hash from the library cache.
Implements SCH_IO.
Definition at line 334 of file sch_io_eagle.cpp.
|
inlineinherited |
Return a brief hard coded name for this IO interface.
Definition at line 75 of file io_base.h.
Referenced by SCH_IO_ALTIUM::ParseLibFile().
|
inlineoverridevirtual |
Returns schematic file description for the SCH_IO.
Reimplemented from SCH_IO.
Definition at line 86 of file sch_io_eagle.h.
References _HKI.
|
inlinevirtualinherited |
Gets a description of a sublibrary.
Has no effect if SupportsSubLibraries() returns false.
aName | contains the name of the sublibrary for which the description is retrieved |
Reimplemented in SCH_IO_HTTP_LIB.
|
inlinevirtualinherited |
Retrieves a list of sub-libraries in this library.
Some types of symbol library support sub-libraries, which are a single-level organizational hierarchy that is implementation-defined per plugin. Most of KiCad ignores sub-libraries and treats the hierarchy between library and symbol as flat, but the sub-libraries are used for sorting and grouping symbols in the symbol chooser.
Has no effect if SupportsSubLibraries() returns false.
aNames | will be filled with a list of sub-libraries within this symbol library |
Reimplemented in SCH_IO_DATABASE, and SCH_IO_HTTP_LIB.
|
inlineoverridevirtual |
Return true if the library at aLibraryPath is writable.
The system libraries are typically read only because of where they are installed..
aLibraryPath | is a locator for the "library", usually a directory, file, or URL containing several footprints. |
IO_ERROR | if no library at aLibraryPath exists. |
Reimplemented from IO_BASE.
Definition at line 114 of file sch_io_eagle.h.
|
private |
Return the matching layer or return LAYER_NOTES.
Definition at line 187 of file sch_io_eagle.cpp.
References LAYER_NOTES, and m_layerMap.
Referenced by loadCircle(), loadPolyLine(), loadRectangle(), and loadWire().
Definition at line 1526 of file sch_io_eagle.cpp.
References kiCadLayer(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by loadSheet().
|
private |
Definition at line 597 of file sch_io_eagle.cpp.
References loadLayerDefs(), loadLibrary(), loadSchematic(), m_eagleLibs, m_libName, and EAGLE_LIBRARY::name.
Referenced by ensureLoadedLibrary(), and LoadSchematicFile().
Move net labels that are detached from any wire to the nearest wire.
Definition at line 2578 of file sch_io_eagle.cpp.
References EDA_TEXT::GetHorizJustify(), SCH_TEXT::GetPosition(), EDA_TEXT::GetTextAngle(), EDA_TEXT::GetTextSize(), EDA_TEXT::GetVertJustify(), EDA_TEXT::IsBold(), EDA_TEXT::SetBold(), EDA_TEXT::SetHorizJustify(), EDA_TEXT::SetItalic(), EDA_TEXT::SetTextAngle(), EDA_TEXT::SetTextPos(), EDA_TEXT::SetTextSize(), and EDA_TEXT::SetVertJustify().
Referenced by loadSymbol().
|
private |
Definition at line 1141 of file sch_io_eagle.cpp.
References SCH_SHAPE::AddPoint(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_V_ALIGN_CENTER, KiROUND(), EDA_IU_SCALE::MilsToIU(), schIUScale, EDA_TEXT::SetHorizJustify(), SCH_TEXT::SetPosition(), EDA_TEXT::SetText(), EDA_TEXT::SetTextSize(), and EDA_TEXT::SetVertJustify().
Referenced by loadSheet(), and loadSymbol().
|
private |
Definition at line 1706 of file sch_io_eagle.cpp.
References _, SCH_SCREEN::Append(), ETEXT::BOTTOM_LEFT, CTX_LIBID, eagleToKicadAlignment(), EscapeString(), FOOTPRINT_FIELD, getCurrentScreen(), LIB_SYMBOL::GetFields(), SCH_FIELD::GetPosition(), LIB_SYMBOL::GetUnitCount(), LIB_SYMBOL::IsPower(), kiCadComponentRotation(), SYMBOL_LIB_TABLE::LoadSymbol(), m_eagleLibs, EATTR::NAME, name, EATTR::Off, EAGLE_LIBRARY::package, pin, REFERENCE_FIELD, IO_BASE::Report(), RPT_SEVERITY_ERROR, PROJECT_SCH::SchSymbolLibTable(), SCH_FIELD::SetName(), SCH_FIELD::SetPosition(), SCH_FIELD::SetText(), EDA_TEXT::SetVisible(), UnescapeString(), and VALUE_FIELD.
Referenced by loadSheet().
|
private |
Definition at line 1568 of file sch_io_eagle.cpp.
Referenced by loadSegments().
|
private |
Definition at line 1580 of file sch_io_eagle.cpp.
References escapeName(), KiROUND(), m_module, m_netCounts, EMODULE::ports, and SPIN_STYLE::RIGHT.
Referenced by loadSegments().
|
private |
Layers in KiCad schematics are not actually layers, but abstract groups mainly used to decide item colors.
<layers> <layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"> <layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"> <layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"> <layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"> <layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"> <layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"> <layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"> <layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"> <layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"> </layers>
Definition at line 155 of file sch_io_eagle.cpp.
References LAYER_BUS, LAYER_NOTES, LAYER_WIRE, and m_layerMap.
Referenced by loadDrawing().
|
private |
Definition at line 1986 of file sch_io_eagle.cpp.
References convertDescription(), CTX_LIBID, ELIBRARY::devicesets, EscapeString(), EAGLE_LIBRARY::GateToUnitMap, getLibFileName(), PROJECT::GetProjectName(), EAGLE_LIBRARY::KiCadSymbols, loadSymbol(), m_libName, m_pi, m_properties, m_schematic, m_userValue, ELIBRARY::name, name, EAGLE_LIBRARY::name, EAGLE_LIBRARY::package, SCHEMATIC::Prj(), REFERENCE_FIELD, IO_BASE::Report(), SCH_FIELD::SetText(), EDA_TEXT::SetVisible(), ELIBRARY::symbols, UnescapeHTML(), and VALUE_FIELD.
Referenced by loadDrawing(), and loadSchematic().
|
private |
Definition at line 958 of file sch_io_eagle.cpp.
References _, SCH_SCREEN::Append(), getCurrentScreen(), getCurrentSheet(), FILEEXT::KiCadSchematicFileExtension, KiROUND(), LAYER_WIRE, loadSheet(), m_eagleDoc, m_filename, m_module, m_schematic, m_sheetIndex, m_sheetPath, EDA_IU_SCALE::MilsToIU(), EDA_IU_SCALE::mmToIU(), SCH_SHEET_PATH::pop_back(), SCH_SHEET_PATH::push_back(), schIUScale, SCH_LINE::SetEndPoint(), SCH_SCREEN::SetFileName(), SCH_SHEET_PATH::SetPageNumber(), SCH_SHEET_PIN::SetPosition(), SCH_LABEL_BASE::SetShape(), SCH_SHEET_PIN::SetSide(), THROW_IO_ERROR, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by loadSheet().
|
private |
Definition at line 2413 of file sch_io_eagle.cpp.
References EDA_IU_SCALE::MilsToIU(), pin, and schIUScale.
Referenced by loadSymbol().
Definition at line 2526 of file sch_io_eagle.cpp.
References escapeName(), interpretText(), and loadTextAttributes().
Referenced by loadSheet().
Definition at line 1452 of file sch_io_eagle.cpp.
References ARC_ACCURACY, SHAPE_ARC::ConstructFromStartEndAngle(), DEGREES_T, and kiCadLayer().
Referenced by loadSheet().
Definition at line 1540 of file sch_io_eagle.cpp.
References DEGREES_T, kiCadLayer(), and RotatePoint().
Referenced by loadSheet().
|
private |
Definition at line 649 of file sch_io_eagle.cpp.
References addImplicitConnections(), SCH_SCREEN::Append(), countNets(), SCH_ITEM::Duplicate(), BOX2< Vec >::GetBottom(), SCH_SYMBOL::GetField(), BOX2< Vec >::GetHeight(), BOX2< Vec >::GetLeft(), getLibFileName(), SCH_SCREEN::GetPageSettings(), SCH_SHEET::GetScreen(), getSheetBbox(), PAGE_INFO::GetSizeIU(), EDA_TEXT::GetText(), BOX2< Vec >::GetWidth(), BOX2< Vec >::GetY(), EDA_IU_SCALE::IU_PER_MILS, ESCHEMATIC::libraries, loadLibrary(), loadSheet(), SCH_SHEET::LocatePathOfScreen(), m_eagleLibs, m_missingCmps, m_partlist, m_pi, m_rootSheet, m_schematic, m_sheetIndex, m_sheetPath, EDA_IU_SCALE::MilsToIU(), ESCHEMATIC::modules, name, EAGLE_LIBRARY::name, ESCHEMATIC::parts, SCH_SHEET_PATH::Path(), SCH_SHEET_PATH::pop_back(), SCH_SHEET_PATH::push_back(), REFERENCE_FIELD, schIUScale, SCH_SCREEN::SetFileName(), SCH_SHEET_PATH::SetPageNumber(), ESCHEMATIC::sheets, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by loadDrawing().
|
overridevirtual |
Load information from some input file format that this SCH_IO implementation knows about, into either a new SCH_SHEET or an existing one.
This may be used to load an entire new SCH_SHEET, or to augment an existing one if aAppendToMe is not NULL.
aFileName | is the name of the file to use as input and may be foreign in nature or native in nature. |
aKiway | is the KIWAY object used to access the symbol libraries loaded by the project. |
aAppendToMe | is an existing SCH_SHEET to append to, but if NULL then this means "do not append, rather load anew". |
aProperties | is an associative array that can be used to tell the loader how to load the file, because it can take any number of additional named arguments that the plugin is known to support. These are tuning parameters for the import or load. The caller continues to own this object (plugin may not delete it), and plugins should expect it to be optionally NULL. |
IO_ERROR | if there is a problem loading, and its contents should say what went wrong, using line number and character offsets of the input file if possible. |
Reimplemented from SCH_IO.
Definition at line 340 of file sch_io_eagle.cpp.
References _, SYMBOL_LIB_TABLE::Format(), WXLOG_REPORTER::GetInstance(), getLibFileName(), getLibName(), GetNodeCount(), PROJECT::GetProjectPath(), SCH_SHEET::GetScreen(), SYMBOL_LIB_TABLE::GetSymbolLibTableFileName(), SCH_SCREEN::GetUuid(), LIB_TABLE::HasLibrary(), LIB_TABLE::InsertRow(), SCHEMATIC::IsValid(), PROGRESS_REPORTER::KeepRefreshing(), FILEEXT::KiCadSchematicFileExtension, loadDrawing(), loadXmlDocument(), m_eagleDoc, m_filename, m_pi, IO_BASE::m_progressReporter, m_properties, m_rootSheet, m_schematic, EDA_ITEM::m_Uuid, m_version, SCHEMATIC::Prj(), SCH_IO_KICAD_LEGACY::PropBuffering, PROGRESS_REPORTER::Report(), SCHEMATIC::Root(), PROJECT_SCH::SchSymbolLibTable(), PROJECT::SetElem(), SCH_SCREEN::SetFileName(), SCH_SHEET::SetFileName(), PROGRESS_REPORTER::SetNumPhases(), fontconfig::FONTCONFIG::SetReporter(), SCHEMATIC::SetRoot(), SCH_SHEET::SetScreen(), PROJECT::SYMBOL_LIB_TABLE, THROW_IO_ERROR, and SCH_SCREENS::UpdateSymbolLinks().
|
private |
Definition at line 1337 of file sch_io_eagle.cpp.
References SEG::A, SCH_SCREEN::Append(), SEG::B, CTX_NETNAME, escapeName(), EscapeString(), getCurrentScreen(), EDA_TEXT::GetText(), SEG::Intersect(), SCH_IO_EAGLE::SEG_DESC::labels, SPIN_STYLE::LEFT, loadJunction(), loadLabel(), loadWire(), m_connPoints, m_netCounts, m_powerPorts, m_segments, m_wireIntersections, EDA_IU_SCALE::MilsToIU(), pin, SPIN_STYLE::RIGHT, schIUScale, SCH_IO_EAGLE::SEG_DESC::segs, and VECTOR2< T >::x.
Referenced by loadSheet().
|
private |
Definition at line 800 of file sch_io_eagle.cpp.
References addBusEntries(), addImplicitConnections(), adjustNetLabels(), SCH_SCREEN::Append(), AUTOPLACE_AUTO, SCH_SHEET::AutoplaceFields(), EE_RTREE::begin(), BOX2< Vec >::Centre(), EE_RTREE::end(), getCurrentScreen(), getCurrentSheet(), SCH_SCREEN::GetPageSettings(), getSheetBbox(), BOX2< Vec >::GetSize(), PAGE_INFO::GetSizeIU(), SCH_SCREEN::Items(), EDA_IU_SCALE::IU_PER_MILS, EDA_IU_SCALE::IUToMils(), FILEEXT::KiCadSchematicFileExtension, loadCircle(), loadFrame(), loadInstance(), loadModuleInstance(), loadPlainText(), loadPolyLine(), loadRectangle(), loadSegments(), loadWire(), m_connPoints, m_eagleDoc, m_filename, m_module, m_sheetIndex, EDA_IU_SCALE::MilsToIU(), name, EE_RTREE::OfType(), EMODULE::parts, ReplaceIllegalFileNameChars(), SCH_SYMBOL_T, schIUScale, SCH_SCREEN::SetFileName(), SCH_SHEET::SetFileName(), PAGE_INFO::SetHeightMils(), SCH_SHEET::SetName(), SCH_SCREEN::SetPageSettings(), PAGE_INFO::SetWidthMils(), translateEagleBusName(), SCH_SCREEN::Update(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by loadModuleInstance(), and loadSchematic().
|
private |
Definition at line 2122 of file sch_io_eagle.cpp.
References escapeName(), loadFieldAttributes(), loadFrame(), loadPin(), loadSymbolCircle(), loadSymbolPolyLine(), loadSymbolRectangle(), loadSymbolText(), loadSymbolWire(), pin, pinDirectionsMap, REFERENCE_FIELD, SCH_PIN::SetNumber(), and VALUE_FIELD.
Referenced by loadLibrary().
|
overridevirtual |
Load a LIB_SYMBOL object having aPartName from the aLibraryPath containing a library format that this SCH_IO knows about.
aLibraryPath | is a locator for the "library", usually a directory, file, or URL containing several symbols. |
aPartName | is the name of the LIB_SYMBOL to load. |
aProperties | is an associative array that can be used to tell the loader implementation to do something special, because it can take any number of additional named tuning arguments that the plugin is known to support. The caller continues to own this object (plugin may not delete it), and plugins should expect it to be optionally NULL. |
IO_ERROR | if the library cannot be found or read. No exception is thrown in the case where aAliasName cannot be found. |
Reimplemented from SCH_IO.
Definition at line 491 of file sch_io_eagle.cpp.
References ensureLoadedLibrary(), m_eagleLibs, m_filename, and m_libName.
|
private |
Definition at line 2259 of file sch_io_eagle.cpp.
References EDA_SHAPE::SetEnd(), EDA_ITEM::SetParent(), SCH_SHAPE::SetPosition(), SCH_SHAPE::SetStroke(), SCH_ITEM::SetUnit(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by loadSymbol().
|
private |
Definition at line 2374 of file sch_io_eagle.cpp.
References SCH_SHAPE::AddPoint(), SHAPE_POLY_SET::Append(), ARC_ACCURACY, SHAPE_ARC::ConstructFromStartEndAngle(), DEGREES_T, EDA_SHAPE::GetPolyShape(), EDA_SHAPE::SetFillMode(), EDA_ITEM::SetParent(), SCH_SHAPE::SetStroke(), and SCH_ITEM::SetUnit().
Referenced by loadSymbol().
|
private |
Definition at line 2279 of file sch_io_eagle.cpp.
References DEGREES_T, SCH_SHAPE::GetCenter(), EDA_SHAPE::GetEnd(), SCH_SHAPE::GetPosition(), RotatePoint(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFillMode(), EDA_ITEM::SetParent(), SCH_SHAPE::SetPosition(), and SCH_ITEM::SetUnit().
Referenced by loadSymbol().
|
private |
Definition at line 2492 of file sch_io_eagle.cpp.
References interpretText(), and loadTextAttributes().
Referenced by loadSymbol().
|
private |
Definition at line 2313 of file sch_io_eagle.cpp.
References SCH_SHAPE::AddPoint(), ConvertArcCenter(), DEGREES_T, EWIRE::FLAT, LAYER_DEVICE, EDA_SHAPE::SetArcAngleAndEnd(), EDA_SHAPE::SetCenter(), EDA_SHAPE::SetFillMode(), EDA_ITEM::SetParent(), EDA_SHAPE::SetStart(), SCH_SHAPE::SetStroke(), SCH_ITEM::SetUnit(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by loadSymbol().
|
private |
Definition at line 2558 of file sch_io_eagle.cpp.
References ETEXT::BOTTOM_LEFT, eagleToKicadAlignment(), EDA_TEXT::SetBold(), and EDA_TEXT::SetTextSize().
Referenced by loadPlainText(), and loadSymbolText().
|
private |
Definition at line 1485 of file sch_io_eagle.cpp.
References ConvertArcCenter(), DEGREES_T, kiCadLayer(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by loadSegments(), and loadSheet().
|
private |
Definition at line 565 of file sch_io_eagle.cpp.
References _, m_filename, text, and THROW_IO_ERROR.
Referenced by ensureLoadedLibrary(), and LoadSchematicFile().
Move any labels on the wire to the new end point of the wire.
Definition at line 2710 of file sch_io_eagle.cpp.
References SCH_LINE::GetBoundingBox(), getCurrentScreen(), SCH_LINE::GetEndPoint(), SCH_LINE::GetStartPoint(), SCH_SCREEN::Items(), EE_RTREE::Overlapping(), and TestSegmentHit().
Referenced by addBusEntries().
|
private |
|
virtualinherited |
Definition at line 122 of file io_base.cpp.
References IO_BASE::m_reporter, and REPORTER::Report().
Referenced by loadInstance(), loadLibrary(), and EAGLE_BASE::Report().
|
virtualinherited |
Reimplemented in SCH_IO_KICAD_LEGACY, and SCH_IO_KICAD_SEXPR.
Definition at line 61 of file sch_io.cpp.
References NOT_IMPLEMENTED.
|
virtualinherited |
Write aSchematic to a storage file in a format that this SCH_IO implementation knows about, or it can be used to write a portion of aSchematic to a special kind of export file.
aFileName | is the name of a file to save to on disk. |
aSheet | is the class SCH_SHEET in memory document tree from which to extract information when writing to aFileName. The caller continues to own the SCHEMATIC, and the plugin should refrain from modifying the SCHEMATIC if possible. |
aSchematic | is the SCHEMATIC object used to access any schematic-wide or project information needed to save the document. |
aProperties | is an associative array that can be used to tell the saver how to save the file, because it can take any number of additional named tuning arguments that the plugin is known to support. The caller continues to own this object (plugin may not delete it), and plugins should expect it to be optionally NULL. Set the #PropSaveCurrentSheetOnly property to only save the current sheet. Otherwise, all hierarchical sheets are saved. |
IO_ERROR | if there is a problem saving or exporting. |
Reimplemented in SCH_IO_KICAD_LEGACY, and SCH_IO_KICAD_SEXPR.
Definition at line 74 of file sch_io.cpp.
References NOT_IMPLEMENTED.
|
virtualinherited |
Write aSymbol to an existing library located at aLibraryPath.
If a LIB_SYMBOL by the same name already exists or there are any conflicting alias names, the new LIB_SYMBOL will silently overwrite any existing aliases and/or part because libraries cannot have duplicate alias names. It is the responsibility of the caller to check the library for conflicts before saving.
aLibraryPath | is a locator for the "library", usually a directory, file, or URL containing several symbols. |
aSymbol | is what to store in the library. The library is refreshed and the caller must update any LIB_SYMBOL pointers that may have changed. |
aProperties | is an associative array that can be used to tell the saver how to save the symbol, because it can take any number of additional named tuning arguments that the plugin is known to support. The caller continues to own this object (plugin may not delete it), and plugins should expect it to be optionally NULL. |
IO_ERROR | if there is a problem saving. |
Reimplemented in SCH_IO_HTTP_LIB, SCH_IO_KICAD_LEGACY, and SCH_IO_KICAD_SEXPR.
Definition at line 108 of file sch_io.cpp.
References NOT_IMPLEMENTED.
Referenced by LIB_BUFFER::SaveBuffer().
|
inlinevirtualinherited |
Some library plugins need to have access to their parent library table.
aTable | is the table this plugin is registered within. |
Reimplemented in SCH_IO_DATABASE, and SCH_IO_HTTP_LIB.
|
inlinevirtualinherited |
Set an optional progress reporter.
Reimplemented in SCH_IO_CADSTAR_ARCHIVE.
Definition at line 85 of file io_base.h.
Referenced by PCB_CONTROL::AppendBoard().
|
inlinevirtualinherited |
Set an optional reporter for warnings/errors.
Reimplemented in SCH_IO_CADSTAR_ARCHIVE.
|
inlinevirtualinherited |
Reimplemented in SCH_IO_DATABASE, and SCH_IO_HTTP_LIB.
|
private |
Translate an Eagle-style bus name into one that is KiCad-compatible.
For vector buses such as A[7..0] this has no impact. For group buses, we translate from Eagle-style to KiCad-style.
aEagleName | is the name of the bus from the Eagle schematic |
Definition at line 3413 of file sch_io_eagle.cpp.
References NET_SETTINGS::ParseBusVector().
Referenced by loadSheet().
const double SCH_IO_EAGLE::ARC_ACCURACY = SCH_IU_PER_MM * 0.01 |
Definition at line 81 of file sch_io_eagle.h.
Referenced by loadPolyLine(), and loadSymbolPolyLine().
The fully parsed Eagle schematic file.
Definition at line 295 of file sch_io_eagle.h.
Referenced by checkConnections(), loadSegments(), and loadSheet().
|
private |
Definition at line 298 of file sch_io_eagle.h.
Referenced by getEagleSymbol(), loadModuleInstance(), LoadSchematicFile(), and loadSheet().
|
private |
Definition at line 259 of file sch_io_eagle.h.
Referenced by ensureLoadedLibrary(), EnumerateSymbolLib(), loadDrawing(), loadInstance(), loadSchematic(), and LoadSymbol().
|
private |
Definition at line 260 of file sch_io_eagle.h.
|
private |
Definition at line 252 of file sch_io_eagle.h.
Referenced by ensureLoadedLibrary(), EnumerateSymbolLib(), loadModuleInstance(), LoadSchematicFile(), loadSheet(), LoadSymbol(), and loadXmlDocument().
|
private |
Definition at line 270 of file sch_io_eagle.h.
Referenced by kiCadLayer(), and loadLayerDefs().
|
private |
Library name to save symbols.
Definition at line 253 of file sch_io_eagle.h.
Referenced by ensureLoadedLibrary(), EnumerateSymbolLib(), getLibName(), loadDrawing(), loadLibrary(), and LoadSymbol().
|
private |
Definition at line 247 of file sch_io_eagle.h.
Referenced by addImplicitConnections(), and loadSchematic().
|
private |
The current module being loaded or nullptr.
Definition at line 255 of file sch_io_eagle.h.
Referenced by loadLabel(), loadModuleInstance(), and loadSheet().
|
protectedinherited |
|
private |
Definition at line 269 of file sch_io_eagle.h.
Referenced by countNets(), loadLabel(), and loadSegments().
|
private |
Positions of pins and wire endings mapped to its parent.
Definition at line 292 of file sch_io_eagle.h.
|
private |
Definition at line 257 of file sch_io_eagle.h.
Referenced by loadSchematic().
|
private |
PI to create KiCad symbol library.
Definition at line 264 of file sch_io_eagle.h.
Referenced by loadLibrary(), loadSchematic(), and LoadSchematicFile().
|
private |
map from symbol reference to global label equivalent
Wire intersection points, used for quick checks whether placing a net label in a particular place would short two nets.
Definition at line 271 of file sch_io_eagle.h.
Referenced by loadSegments().
|
protectedinherited |
Progress reporter to track the progress of the operation, may be nullptr.
Definition at line 221 of file io_base.h.
Referenced by IO_BASE::AdvanceProgressPhase(), SCH_IO_KICAD_LEGACY::checkpoint(), ensureLoadedLibrary(), SCH_IO_CADSTAR_ARCHIVE::ensureLoadedLibrary(), PCB_IO_ODBPP::ExportODB(), PCB_IO_IPC2581::generateAvlSection(), PCB_IO_IPC2581::generateBOMSection(), PCB_IO_IPC2581::generateContentSection(), PCB_IO_IPC2581::generateEcadSection(), PCB_IO_IPC2581::generateHistorySection(), PCB_IO_ALTIUM_CIRCUIT_STUDIO::LoadBoard(), PCB_IO_ALTIUM_CIRCUIT_MAKER::LoadBoard(), PCB_IO_ALTIUM_DESIGNER::LoadBoard(), PCB_IO_SOLIDWORKS::LoadBoard(), PCB_IO_CADSTAR_ARCHIVE::LoadBoard(), PCB_IO_EASYEDA::LoadBoard(), PCB_IO_EASYEDAPRO::LoadBoard(), PCB_IO_FABMASTER::LoadBoard(), PCB_IO_KICAD_SEXPR::LoadBoard(), SCH_IO_KICAD_LEGACY::loadFile(), SCH_IO_KICAD_SEXPR::loadFile(), SCH_IO_CADSTAR_ARCHIVE::LoadSchematicFile(), LoadSchematicFile(), SCH_IO_LTSPICE::LoadSchematicFile(), PCB_IO_IPC2581::SaveBoard(), and SCH_IO_CADSTAR_ARCHIVE::SetProgressReporter().
|
private |
Library plugin properties.
Definition at line 265 of file sch_io_eagle.h.
Referenced by loadLibrary(), and LoadSchematicFile().
|
protectedinherited |
Reporter to log errors/warnings to, may be nullptr.
Definition at line 218 of file io_base.h.
Referenced by SCH_IO_ALTIUM::AddLibTextBox(), SCH_IO_CADSTAR_ARCHIVE::ensureLoadedLibrary(), PCB_IO_ALTIUM_DESIGNER::FootprintLoad(), PCB_IO_ALTIUM_CIRCUIT_STUDIO::LoadBoard(), PCB_IO_ALTIUM_CIRCUIT_MAKER::LoadBoard(), PCB_IO_ALTIUM_DESIGNER::LoadBoard(), PCB_IO_SOLIDWORKS::LoadBoard(), SCH_IO_CADSTAR_ARCHIVE::LoadSchematicFile(), SCH_IO_LTSPICE::LoadSchematicFile(), SCH_IO_ALTIUM::ParseAltiumSch(), SCH_IO_ALTIUM::ParseArc(), SCH_IO_ALTIUM::ParseBezier(), SCH_IO_ALTIUM::ParseCircle(), SCH_IO_ALTIUM::ParseComponent(), SCH_IO_ALTIUM::ParseDesignator(), SCH_IO_ALTIUM::ParseEllipse(), SCH_IO_ALTIUM::ParseEllipticalArc(), SCH_IO_ALTIUM::ParseFileName(), SCH_IO_ALTIUM::ParseHarnessConnector(), SCH_IO_ALTIUM::ParseHarnessEntry(), SCH_IO_ALTIUM::ParseHarnessPort(), SCH_IO_ALTIUM::ParseHarnessType(), SCH_IO_ALTIUM::ParseImage(), SCH_IO_ALTIUM::ParseImplementation(), SCH_IO_ALTIUM::ParseLabel(), SCH_IO_ALTIUM::ParseLibFile(), SCH_IO_ALTIUM::ParseLine(), SCH_IO_ALTIUM::ParsePieChart(), SCH_IO_ALTIUM::ParsePin(), SCH_IO_ALTIUM::ParsePolygon(), SCH_IO_ALTIUM::ParsePolyline(), SCH_IO_ALTIUM::ParsePort(), SCH_IO_ALTIUM::ParsePowerPort(), SCH_IO_ALTIUM::ParseRecord(), SCH_IO_ALTIUM::ParseRectangle(), SCH_IO_ALTIUM::ParseRoundRectangle(), SCH_IO_ALTIUM::ParseSheetEntry(), SCH_IO_ALTIUM::ParseSheetName(), SCH_IO_ALTIUM::ParseSignalHarness(), SCH_IO_ALTIUM::ParseStorage(), PCB_IO_ALTIUM_DESIGNER::PCB_IO_ALTIUM_DESIGNER(), PCB_IO_SOLIDWORKS::PCB_IO_SOLIDWORKS(), IO_BASE::Report(), SCH_IO_ALTIUM::SCH_IO_ALTIUM(), SCH_IO_CADSTAR_ARCHIVE::SCH_IO_CADSTAR_ARCHIVE(), SCH_IO_EAGLE(), SCH_IO_EASYEDA::SCH_IO_EASYEDA(), SCH_IO_EASYEDAPRO::SCH_IO_EASYEDAPRO(), SCH_IO_LTSPICE::SCH_IO_LTSPICE(), and SCH_IO_CADSTAR_ARCHIVE::SetReporter().
|
private |
The root sheet of the schematic being loaded.
Definition at line 249 of file sch_io_eagle.h.
Referenced by getLibName(), loadSchematic(), and LoadSchematicFile().
|
private |
Passed to Load(), the schematic object being loaded.
Definition at line 254 of file sch_io_eagle.h.
Referenced by getLibFileName(), getLibName(), loadLibrary(), loadModuleInstance(), loadSchematic(), and LoadSchematicFile().
|
private |
Nets as defined in the <nets> sections of an Eagle schematic file.
Definition at line 289 of file sch_io_eagle.h.
Referenced by adjustNetLabels(), and loadSegments().
|
private |
Definition at line 267 of file sch_io_eagle.h.
Referenced by loadModuleInstance(), loadSchematic(), and loadSheet().
|
private |
The current sheet path of the schematic being loaded.
Definition at line 250 of file sch_io_eagle.h.
Referenced by getCurrentScreen(), getCurrentSheet(), loadModuleInstance(), and loadSchematic().
|
private |
Definition at line 258 of file sch_io_eagle.h.
Referenced by ensureLoadedLibrary().
|
private |
deviceset/@uservalue for device.
Definition at line 262 of file sch_io_eagle.h.
Referenced by loadLibrary().
|
private |
Eagle file version.
Definition at line 251 of file sch_io_eagle.h.
Referenced by ensureLoadedLibrary(), and LoadSchematicFile().
|
private |
Wires and labels of a single connection (segment in Eagle nomenclature)
Definition at line 276 of file sch_io_eagle.h.
Referenced by adjustNetLabels(), and loadSegments().