KiCad PCB EDA Suite
Loading...
Searching...
No Matches
PCB_IO_ODBPP Class Reference

#include <pcb_io_odbpp.h>

Inheritance diagram for PCB_IO_ODBPP:
PCB_IO IO_BASE

Public Member Functions

 PCB_IO_ODBPP ()
 
 ~PCB_IO_ODBPP () override
 
void SaveBoard (const wxString &aFileName, BOARD &aBoard, const std::map< std::string, UTF8 > *aProperties=nullptr) override
 Write aBoard to a storage file in a format that this PCB_IO implementation knows about or it can be used to write a portion of aBoard to a special kind of export file.
 
void Export (const wxString &aFileName, BOARD &aBoard, const ODB_EXPORT_OPTIONS &aOptions)
 Write the product model tree at aFileName Throw IO_ERROR when the write fails.
 
void ConfigureExport (BOARD &aBoard, const ODB_EXPORT_OPTIONS &aOptions)
 
const IO_BASE::IO_FILE_DESC GetBoardFileDesc () const override
 Return board file description for the PCB_IO.
 
const IO_BASE::IO_FILE_DESC GetLibraryDesc () const override
 Get the descriptor for the library container that this IO plugin operates on.
 
std::vector< FOOTPRINT * > GetImportedCachedLibraryFootprints () override
 Return a container with the cached library footprints generated in the last call to Load.
 
const ODB_FORMAT & GetFormat () const
 
const FAB_STACKUP & GetFabStackup () const
 
const FAB_DRILL_MODEL & GetFabDrillModel ()
 
uint32_t NewUid ()
 
uint32_t MaxUid () const
 
long long GetLibraryTimestamp (const wxString &aLibraryPath) const override
 Generate a timestamp representing all the files in the library (including the library directory).
 
bool CanReadBoard (const wxString &aFileName) const override
 
bool CanReadFootprint (const wxString &aFileName) const override
 Check if this PCB_IO can read a footprint from specified file or directory.
 
bool CanReadLibrary (const wxString &aFileName) const override
 Checks if this IO object can read the specified library file/directory.
 
std::vector< ODB_LAYER_NAME > & GetLayerNameList ()
 
std::vector< std::shared_ptr< FOOTPRINT > > & GetLoadedFootprintList ()
 
std::map< DRILL_SPAN, std::vector< BOARD_ITEM * > > & GetDrillLayerItemsMap ()
 
std::map< ODB_AUX_LAYER_KEY, std::vector< BOARD_ITEM * > > & GetAuxilliaryLayerItemsMap ()
 
std::map< std::pair< PCB_LAYER_ID, PCB_LAYER_ID >, std::vector< BOARD_ITEM * > > & GetSlotHolesMap ()
 
std::map< const PAD *, EDA_DATA::SUB_NET_TOEPRINT * > & GetPadSubnetMap ()
 
std::map< std::pair< PCB_LAYER_ID, ZONE * >, EDA_DATA::SUB_NET_PLANE * > & GetPlaneSubnetMap ()
 
std::map< PCB_TRACK *, EDA_DATA::SUB_NET * > & GetViaTraceSubnetMap ()
 
void RecordNetTieFeature (const BOARD_ITEM *aItem, PCB_LAYER_ID aLayer, const wxString &aLayerName, size_t aIndex)
 
const std::map< std::pair< const BOARD_ITEM *, PCB_LAYER_ID >, std::pair< wxString, size_t > > & GetNetTieFeatures () const
 
const wxString & GetLegalNetName (int aNetCode) const
 
bool GenerateFiles (ODB_TREE_WRITER &writer)
 
bool ExportODB (const wxString &aFileName)
 
void CreateEntity ()
 
bool CreateDirectories (ODB_TREE_WRITER &writer)
 
void ClearLoadedFootprints ()
 
bool IsPCB_IO () const override
 Work-around for lack of dynamic_cast across compile units on Mac.
 
virtual std::vector< std::pair< wxString, wxString > > EnumerateProjectBoards (const wxString &aFileName) const
 Check if this PCB_IO can read the specified board file.
 
virtual void SetQueryUserCallback (std::function< bool(wxString aTitle, int aIcon, wxString aMessage, wxString aAction)> aCallback)
 Register a KIDIALOG callback for collecting info from the user.
 
std::unique_ptr< BOARD > LoadBoard (const wxString &aFileName, const std::map< std::string, UTF8 > *aProperties=nullptr, PROJECT *aProject=nullptr)
 Load information from some input file format that this PCB_IO implementation knows about into new BOARD.
 
void LoadAndAppendBoard (const wxString &aFileName, BOARD &aAppendToMe, const std::map< std::string, UTF8 > *aProperties=nullptr, PROJECT *aProject=nullptr)
 Same as LoadBoard(), but appends the loaded board to an existing board, which must already exist.
 
virtual wxString GetImportedDesignRules () const
 Return custom DRC rules generated while importing the most recent board.
 
virtual void FootprintEnumerate (wxArrayString &aFootprintNames, const wxString &aLibraryPath, bool aBestEfforts, const std::map< std::string, UTF8 > *aProperties=nullptr)
 Return a list of footprint names contained within the library at aLibraryPath.
 
virtual std::unique_ptr< FOOTPRINT > ImportFootprint (const wxString &aFootprintPath, wxString &aFootprintNameOut, const std::map< std::string, UTF8 > *aProperties=nullptr)
 Load a single footprint from aFootprintPath and put its name in aFootprintNameOut.
 
virtual std::unique_ptr< FOOTPRINT > FootprintLoad (const wxString &aLibraryPath, const wxString &aFootprintName, bool aKeepUUID=false, const std::map< std::string, UTF8 > *aProperties=nullptr)
 Load a footprint having aFootprintName from the aLibraryPath containing a library format that this PCB_IO knows about.
 
virtual const FOOTPRINT * GetEnumeratedFootprint (const wxString &aLibraryPath, const wxString &aFootprintName, const std::map< std::string, UTF8 > *aProperties=nullptr)
 A version of FootprintLoad() for use after FootprintEnumerate() for more efficient cache management in plugins that support it.
 
