KiCad PCB EDA Suite
Loading...
Searching...
No Matches
odb_util.h File Reference
#include <map>
#include <set>
#include <optional>
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <tuple>
#include <layer_ids.h>
#include <padstack.h>
#include <base_units.h>
#include <drill/drill_span.h>
#include <exporters/fab_model/fab_sections.h>
#include <jobs/job_export_pcb_odb.h>
#include <wx/string.h>
#include "pcb_shape.h"
#include <wx/filename.h>

Go to the source code of this file.

Classes

struct  ODB::VARIANT_NAMES
 
struct  ODB_EXPORT_OPTIONS
 What a caller asks of one ODB++ export. More...
 
struct  ODB_FORMAT
 
class  ODB::EnumStringMap< T >
 
class  ODB::CHECK_ONCE
 
class  ODB_FILE_WRITER
 
class  ODB_TREE_WRITER
 
class  ODB_TEXT_WRITER
 
class  ODB_TEXT_WRITER::ARRAY_PROXY
 
class  ODB_DRILL_TOOLS
 
struct  ODB_DRILL_TOOLS::TOOLS
 

Namespaces

namespace  ODB
 

Typedefs

using ODB_AUX_LAYER_KEY = std::tuple<ODB_AUX_LAYER_TYPE, PCB_LAYER_ID, PCB_LAYER_ID>
 

Enumerations

enum class  ODB_POLARITY { POSITIVE , NEGATIVE }
 
enum class  ODB_CONTEXT { BOARD , MISC }
 
enum class  ODB_DIELECTRIC_TYPE { NONE , PREPREG , CORE }
 
enum class  ODB_TYPE {
  UNDEFINED , SIGNAL , POWER_GROUND , DIELECTRIC ,
  MIXED , SOLDER_MASK , SOLDER_PASTE , SILK_SCREEN ,
  DRILL , ROUT , DOCUMENT , COMPONENT ,
  MASK , CONDUCTIVE_PASTE
}
 
enum class  ODB_SUBTYPE {
  COVERLAY , COVERCOAT , STIFFENER , BEND_AREA ,
  FLEX_AREA , RIGID_AREA , PSA , SILVER_MASK ,
  CARBON_MASK , BACKDRILL
}
 
enum class  ODB_FID_TYPE { COPPER , LAMINATE , HOLE }
 
enum class  ODB_AUX_LAYER_TYPE {
  COVERING , PLUGGING , TENTING , FILLING ,
  CAPPING
}
 
enum class  ODB_LAYER_ROLE {
  BOARD_LAYER , DRILL , BACKDRILL , VIA_PROTECTION ,
  ROUT , COMPONENT
}
 

Functions

std::vector< wxString > ODB::UniqueNames (const std::vector< wxString > &aBases, const std::set< wxString > &aReserved, size_t aMaxLength)
 
int ODB::IpcViaType (const DRILL_OPERATION &aOperation, bool aTop)
 
bool ODB::ViaInPad (const PCB_VIA &aVia)
 
std::vector< ODB_TYPE > ODB::OverridableLayerTypes (PCB_LAYER_ID aLayer)
 Matrix types a layer override may assign to aLayer.
 
wxString ODB::GenODBString (const wxString &aStr)
 
wxString ODB::GenLegalNetName (const wxString &aStr)
 
wxString ODB::GenLegalComponentName (const wxString &aStr)
 
wxString ODB::GenLegalEntityName (const wxString &aStr)
 
void ODB::RemoveWhitespace (wxString &aStr)
 
wxString ODB::Double2String (const ODB_FORMAT &aFormat, double aVal)
 
std::string ODB::Double2String (double aVal, int32_t aDigits)
 
wxString ODB::Data2String (const ODB_FORMAT &aFormat, double aVal)
 
wxString ODB::SymDouble2String (const ODB_FORMAT &aFormat, double aVal)
 
std::pair< wxString, wxString > ODB::AddXY (const ODB_FORMAT &aFormat, const VECTOR2I &aVec)
 
std::pair< wxString, wxString > ODB::AddRelativeXY (const ODB_FORMAT &aFormat, const VECTOR2I &aVec)
 
VECTOR2I ODB::GetShapePosition (const PCB_SHAPE &aShape)
 
template<typename T>
std::string ODB::Enum2String (T value)
 

Typedef Documentation

◆ ODB_AUX_LAYER_KEY

Definition at line 153 of file odb_util.h.

Enumeration Type Documentation

◆ ODB_AUX_LAYER_TYPE

enum class ODB_AUX_LAYER_TYPE
strong
Enumerator
COVERING 
PLUGGING 
TENTING 
FILLING 
CAPPING 

Definition at line 144 of file odb_util.h.

◆ ODB_CONTEXT

enum class ODB_CONTEXT
strong
Enumerator
BOARD 
MISC 

Definition at line 91 of file odb_util.h.

◆ ODB_DIELECTRIC_TYPE

enum class ODB_DIELECTRIC_TYPE
strong
Enumerator
NONE 
PREPREG 
CORE 

Definition at line 97 of file odb_util.h.

◆ ODB_FID_TYPE

enum class ODB_FID_TYPE
strong
Enumerator
COPPER 
LAMINATE 
HOLE 

Definition at line 137 of file odb_util.h.

◆ ODB_LAYER_ROLE

enum class ODB_LAYER_ROLE
strong
Enumerator
BOARD_LAYER 
DRILL 
BACKDRILL 
VIA_PROTECTION 
ROUT 
COMPONENT 

Definition at line 155 of file odb_util.h.

◆ ODB_POLARITY

enum class ODB_POLARITY
strong
Enumerator
POSITIVE 
NEGATIVE 

Definition at line 23 of file odb_util.h.

◆ ODB_SUBTYPE

enum class ODB_SUBTYPE
strong
Enumerator
COVERLAY 
COVERCOAT 
STIFFENER 
BEND_AREA 
FLEX_AREA 
RIGID_AREA 
PSA 
SILVER_MASK 
CARBON_MASK 
BACKDRILL 

Definition at line 123 of file odb_util.h.

◆ ODB_TYPE

enum class ODB_TYPE
strong
Enumerator
UNDEFINED 
SIGNAL 
POWER_GROUND 
DIELECTRIC 
MIXED 
SOLDER_MASK 
SOLDER_PASTE 
SILK_SCREEN 
DRILL 
ROUT 
DOCUMENT 
COMPONENT 
MASK 
CONDUCTIVE_PASTE 

Definition at line 104 of file odb_util.h.