22#ifndef _PCB_IO_ODBPP_H_ 
   23#define _PCB_IO_ODBPP_H_ 
   60                    const std::map<std::string, UTF8>* aProperties = 
nullptr ) 
override;
 
   79    bool CanReadBoard( 
const wxString& aFileName )
 const override { 
return false; }
 
   85    bool CanReadLibrary( 
const wxString& aFileName )
 const override { 
return false; }
 
  103    inline std::map<std::pair<PCB_LAYER_ID, PCB_LAYER_ID>, std::vector<BOARD_ITEM*>>&
 
  109    inline std::map<std::tuple<ODB_AUX_LAYER_TYPE, PCB_LAYER_ID, PCB_LAYER_ID>,
 
  110                    std::vector<BOARD_ITEM*>>&
 
  116    inline std::map<std::pair<PCB_LAYER_ID, PCB_LAYER_ID>, std::vector<BOARD_ITEM*>>&
 
  141    bool ExportODB( 
const wxString& aFileName );
 
  155    template <
typename T, 
typename... Args>
 
  158        std::shared_ptr<ODB_ENTITY_BASE> entity =
 
  159                std::make_shared<T>( std::forward<Args>( args )... );
 
 
  169    std::vector<std::pair<PCB_LAYER_ID, wxString>>
 
  172    std::map<std::pair<PCB_LAYER_ID, PCB_LAYER_ID>, std::vector<BOARD_ITEM*>>
 
  175    std::map<std::tuple<ODB_AUX_LAYER_TYPE, PCB_LAYER_ID, PCB_LAYER_ID>, std::vector<BOARD_ITEM*>>
 
  178    std::map<std::pair<PCB_LAYER_ID, PCB_LAYER_ID>, std::vector<BOARD_ITEM*>>
 
  181    std::map<PCB_LAYER_ID, std::map<int, std::vector<BOARD_ITEM*>>>
 
 
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
 
Information pertinent to a Pcbnew printed circuit board.
 
A mix-in class (via multiple inheritance) that handles texts such as labels, parts,...
 
Handle the data for a net.
 
std::map< std::pair< PCB_LAYER_ID, ZONE * >, EDA_DATA::SUB_NET_PLANE * > & GetPlaneSubnetMap()
 
std::map< PCB_TRACK *, EDA_DATA::SUB_NET * > & GetViaTraceSubnetMap()
 
std::shared_ptr< ODB_TREE_WRITER > m_writer
 
bool CanReadBoard(const wxString &aFileName) const override
Checks if this PCB_IO can read the specified board file.
 
std::vector< FOOTPRINT * > GetImportedCachedLibraryFootprints() override
Return a container with the cached library footprints generated in the last call to Load.
 
void ClearLoadedFootprints()
 
void Make(Args &&... args)
 
std::vector< std::shared_ptr< FOOTPRINT > > & GetLoadedFootprintList()
 
std::map< std::pair< PCB_LAYER_ID, ZONE * >, EDA_DATA::SUB_NET_PLANE * > m_plane_subnets
 
bool CanReadFootprint(const wxString &aFileName) const override
Checks if this PCB_IO can read a footprint from specified file or directory.
 
std::map< std::tuple< ODB_AUX_LAYER_TYPE, PCB_LAYER_ID, PCB_LAYER_ID >, std::vector< BOARD_ITEM * > > m_auxilliary_layers
 
std::map< std::pair< PCB_LAYER_ID, PCB_LAYER_ID >, std::vector< BOARD_ITEM * > > m_drill_layers
 
std::vector< std::pair< PCB_LAYER_ID, wxString > > & GetLayerNameList()
 
bool ExportODB(const wxString &aFileName)
 
static double m_symbolScale
 
std::vector< std::shared_ptr< FOOTPRINT > > m_loaded_footprints
 
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< PCB_LAYER_ID, std::map< int, std::vector< BOARD_ITEM * > > > & GetLayerElementsMap()
 
std::vector< std::pair< PCB_LAYER_ID, wxString > > m_layer_name_list
 
const IO_BASE::IO_FILE_DESC GetBoardFileDesc() const override
Returns board file description for the PCB_IO.
 
std::vector< std::shared_ptr< ODB_ENTITY_BASE > > m_entities
 
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 u...
 
std::map< const PAD *, EDA_DATA::SUB_NET_TOEPRINT * > m_topeprint_subnets
 
std::map< std::tuple< ODB_AUX_LAYER_TYPE, PCB_LAYER_ID, PCB_LAYER_ID >, std::vector< BOARD_ITEM * > > & GetAuxilliaryLayerItemsMap()
 
std::map< std::pair< PCB_LAYER_ID, PCB_LAYER_ID >, std::vector< BOARD_ITEM * > > m_slot_holes
 
const IO_BASE::IO_FILE_DESC GetLibraryDesc() const override
Get the descriptor for the library container that this IO plugin operates on.
 
static std::string m_unitsStr
 
std::map< PCB_LAYER_ID, std::map< int, std::vector< BOARD_ITEM * > > > m_layer_elements
 
bool GenerateFiles(ODB_TREE_WRITER &writer)
 
std::map< PCB_TRACK *, EDA_DATA::SUB_NET * > m_via_trace_subnets
 
bool CreateDirectories(ODB_TREE_WRITER &writer)
 
std::map< std::pair< PCB_LAYER_ID, PCB_LAYER_ID >, std::vector< BOARD_ITEM * > > & GetDrillLayerItemsMap()
 
bool CanReadLibrary(const wxString &aFileName) const override
Checks if this IO object can read the specified library file/directory.
 
long long GetLibraryTimestamp(const wxString &aLibraryPath) const override
Generate a timestamp representing all the files in the library (including the library directory).
 
PCB_IO(const wxString &aName)
 
A progress reporter interface for use in multi-threaded environments.
 
Represent a set of closed polygons.
 
Container that describes file type info.