virtual bool CachesEnumeratedFootprints () const
 Return true if GetEnumeratedFootprint() returns a borrowed pointer from an internal cache.
 
virtual bool FootprintExists (const wxString &aLibraryPath, const wxString &aFootprintName, const std::map< std::string, UTF8 > *aProperties=nullptr)
 Check for the existence of a footprint.
 
virtual void FootprintSave (const wxString &aLibraryPath, const FOOTPRINT *aFootprint, const std::map< std::string, UTF8 > *aProperties=nullptr)
 Write aFootprint to an existing library located at aLibraryPath.
 
virtual void FootprintDelete (const wxString &aLibraryPath, const wxString &aFootprintName, const std::map< std::string, UTF8 > *aProperties=nullptr)
 Delete aFootprintName from the library at aLibraryPath.
 
virtual void ClearCachedFootprints (const wxString &aLibraryPath)
 Clear any cached footprint data for the given library path.
 
virtual void GetLibraryOptions (std::map< std::string, UTF8 > *aListToAppendTo) const override
 Append supported PLUGIN options to aListToAppenTo along with internationalized descriptions.
 
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 bool IsLibraryWritable (const wxString &aLibraryPath)
 Return true if the library at aLibraryPath is writable.
 
virtual bool SupportsConfigurationDialog () const
 
virtual DIALOG_SHIM * CreateConfigurationDialog (wxWindow *aParent)
 
virtual void Report (const wxString &aText, SEVERITY aSeverity=RPT_SEVERITY_UNDEFINED) const
 
virtual void AdvanceProgressPhase ()
 

Static Public Member Functions

static int MinPrecision (bool aInches)
 Lowest sigfig that still resolves a 0.1 mil grid: 3 decimal places in mm, 4 in inches.
 
static int MaxPrecision ()
 Highest sigfig accepted by the exporter, matching the export dialog's spin control.
 

Public Attributes

std::shared_ptr< ODB_TREE_WRITER > m_writer
 

Protected Member Functions

virtual void loadBoard (const wxString &aFileName, BOARD &aBoard, bool aIsNewLoad, const std::map< std::string, UTF8 > *aProperties, PROJECT *aProject)
 Parse aFileName into aBoard.
 

Protected Attributes

const std::map< std::string, UTF8 > * m_props
 Properties passed via Save() or Load(), no ownership, may be NULL.
 
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

template<typename T, typename... Args>
void Make (Args &&... args)
 

Private Attributes

BOARD * m_board
 
ODB_FORMAT m_format
 
uint32_t m_maxUid = 0
 
std::vector< std::shared_ptr< FOOTPRINT > > m_loaded_footprints
 
std::vector< ODB_LAYER_NAME > m_layer_name_list
 
std::map< DRILL_SPAN, std::vector< BOARD_ITEM * > > m_drill_layers
 
std::map< ODB_AUX_LAYER_KEY, std::vector< BOARD_ITEM * > > m_auxilliary_layers
 
std::map< std::pair< PCB_LAYER_ID, PCB_LAYER_ID >, std::vector< BOARD_ITEM * > > m_slot_holes
 
std::map< const PAD *, EDA_DATA::SUB_NET_TOEPRINT * > m_topeprint_subnets
 
std::map< int, wxString > m_netNames
 
std::map< std::pair< PCB_LAYER_ID, ZONE * >, EDA_DATA::SUB_NET_PLANE * > m_plane_subnets
 
std::map< PCB_TRACK *, EDA_DATA::SUB_NET * > m_via_trace_subnets
 
std::map< std::pair< const BOARD_ITEM *, PCB_LAYER_ID >, std::pair< wxString, size_t > > m_netTieFeatures
 
std::unique_ptr< FAB_STACKUP > m_fabStackup
 
std::unique_ptr< FAB_DRILL_MODEL > m_fabDrillModel
 
std::vector< std::shared_ptr< ODB_ENTITY_BASE > > m_entities
 

Detailed Description

Definition at line 55 of file pcb_io_odbpp.h.

Constructor & Destructor Documentation

◆ PCB_IO_ODBPP()

PCB_IO_ODBPP::PCB_IO_ODBPP ( )
inline

Definition at line 58 of file pcb_io_odbpp.h.

References m_board, and PCB_IO::PCB_IO().

◆ ~PCB_IO_ODBPP()

PCB_IO_ODBPP::~PCB_IO_ODBPP ( )
override

Definition at line 77 of file pcb_io_odbpp.cpp.

References ClearLoadedFootprints().

Member Function Documentation

◆ AdvanceProgressPhase()

void IO_BASE::AdvanceProgressPhase ( )
virtualinherited

Definition at line 133 of file io_base.cpp.

References m_progressReporter, and THROW_IO_CANCELLED.

◆ CachesEnumeratedFootprints()

virtual bool PCB_IO::CachesEnumeratedFootprints ( ) const
inlinevirtualinherited

Return true if GetEnumeratedFootprint() returns a borrowed pointer from an internal cache.

When true, the caller must NOT delete the returned pointer. When false (the default), GetEnumeratedFootprint() allocates a new FOOTPRINT and the caller owns the memory.

Reimplemented in PCB_IO_EASYPC, and PCB_IO_KICAD_SEXPR.

Definition at line 286 of file pcb_io.h.

◆ CanReadBoard()

bool PCB_IO_ODBPP::CanReadBoard ( const wxString & aFileName) const
inlineoverridevirtual

Reimplemented from PCB_IO.

Definition at line 100 of file pcb_io_odbpp.h.

◆ CanReadFootprint()

bool PCB_IO_ODBPP::CanReadFootprint ( const wxString & aFileName) const
inlineoverridevirtual

Check if this PCB_IO can read a footprint from specified file or directory.

If not overriden, extension check is used.

Reimplemented from PCB_IO.

Definition at line 103 of file pcb_io_odbpp.h.

◆ CanReadLibrary()

bool PCB_IO_ODBPP::CanReadLibrary ( const wxString & aFileName) const
inlineoverridevirtual

Checks if this IO object can read the specified library file/directory.

If not overridden, extension check is used.

Reimplemented from IO_BASE.

Definition at line 106 of file pcb_io_odbpp.h.

◆ ClearCachedFootprints()

virtual void PCB_IO::ClearCachedFootprints ( const wxString & aLibraryPath)
inlinevirtualinherited

Clear any cached footprint data for the given library path.

This is used to free memory after footprints have been loaded into another cache. The default implementation does nothing; plugins with caches should override.

Parameters
aLibraryPathis the path of the library whose cache should be cleared.

Reimplemented in PCB_IO_KICAD_SEXPR.

Definition at line 338 of file pcb_io.h.

◆ ClearLoadedFootprints()

void PCB_IO_ODBPP::ClearLoadedFootprints ( )

Definition at line 83 of file pcb_io_odbpp.cpp.

References m_loaded_footprints.

Referenced by ~PCB_IO_ODBPP().

◆ ConfigureExport()

◆ CreateConfigurationDialog()

virtual DIALOG_SHIM * IO_BASE::CreateConfigurationDialog ( wxWindow * aParent)
inlinevirtualinherited
Returns
a new instance of dialog that configures this plugin, or nullptr if this plugin does not support a configuration dialog. Caller takes ownership.

Reimplemented in SCH_IO_DATABASE.

Definition at line 213 of file io_base.h.

◆ CreateDirectories()

bool PCB_IO_ODBPP::CreateDirectories ( ODB_TREE_WRITER & writer)

References T.

◆ CreateEntity()

void PCB_IO_ODBPP::CreateEntity ( )

◆ CreateLibrary()

void IO_BASE::CreateLibrary ( const wxString & aLibraryPath,
const std::map< std::string, UTF8 > * aProperties = nullptr )
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.

Parameters
aLibraryPathis a locator for the "library", usually a directory, file, or URL containing several elements.
aPropertiesis 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.
Exceptions
IO_ERRORif there is a problem finding the library, or creating it.

Reimplemented in DESIGN_BLOCK_IO, PCB_IO_KICAD_SEXPR, SCH_IO_KICAD_LEGACY, and SCH_IO_KICAD_SEXPR.

Definition at line 46 of file io_base.cpp.

References NOT_IMPLEMENTED.

Referenced by LIBRARY_MANAGER_ADAPTER::CreateLibrary().

◆ DeleteLibrary()

bool IO_BASE::DeleteLibrary ( const wxString & aLibraryPath,
const std::map< std::string, UTF8 > * aProperties = nullptr )
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.

Parameters
aLibraryPathis a locator for the "library", usually a directory or file which will contain several elements.
aPropertiesis 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.
Returns
true if library deleted, false if library did not exist.
Exceptions
IO_ERRORif there is a problem deleting an existing library.

Reimplemented in DESIGN_BLOCK_IO, PCB_IO_GEDA, PCB_IO_KICAD_LEGACY, PCB_IO_KICAD_SEXPR, SCH_IO_KICAD_LEGACY, and SCH_IO_KICAD_SEXPR.

Definition at line 53 of file io_base.cpp.

References NOT_IMPLEMENTED.

Referenced by LIBRARY_MANAGER_ADAPTER::DeleteLibrary().

◆ EnumerateProjectBoards()

virtual std::vector< std::pair< wxString, wxString > > PCB_IO::EnumerateProjectBoards ( const wxString & aFileName) const
inlinevirtualinherited

Check if this PCB_IO can read the specified board file.

If not overriden, extension check is used. Return the PCB document identifiers and source names in a project container.

Plugins that do not support project containers return an empty list.

Reimplemented in PCB_IO_EASYEDAPRO, and PCB_IO_EASYEDAPRO_V3.

Definition at line 103 of file pcb_io.h.

◆ Export()

void PCB_IO_ODBPP::Export ( const wxString & aFileName,
BOARD & aBoard,
const ODB_EXPORT_OPTIONS & aOptions )

Write the product model tree at aFileName Throw IO_ERROR when the write fails.

Definition at line 308 of file pcb_io_odbpp.cpp.

References _, ConfigureExport(), ExportODB(), and THROW_IO_ERROR.

Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), generateOneODBPackage(), and SaveBoard().

◆ ExportODB()

bool PCB_IO_ODBPP::ExportODB ( const wxString & aFileName)

◆ FootprintDelete()

void PCB_IO::FootprintDelete ( const wxString & aLibraryPath,
const wxString & aFootprintName,
const std::map< std::string, UTF8 > * aProperties = nullptr )
virtualinherited

Delete aFootprintName from the library at aLibraryPath.

Parameters
aLibraryPathis a locator for the "library", usually a directory, file, or URL containing several footprints.
aFootprintNameis the name of a footprint to delete from the specified library.
aPropertiesis 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.
Exceptions
IO_ERRORif there is a problem finding the footprint or the library, or deleting it.

Reimplemented in PCB_IO_GEDA, and PCB_IO_KICAD_SEXPR.

Definition at line 177 of file pcb_io.cpp.

References NOT_IMPLEMENTED.

Referenced by FOOTPRINT_LIBRARY_ADAPTER::DeleteFootprint().

◆ FootprintEnumerate()

void PCB_IO::FootprintEnumerate ( wxArrayString & aFootprintNames,
const wxString & aLibraryPath,
bool aBestEfforts,
const std::map< std::string, UTF8 > * aProperties = nullptr )
virtualinherited

Return a list of footprint names contained within the library at aLibraryPath.

Parameters
aLibraryPathis a locator for the "library", usually a directory, file, or URL containing several footprints.
aPropertiesis 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.
aFootprintNamesis the array of available footprint names inside a library.
aBestEffortsif true, don't throw on errors, just return an empty list.
Exceptions
IO_ERRORif the library cannot be found, or footprint cannot be loaded.

Reimplemented in PCB_IO_ALTIUM_DESIGNER, PCB_IO_CADSTAR_ARCHIVE, PCB_IO_EAGLE, PCB_IO_EASYEDA, PCB_IO_EASYEDAPRO, PCB_IO_EASYEDAPRO_V3, PCB_IO_EASYPC, PCB_IO_GEDA, PCB_IO_KICAD_LEGACY, PCB_IO_KICAD_SEXPR, and PCB_IO_SPRINT_LAYOUT.

Definition at line 112 of file pcb_io.cpp.

References NOT_IMPLEMENTED.

Referenced by FOOTPRINT_LIBRARY_ADAPTER::GetFootprintNames(), and ImportFootprint().

◆ FootprintExists()

bool PCB_IO::FootprintExists ( const wxString & aLibraryPath,
const wxString & aFootprintName,
const std::map< std::string, UTF8 > * aProperties = nullptr )
virtualinherited

Check for the existence of a footprint.

Reimplemented in PCB_IO_CADSTAR_ARCHIVE, PCB_IO_EASYPC, and PCB_IO_KICAD_SEXPR.

Definition at line 152 of file pcb_io.cpp.

References FootprintLoad().

Referenced by FOOTPRINT_LIBRARY_ADAPTER::FootprintExists().

◆ FootprintLoad()

std::unique_ptr< FOOTPRINT > PCB_IO::FootprintLoad ( const wxString & aLibraryPath,
const wxString & aFootprintName,
bool aKeepUUID = false,
const std::map< std::string, UTF8 > * aProperties = nullptr )
virtualinherited

Load a footprint having aFootprintName from the aLibraryPath containing a library format that this PCB_IO knows about.

Parameters
aLibraryPathis a locator for the "library", usually a directory, file, or URL containing several footprints.
aFootprintNameis the name of the footprint to load.
aPropertiesis 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.
aKeepUUID= true to keep initial items UUID, false to set new UUID normally true if loaded in the footprint editor, false if loaded in the board editor. Make sense only in kicad_plugin
Returns
the FOOTPRINT object if found, caller owns it, else NULL if not found.
Exceptions
IO_ERRORif the library cannot be found or read. No exception is thrown in the case where aFootprintName cannot be found.

Reimplemented in PCB_IO_ALTIUM_DESIGNER, PCB_IO_CADSTAR_ARCHIVE, PCB_IO_EAGLE, PCB_IO_EASYEDA, PCB_IO_EASYEDAPRO, PCB_IO_EASYEDAPRO_V3, PCB_IO_EASYPC, PCB_IO_GEDA, PCB_IO_KICAD_LEGACY, PCB_IO_KICAD_SEXPR, and PCB_IO_SPRINT_LAYOUT.

Definition at line 160 of file pcb_io.cpp.

References NOT_IMPLEMENTED.

Referenced by FootprintExists(), GetEnumeratedFootprint(), ImportFootprint(), FOOTPRINT_LIBRARY_ADAPTER::LoadFootprint(), and FOOTPRINT_LIBRARY_ADAPTER::SaveFootprint().

◆ FootprintSave()

void PCB_IO::FootprintSave ( const wxString & aLibraryPath,
const FOOTPRINT * aFootprint,
const std::map< std::string, UTF8 > * aProperties = nullptr )
virtualinherited

Write aFootprint to an existing library located at aLibraryPath.

If a footprint by the same name already exists, it is replaced.

Parameters
aLibraryPathis a locator for the "library", usually a directory, file, or URL containing several footprints.
aFootprintis what to store in the library. The caller continues to own the footprint after this call.
aPropertiesis an associative array that can be used to tell the saver how to save the footprint, 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.
Exceptions
IO_ERRORif there is a problem saving.

Reimplemented in PCB_IO_KICAD_SEXPR.

Definition at line 169 of file pcb_io.cpp.

References NOT_IMPLEMENTED.

Referenced by FOOTPRINT_LIBRARY_ADAPTER::SaveFootprint().

◆ GenerateFiles()

bool PCB_IO_ODBPP::GenerateFiles ( ODB_TREE_WRITER & writer)

Definition at line 133 of file pcb_io_odbpp.cpp.

References m_entities.

Referenced by ExportODB().

◆ GetAuxilliaryLayerItemsMap()

std::map< ODB_AUX_LAYER_KEY, std::vector< BOARD_ITEM * > > & PCB_IO_ODBPP::GetAuxilliaryLayerItemsMap ( )
inline

Definition at line 118 of file pcb_io_odbpp.h.

References m_auxilliary_layers.

◆ GetBoardFileDesc()

const IO_BASE::IO_FILE_DESC PCB_IO_ODBPP::GetBoardFileDesc ( ) const
inlineoverridevirtual

Return board file description for the PCB_IO.

Reimplemented from PCB_IO.

Definition at line 70 of file pcb_io_odbpp.h.

References _HKI.

◆ GetDrillLayerItemsMap()

std::map< DRILL_SPAN, std::vector< BOARD_ITEM * > > & PCB_IO_ODBPP::GetDrillLayerItemsMap ( )
inline

Definition at line 116 of file pcb_io_odbpp.h.

References m_drill_layers.

◆ GetEnumeratedFootprint()

const FOOTPRINT * PCB_IO::GetEnumeratedFootprint ( const wxString & aLibraryPath,
const wxString & aFootprintName,
const std::map< std::string, UTF8 > * aProperties = nullptr )
virtualinherited

A version of FootprintLoad() for use after FootprintEnumerate() for more efficient cache management in plugins that support it.

Whether the returned pointer is borrowed or owned by the caller depends on the plugin. Use CachesEnumeratedFootprints() to determine.

Reimplemented in PCB_IO_EASYPC, and PCB_IO_KICAD_SEXPR.

Definition at line 144 of file pcb_io.cpp.

References FootprintLoad().

◆ GetFabDrillModel()

const FAB_DRILL_MODEL & PCB_IO_ODBPP::GetFabDrillModel ( )

Definition at line 215 of file pcb_io_odbpp.cpp.

References m_board, and m_fabDrillModel.

◆ GetFabStackup()

const FAB_STACKUP & PCB_IO_ODBPP::GetFabStackup ( ) const
inline

Definition at line 91 of file pcb_io_odbpp.h.

References m_fabStackup.

◆ GetFormat()

const ODB_FORMAT & PCB_IO_ODBPP::GetFormat ( ) const
inline

Definition at line 90 of file pcb_io_odbpp.h.

References m_format.

◆ GetImportedCachedLibraryFootprints()

std::vector< FOOTPRINT * > PCB_IO_ODBPP::GetImportedCachedLibraryFootprints ( )
overridevirtual

Return a container with the cached library footprints generated in the last call to Load.

This function is intended to be used ONLY by the non-KiCad board importers for the purpose of obtaining the footprint library of the design and creating a project-specific library.

Returns
Footprints (caller owns the objects)

Reimplemented from PCB_IO.

Definition at line 201 of file pcb_io_odbpp.cpp.

References m_loaded_footprints.

◆ GetImportedDesignRules()

virtual wxString PCB_IO::GetImportedDesignRules ( ) const
inlinevirtualinherited

Return custom DRC rules generated while importing the most recent board.

The caller owns persistence of these rules beside the imported KiCad board.

Reimplemented in PCB_IO_EASYEDAPRO, PCB_IO_EASYEDAPRO_V3, and PCB_IO_EASYPC.

Definition at line 175 of file pcb_io.h.

◆ GetLayerNameList()

std::vector< ODB_LAYER_NAME > & PCB_IO_ODBPP::GetLayerNameList ( )
inline

Definition at line 109 of file pcb_io_odbpp.h.

References m_layer_name_list.

◆ GetLegalNetName()

const wxString & PCB_IO_ODBPP::GetLegalNetName ( int aNetCode) const
inline

Definition at line 156 of file pcb_io_odbpp.h.

References m_netNames.

◆ GetLibraryDesc()

const IO_BASE::IO_FILE_DESC PCB_IO_ODBPP::GetLibraryDesc ( ) const
inlineoverridevirtual

Get the descriptor for the library container that this IO plugin operates on.

Returns
File descriptor for the container of the library elements

Implements IO_BASE.

Definition at line 75 of file pcb_io_odbpp.h.

◆ GetLibraryFileDesc()

virtual const IO_FILE_DESC IO_BASE::GetLibraryFileDesc ( ) const
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().

Returns
File descriptor for the library elements

Reimplemented in PCB_IO_EASYEDA, PCB_IO_EASYEDAPRO, PCB_IO_GEDA, PCB_IO_KICAD_SEXPR, and PCB_IO_SPRINT_LAYOUT.

Definition at line 117 of file io_base.h.

References GetLibraryDesc().

Referenced by PCB_IO::CanReadFootprint().

◆ GetLibraryOptions()

void PCB_IO::GetLibraryOptions ( std::map< std::string, UTF8 > * aListToAppendTo) const
overridevirtualinherited

Append supported PLUGIN options to aListToAppenTo along with internationalized descriptions.

Options are typically appended so that a derived PCB_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 Footprint*() functions in all derived PLUGINs.

Note
Since aListToAppendTo is a map all options will be unique and the last guy wins.
Parameters
aListToAppendToholds a tuple of
option
This eventually is what shows up into the fp-lib-table "options" field, possibly combined with others.
internationalized description
The internationalized description is displayed in DIALOG_PLUGIN_OPTIONS. It may be multi-line and be quite explanatory of the option.

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 PLUGIN, which has been avoided to date.

Reimplemented from IO_BASE.

Definition at line 185 of file pcb_io.cpp.

References _, and IO_BASE::GetLibraryOptions().

◆ GetLibraryTimestamp()

long long PCB_IO_ODBPP::GetLibraryTimestamp ( const wxString & aLibraryPath) const
inlineoverridevirtual

Generate a timestamp representing all the files in the library (including the library directory).

Timestamps should not be considered ordered, they either match or they don't.

Implements PCB_IO.

Definition at line 97 of file pcb_io_odbpp.h.

◆ GetLoadedFootprintList()

std::vector< std::shared_ptr< FOOTPRINT > > & PCB_IO_ODBPP::GetLoadedFootprintList ( )
inline

Definition at line 111 of file pcb_io_odbpp.h.

References m_loaded_footprints.

◆ GetName()

const wxString & IO_BASE::GetName ( ) const
inlineinherited

◆ GetNetTieFeatures()

const std::map< std::pair< const BOARD_ITEM *, PCB_LAYER_ID >, std::pair< wxString, size_t > > & PCB_IO_ODBPP::GetNetTieFeatures ( ) const
inline

Definition at line 151 of file pcb_io_odbpp.h.

References m_netTieFeatures.

◆ GetPadSubnetMap()

std::map< const PAD *, EDA_DATA::SUB_NET_TOEPRINT * > & PCB_IO_ODBPP::GetPadSubnetMap ( )
inline

Definition at line 129 of file pcb_io_odbpp.h.

References m_topeprint_subnets.

Referenced by FEATURES_MANAGER::AddPad().

◆ GetPlaneSubnetMap()

std::map< std::pair< PCB_LAYER_ID, ZONE * >, EDA_DATA::SUB_NET_PLANE * > & PCB_IO_ODBPP::GetPlaneSubnetMap ( )
inline

Definition at line 134 of file pcb_io_odbpp.h.

References m_plane_subnets.

Referenced by FEATURES_MANAGER::AddZone().

◆ GetSlotHolesMap()

std::map< std::pair< PCB_LAYER_ID, PCB_LAYER_ID >, std::vector< BOARD_ITEM * > > & PCB_IO_ODBPP::GetSlotHolesMap ( )
inline

Definition at line 124 of file pcb_io_odbpp.h.

References m_slot_holes.

◆ GetViaTraceSubnetMap()

std::map< PCB_TRACK *, EDA_DATA::SUB_NET * > & PCB_IO_ODBPP::GetViaTraceSubnetMap ( )
inline

Definition at line 139 of file pcb_io_odbpp.h.

References m_via_trace_subnets.

Referenced by FEATURES_MANAGER::AddTrack().

◆ ImportFootprint()

std::unique_ptr< FOOTPRINT > PCB_IO::ImportFootprint ( const wxString & aFootprintPath,
wxString & aFootprintNameOut,
const std::map< std::string, UTF8 > * aProperties = nullptr )
virtualinherited

Load a single footprint from aFootprintPath and put its name in aFootprintNameOut.

If this is a footprint library, the first footprint should be loaded. The default implementation uses FootprintEnumerate and FootprintLoad to load first footprint.

Parameters
aFootprintPathis a path of the footprint file.
aFootprintNameOutis the name output of the loaded footprint.
aPropertiesis 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.
Returns
the FOOTPRINT object if found, caller owns it, else NULL if not found.
Exceptions
IO_ERRORif the footprint cannot be found or read.

Reimplemented in PCB_IO_GEDA, and PCB_IO_KICAD_SEXPR.

Definition at line 120 of file pcb_io.cpp.

References _, FootprintEnumerate(), FootprintLoad(), IO_BASE::Report(), and RPT_SEVERITY_WARNING.

◆ IsLibraryWritable()

bool IO_BASE::IsLibraryWritable ( const wxString & aLibraryPath)
virtualinherited

Return true if the library at aLibraryPath is writable.

The system libraries are typically read only because of where they are installed..

Parameters
aLibraryPathis a locator for the "library", usually a directory, file, or URL containing several footprints.
Exceptions
IO_ERRORif no library at aLibraryPath exists.

Reimplemented in DESIGN_BLOCK_IO, PCB_IO_ALLEGRO, PCB_IO_ALTIUM_DESIGNER, PCB_IO_CADSTAR_ARCHIVE, PCB_IO_EAGLE, PCB_IO_EASYEDA, PCB_IO_EASYEDAPRO, PCB_IO_EASYEDAPRO_V3, PCB_IO_EASYPC, PCB_IO_GEDA, PCB_IO_KICAD_LEGACY, PCB_IO_KICAD_SEXPR, PCB_IO_SPRINT_LAYOUT, SCH_IO_ALTIUM, SCH_IO_CADSTAR_ARCHIVE, SCH_IO_DATABASE, SCH_IO_DIPTRACE, SCH_IO_EAGLE, SCH_IO_EASYEDA, SCH_IO_EASYEDAPRO, SCH_IO_EASYEDAPRO_V3, SCH_IO_EASYPC, SCH_IO_GEDA, SCH_IO_HTTP_LIB, SCH_IO_KICAD_LEGACY, SCH_IO_KICAD_SEXPR, SCH_IO_ORCAD, SCH_IO_PADS, and SCH_IO_PCAD.

Definition at line 60 of file io_base.cpp.

References NOT_IMPLEMENTED.

Referenced by DESIGN_BLOCK_LIBRARY_ADAPTER::IsDesignBlockLibWritable(), and LIBRARY_MANAGER_ADAPTER::IsWritable().

◆ IsPCB_IO()

bool PCB_IO::IsPCB_IO ( ) const
inlineoverridevirtualinherited

Work-around for lack of dynamic_cast across compile units on Mac.

Reimplemented from IO_BASE.

Definition at line 90 of file pcb_io.h.

◆ LoadAndAppendBoard()

void PCB_IO::LoadAndAppendBoard ( const wxString & aFileName,
BOARD & aAppendToMe,
const std::map< std::string, UTF8 > * aProperties = nullptr,
PROJECT * aProject = nullptr )
inherited

Same as LoadBoard(), but appends the loaded board to an existing board, which must already exist.

Parameters
aFileNameis the file name of the board to load and append to aAppendToMe.
aAppendToMeis the existing board to append to. The caller always owns it.
[in]aPropertiesare any custom properties for the plugin.
[in]aProjectis an optional PROJECT object.

Definition at line 85 of file pcb_io.cpp.

References loadBoard().

Referenced by PCB_CONTROL::AppendBoard(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().

◆ LoadBoard()

std::unique_ptr< BOARD > PCB_IO::LoadBoard ( const wxString & aFileName,
const std::map< std::string, UTF8 > * aProperties = nullptr,
PROJECT * aProject = nullptr )
inherited

Load information from some input file format that this PCB_IO implementation knows about into new BOARD.

Parameters
aFileNameis the name of the file to use as input and may be foreign in nature or native in nature.
aPropertiesis 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.
aProjectis the optional PROJECT object primarily used by third party importers.
Returns
the successfully loaded board. Caller owns it.
Exceptions
IO_ERRORif 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.
IO_CANCELLEDif the user cancelled the load.

Definition at line 72 of file pcb_io.cpp.

References loadBoard().

Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), CachedLoad(), checkAllCopperFillZonesHaveClearance(), checkImportedOriginOffset(), PNS_LOG_FILE::Load(), LoadAndVerify(), EAGLE_BINARY_IMPORT_FIXTURE::loadBoard(), and KI_TEST::LoadBoardWithCapture().

◆ loadBoard()

void PCB_IO::loadBoard ( const wxString & aFileName,
BOARD & aBoard,
bool aIsNewLoad,
const std::map< std::string, UTF8 > * aProperties,
PROJECT * aProject )
protectedvirtualinherited

Parse aFileName into aBoard.

The caller owns aBoard in both cases.

Parameters
aFileNameis the file name of the board to load.
[in]aBoardis the BOARD object to load aFileName into.
aIsNewLoadis true for a fresh load (adopt the file's setup, keep the file's UUIDs) and false when merging into an existing board (preserve its setup, regenerate UUIDs that would clash).
aPropertiesare any optional properties used by the plugin.
aProject

Reimplemented in PCB_IO_ALLEGRO, PCB_IO_ALTIUM_CIRCUIT_MAKER, PCB_IO_ALTIUM_CIRCUIT_STUDIO, PCB_IO_ALTIUM_DESIGNER, PCB_IO_AUTOTRAX, PCB_IO_CADSTAR_ARCHIVE, PCB_IO_DIPTRACE, PCB_IO_EAGLE, PCB_IO_EASYEDA, PCB_IO_EASYEDAPRO, PCB_IO_EASYEDAPRO_V3, PCB_IO_EASYPC, PCB_IO_FABMASTER, PCB_IO_GEDA, PCB_IO_KICAD_LEGACY, PCB_IO_KICAD_SEXPR, PCB_IO_PADS, PCB_IO_PADS_BINARY, PCB_IO_PCAD, PCB_IO_SOLIDWORKS, and PCB_IO_SPRINT_LAYOUT.

Definition at line 92 of file pcb_io.cpp.

References NOT_IMPLEMENTED.

Referenced by LoadAndAppendBoard(), and LoadBoard().

◆ Make()

template<typename T, typename... Args>
void PCB_IO_ODBPP::Make ( Args &&... args)
inlineprivate

Definition at line 175 of file pcb_io_odbpp.h.

References m_entities.

Referenced by CreateEntity().

◆ MaxPrecision()

static int PCB_IO_ODBPP::MaxPrecision ( )
inlinestatic

Highest sigfig accepted by the exporter, matching the export dialog's spin control.

Definition at line 88 of file pcb_io_odbpp.h.

Referenced by ConfigureExport(), and DIALOG_EXPORT_ODBPP::updatePrecisionRange().

◆ MaxUid()

uint32_t PCB_IO_ODBPP::MaxUid ( ) const
inline

Definition at line 95 of file pcb_io_odbpp.h.

References m_maxUid.

◆ MinPrecision()

static int PCB_IO_ODBPP::MinPrecision ( bool aInches)
inlinestatic

Lowest sigfig that still resolves a 0.1 mil grid: 3 decimal places in mm, 4 in inches.

Definition at line 85 of file pcb_io_odbpp.h.

Referenced by ConfigureExport(), and DIALOG_EXPORT_ODBPP::updatePrecisionRange().

◆ NewUid()

uint32_t PCB_IO_ODBPP::NewUid ( )
inline

Definition at line 94 of file pcb_io_odbpp.h.

References m_maxUid.

Referenced by EDA_DATA::AssignNetUids().

◆ RecordNetTieFeature()

void PCB_IO_ODBPP::RecordNetTieFeature ( const BOARD_ITEM * aItem,
PCB_LAYER_ID aLayer,
const wxString & aLayerName,
size_t aIndex )
inline

Definition at line 144 of file pcb_io_odbpp.h.

References m_netTieFeatures.

Referenced by FEATURES_MANAGER::InitFeatureList().

◆ Report()

◆ SaveBoard()

void PCB_IO_ODBPP::SaveBoard ( const wxString & aFileName,
BOARD & aBoard,
const std::map< std::string, UTF8 > * aProperties = nullptr )
overridevirtual

Write aBoard to a storage file in a format that this PCB_IO implementation knows about or it can be used to write a portion of aBoard to a special kind of export file.

Parameters
aFileNameis the name of a file to save to on disk.
aBoardis the class BOARD in memory document tree from which to extract information when writing to aFileName. The caller continues to own the BOARD, and the plugin should refrain from modifying the BOARD if possible.
aPropertiesis 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.
Exceptions
IO_ERRORif there is a problem saving or exporting.

Reimplemented from PCB_IO.

Definition at line 317 of file pcb_io_odbpp.cpp.

References Export(), ODB_EXPORT_OPTIONS::m_inch, and ODB_EXPORT_OPTIONS::m_precision.

Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), ExportOdb(), and ExportOdbTree().

◆ SetProgressReporter()

virtual void IO_BASE::SetProgressReporter ( PROGRESS_REPORTER * aReporter)
inlinevirtualinherited

Set an optional progress reporter.

Reimplemented in SCH_IO_CADSTAR_ARCHIVE.

Definition at line 94 of file io_base.h.

References m_progressReporter.

Referenced by PCB_CONTROL::AppendBoard(), GenerateIpc2581File(), and generateOneODBPackage().

◆ SetQueryUserCallback()

virtual void PCB_IO::SetQueryUserCallback ( std::function< bool(wxString aTitle, int aIcon, wxString aMessage, wxString aAction)> aCallback)
inlinevirtualinherited

Register a KIDIALOG callback for collecting info from the user.

Definition at line 118 of file pcb_io.h.

Referenced by PCB_CONTROL::AppendBoard().

◆ SetReporter()

◆ SupportsConfigurationDialog()

virtual bool IO_BASE::SupportsConfigurationDialog ( ) const
inlinevirtualinherited
Returns
true if this plugin supports a GUI for configuration that can be launched from the library table configuration dialog or other UI contexts

Reimplemented in SCH_IO_DATABASE.

Definition at line 207 of file io_base.h.

Member Data Documentation

◆ m_auxilliary_layers

std::map<ODB_AUX_LAYER_KEY, std::vector<BOARD_ITEM*> > PCB_IO_ODBPP::m_auxilliary_layers
private

Definition at line 194 of file pcb_io_odbpp.h.

Referenced by GetAuxilliaryLayerItemsMap().

◆ m_board

BOARD* PCB_IO_ODBPP::m_board
private

Definition at line 184 of file pcb_io_odbpp.h.

Referenced by ConfigureExport(), CreateEntity(), GetFabDrillModel(), and PCB_IO_ODBPP().

◆ m_drill_layers

std::map<DRILL_SPAN, std::vector<BOARD_ITEM*> > PCB_IO_ODBPP::m_drill_layers
private

Definition at line 192 of file pcb_io_odbpp.h.

Referenced by GetDrillLayerItemsMap().

◆ m_entities

std::vector<std::shared_ptr<ODB_ENTITY_BASE> > PCB_IO_ODBPP::m_entities
private

Definition at line 212 of file pcb_io_odbpp.h.

Referenced by ConfigureExport(), ExportODB(), GenerateFiles(), and Make().

◆ m_fabDrillModel

std::unique_ptr<FAB_DRILL_MODEL> PCB_IO_ODBPP::m_fabDrillModel
private

Definition at line 211 of file pcb_io_odbpp.h.

Referenced by ConfigureExport(), and GetFabDrillModel().

◆ m_fabStackup

std::unique_ptr<FAB_STACKUP> PCB_IO_ODBPP::m_fabStackup
private

Definition at line 210 of file pcb_io_odbpp.h.

Referenced by ConfigureExport(), and GetFabStackup().

◆ m_format

ODB_FORMAT PCB_IO_ODBPP::m_format
private

Definition at line 185 of file pcb_io_odbpp.h.

Referenced by ConfigureExport(), CreateEntity(), and GetFormat().

◆ m_layer_name_list

std::vector<ODB_LAYER_NAME> PCB_IO_ODBPP::m_layer_name_list
private

Definition at line 190 of file pcb_io_odbpp.h.

Referenced by GetLayerNameList().

◆ m_loaded_footprints

std::vector<std::shared_ptr<FOOTPRINT> > PCB_IO_ODBPP::m_loaded_footprints
private

◆ m_maxUid

uint32_t PCB_IO_ODBPP::m_maxUid = 0
private

Definition at line 186 of file pcb_io_odbpp.h.

Referenced by CreateEntity(), MaxUid(), and NewUid().

◆ m_name

wxString IO_BASE::m_name
protectedinherited

Name of the IO loader.

Definition at line 235 of file io_base.h.

Referenced by PCB_IO_IPC2581::generateBOMSection(), GetName(), IO_BASE(), and PCB_IO_IPC2581::pinName().

◆ m_netNames

std::map<int, wxString> PCB_IO_ODBPP::m_netNames
private

Definition at line 201 of file pcb_io_odbpp.h.

Referenced by CreateEntity(), and GetLegalNetName().

◆ m_netTieFeatures

std::map<std::pair<const BOARD_ITEM*, PCB_LAYER_ID>, std::pair<wxString, size_t> > PCB_IO_ODBPP::m_netTieFeatures
private

Definition at line 207 of file pcb_io_odbpp.h.

Referenced by CreateEntity(), GetNetTieFeatures(), and RecordNetTieFeature().

◆ m_plane_subnets

std::map<std::pair<PCB_LAYER_ID, ZONE*>, EDA_DATA::SUB_NET_PLANE*> PCB_IO_ODBPP::m_plane_subnets
private

Definition at line 203 of file pcb_io_odbpp.h.

Referenced by ConfigureExport(), and GetPlaneSubnetMap().

◆ m_progressReporter

PROGRESS_REPORTER* IO_BASE::m_progressReporter
protectedinherited

◆ m_props

◆ m_reporter

REPORTER* IO_BASE::m_reporter
protectedinherited

Reporter to log errors/warnings to, may be nullptr.

Definition at line 238 of file io_base.h.

Referenced by SCH_IO_EASYPC::convertComponent(), PCB_IO_CADSTAR_ARCHIVE::ensureLoadedLibrary(), SCH_IO_CADSTAR_ARCHIVE::ensureLoadedLibrary(), SCH_IO_GEDA::flushPendingComponent(), PCB_IO_ALTIUM_DESIGNER::FootprintLoad(), SCH_IO_GEDA::getOrLoadSymbol(), SCH_IO_GEDA::importHierarchicalSheet(), IO_BASE(), PCB_IO_EASYPC::library(), SCH_IO_EASYPC::library(), SCH_IO_PADS::loadBinarySchematicFile(), PCB_IO_ALTIUM_CIRCUIT_MAKER::loadBoard(), PCB_IO_ALTIUM_CIRCUIT_STUDIO::loadBoard(), PCB_IO_ALTIUM_DESIGNER::loadBoard(), PCB_IO_CADSTAR_ARCHIVE::loadBoard(), PCB_IO_EASYPC::loadBoard(), PCB_IO_FABMASTER::loadBoard(), PCB_IO_PADS::loadBoard(), PCB_IO_PADS_BINARY::loadBoard(), PCB_IO_PCAD::loadBoard(), PCB_IO_SOLIDWORKS::loadBoard(), PCB_IO_ALLEGRO::LoadBoardFromData(), PCB_IO_PADS::loadCopperShapes(), PCB_IO_PADS_BINARY::loadCopperShapes(), SCH_IO_GEDA::loadDeferredSheets(), PCB_IO_PADS::loadFootprints(), PCB_IO_PADS_BINARY::loadFootprints(), SCH_IO_ORCAD::loadOlbSymbols(), SCH_IO_ALTIUM::LoadSchematicFile(), SCH_IO_CADSTAR_ARCHIVE::LoadSchematicFile(), SCH_IO_DIPTRACE::LoadSchematicFile(), SCH_IO_EASYPC::LoadSchematicFile(), SCH_IO_GEDA::LoadSchematicFile(), SCH_IO_LTSPICE::LoadSchematicFile(), SCH_IO_ORCAD::LoadSchematicFile(), SCH_IO_PADS::LoadSchematicFile(), PCB_IO_PADS::loadTracksAndVias(), PCB_IO_PADS_BINARY::loadTracksAndVias(), PCB_IO_PADS::loadZones(), PCB_IO_PADS_BINARY::loadZones(), SCH_IO_ALTIUM::ParseLibFile(), SCH_IO_ALTIUM::ParsePowerPort(), SCH_IO_PCAD::populateScreen(), Report(), PCB_IO_AUTOTRAX::reporter(), SCH_IO_ALTIUM::SCH_IO_ALTIUM(), SCH_IO_CADSTAR_ARCHIVE::SCH_IO_CADSTAR_ARCHIVE(), SCH_IO_DIPTRACE::SCH_IO_DIPTRACE(), SCH_IO_EASYEDA::SCH_IO_EASYEDA(), SCH_IO_EASYPC::SCH_IO_EASYPC(), SCH_IO_LTSPICE::SCH_IO_LTSPICE(), SCH_IO_ORCAD::SCH_IO_ORCAD(), SetReporter(), and SCH_IO_CADSTAR_ARCHIVE::SetReporter().

◆ m_slot_holes

std::map<std::pair<PCB_LAYER_ID, PCB_LAYER_ID>, std::vector<BOARD_ITEM*> > PCB_IO_ODBPP::m_slot_holes
private

Definition at line 197 of file pcb_io_odbpp.h.

Referenced by GetSlotHolesMap().

◆ m_topeprint_subnets

std::map<const PAD*, EDA_DATA::SUB_NET_TOEPRINT*> PCB_IO_ODBPP::m_topeprint_subnets
private

Definition at line 199 of file pcb_io_odbpp.h.

Referenced by ConfigureExport(), and GetPadSubnetMap().

◆ m_via_trace_subnets

std::map<PCB_TRACK*, EDA_DATA::SUB_NET*> PCB_IO_ODBPP::m_via_trace_subnets
private

Definition at line 205 of file pcb_io_odbpp.h.

Referenced by ConfigureExport(), and GetViaTraceSubnetMap().

◆ m_writer

std::shared_ptr<ODB_TREE_WRITER> PCB_IO_ODBPP::m_writer

Definition at line 162 of file pcb_io_odbpp.h.


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