KiCad PCB EDA Suite
Loading...
Searching...
No Matches
PADS_IO::BINARY_PARSER Class Reference

Reader for the PADS PowerPCB binary .pcb format. More...

#include <pads_binary_parser.h>

Classes

struct  NET_ANCHOR
 
struct  OWNER_RUN
 
struct  ROUTE_OBJECT_NODES
 Every routed-copper object's PADS layer and route-node handle, indexed by object ordinal, plus the net set each handle reaches through the node link graph. More...
 
struct  VIA_LOCATION
 One placed via recovered from the section-60 junction ring. More...
 

Public Member Functions

 BINARY_PARSER ()
 
 ~BINARY_PARSER ()
 
 BINARY_PARSER (const BINARY_PARSER &)=delete
 
BINARY_PARSERoperator= (const BINARY_PARSER &)=delete
 
void Parse (const wxString &aFileName)
 
const PARAMETERSGetParameters () const
 
const std::vector< PART > & GetParts () const
 
const std::vector< NET > & GetNets () const
 
const std::vector< BIN_NET_CLASS_DEF > & GetNetClasses () const
 
const std::vector< DIFF_PAIR_DEF > & GetDiffPairs () const
 
const std::vector< ROUTE > & GetRoutes () const
 
const std::vector< TEXT > & GetTexts () const
 
const std::vector< POUR > & GetPours () const
 
const std::vector< KEEPOUT > & GetKeepouts () const
 
const std::vector< COPPER_SHAPE > & GetCopperShapes () const
 
const std::vector< GRAPHIC_LINE > & GetGraphicLines () const
 
const std::vector< DIMENSION > & GetDimensions () const
 
const std::vector< POLYLINE > & GetBoardOutlines () const
 
const std::map< std::string, PART_DECAL > & GetPartDecals () const
 
const std::vector< PART_CLUSTER > & GetClusters () const
 
const std::map< size_t, int > & GetPartClusterIds () const
 
int GetLayerCount () const
 
uint16_t GetVersion () const
 
std::vector< LAYER_INFOGetLayerInfos () const
 
std::set< std::string > GetPadStackShapesForTest () const
 
bool GetOwnerLoopForTest (const std::string &aName, std::vector< VECTOR2I > &aOut) const
 

Static Public Member Functions

static bool IsBinaryPadsFile (const wxString &aFileName)
 Check if a file appears to be a PADS binary PCB file.
 

Private Member Functions

bool isOldFormat () const
 
size_t layerStackupBase () const
 Base of section 69's layer records after its fixed controller lead-in.
 
bool usesDirectDecalChain () const
 
const SDB_SECTIONgetSection (int aIndex) const
 
const SDB_SECTIONgetSection (SECTION aSection) const
 
void parseBoardSetup ()
 
void parsePartPlacements ()
 
PART makePlacementPart (const SDB_RECORD &aRec, int aXOff, std::optional< int > aYOff, int aAngleOff, int aNameOff, const std::string &aRefDes) const
 
void parsePadStacks ()
 
void parsePartDecals ()
 
void parseDecalNameTable ()
 
void parseDecalNameTableOld ()
 
void parsePartTypeTable ()
 
void parseBoardOutlineDirect ()
 
void parseGraphicLines ()
 
SDB_RECORD arcRecordFor (const SDB_SECTION &aArcParameters, int32_t aArcStart, int32_t aAttr, const char *aWhat) const
 
void parseNetNames ()
 
void parseNetNamesNew ()
 
void parseNetNamesOld ()
 
void parseNetConnectionsNew ()
 
std::map< uint32_t, size_t > parseRouteJunctionNets () const
 
std::vector< size_t > oldNetRecordOffsets () const
 
void parseNetConnectionsOld ()
 
void resolveNetAnchors ()
 
void parseClusters ()
 
void parseNetClasses ()
 
std::vector< NET_CLASS_RULE_EDGEcollectNetClassRuleEdges (const std::set< uint32_t > &aOwnerSet)
 
void applyNetClassClearances (const std::vector< NET_CLASS_RULE_EDGE > &aEdges, const std::map< uint32_t, size_t > &aOwnerOrdinal)
 
void parseDiffPairs ()
 
void parseRouteVertices ()
 
std::vector< VIA_LOCATIONdecodeViaLocations ()
 
std::map< std::string, ROUTEseedRoutesFromVias (const std::vector< VIA_LOCATION > &aVias) const
 
void decodeRoutedCopper (std::map< std::string, ROUTE > &aRoutes)
 
ROUTE_OBJECT_NODES resolveRouteObjectNodes (const SDB_SECTION &aRouteLayers, size_t aObjectCount, const std::vector< int > &aSerializedLayerOrder)
 
void parseTextRecords ()
 
void parsePlacementFields (const SDB_SECTION &aText, size_t aRecordBase, size_t aRecordSize, size_t aRingRotation)
 
void parseFreeText (const SDB_SECTION &aText, size_t aRecordBase, size_t aRecordSize, size_t aRingRotation, size_t aPoolBase, size_t aPoolHi)
 
void parseTerminals ()
 
void assignDefaultPadStacks ()
 
void applyPadstackPairs (PART_DECAL &aDecal, const std::vector< std::pair< int32_t, int32_t > > &aPairs, int32_t aStart, int32_t aCount)
 
void parseKeepouts ()
 
void parseCopperShapes ()
 
void parseCopperPours ()
 
void parseDimensions ()
 
void parseLayerStackup ()
 
void linkPartsToDecals ()
 
void buildOwnerRuns ()
 
void computeSec12CleanRows ()
 
uint8_t ringU8 (const SDB_SECTION &aSection, size_t aRotation, size_t aStride, uint32_t aIndex, size_t aField) const
 
uint32_t ringU32 (const SDB_SECTION &aSection, size_t aRotation, size_t aStride, uint32_t aIndex, size_t aField) const
 
int32_t ringI32 (const SDB_SECTION &aSection, size_t aRotation, size_t aStride, uint32_t aIndex, size_t aField) const
 
std::string ringStr (const SDB_SECTION &aSection, size_t aRotation, size_t aStride, uint32_t aIndex, size_t aField, size_t aLength) const
 
bool sec12Vertex (int32_t aRow, int32_t &aX, int32_t &aY, int32_t &aAttr) const
 
bool fetchOwnerLoop (const std::string &aName, size_t aMaxVerts, std::vector< VECTOR2I > &aOut) const
 
bool fetchOwnerCirclePoints (const std::string &aName, VECTOR2I &aP0, VECTOR2I &aP1) const
 
bool isValidNetName (const std::string &aName) const
 
double toBasicCoordX (int32_t aRawValue) const
 
double toBasicCoordY (int32_t aRawValue) const
 
double toBasicAngle (int32_t aRawAngle) const
 

Private Attributes

std::map< std::string, OWNER_RUNm_ownerRuns
 
int32_t m_sec12CleanRows = 0
 
PADS_SDB m_sdb
 
const std::vector< uint8_t > & m_data = m_sdb.Bytes()
 
BINARY_CURSOR m_cursor { m_data }
 
uint16_t m_version = 0
 
int32_t m_originX = 0
 
int32_t m_originY = 0
 
std::vector< std::vector< PAD_STACK_LAYER > > m_padStackPool
 
std::vector< std::pair< int, int > > m_padStackDrillSpans
 
std::map< size_t, uint32_t > m_partTypeIndex
 
std::map< size_t, int32_t > m_partFieldStart
 
std::map< size_t, uint8_t > m_partDecalAlternate
 
std::map< size_t, uint32_t > m_partDecalIndex
 
std::vector< std::vector< int32_t > > m_partTypeDecalIndices
 
std::vector< std::string > m_partTypeNames
 
std::vector< std::string > m_decalNameTable
 
std::map< std::string, uint32_t > m_decalTerminalCount
 
std::map< std::string, int32_t > m_decalTerminalStart
 
std::map< std::string, int32_t > m_decalStackCount
 
std::map< std::string, int32_t > m_decalStackStart
 
std::map< uint32_t, std::set< size_t > > m_junctionHandleNets
 
std::map< uint32_t, std::string > m_sec23IndexToNet
 
std::map< uint32_t, size_t > m_sec23RecordToNet
 
std::vector< NET_ANCHORm_netAnchors
 
std::vector< NET_ANCHORm_netConnectionEndpoints
 
std::map< uint32_t, size_t > m_placementObjectToPart
 
std::map< std::string, uint32_t > m_netClassOwner
 
std::vector< BIN_NET_CLASS_DEFm_netClasses
 
std::map< uint32_t, std::string > m_netSelfPtrToName
 
std::vector< DIFF_PAIR_DEFm_diffPairs
 
PARAMETERS m_parameters
 
std::vector< PARTm_parts
 
std::vector< NETm_nets
 
std::vector< ROUTEm_routes
 
std::vector< TEXTm_texts
 
std::vector< POURm_pours
 
std::vector< KEEPOUTm_keepouts
 
std::vector< COPPER_SHAPEm_copper_shapes
 
std::vector< GRAPHIC_LINEm_graphicLines
 
std::vector< DIMENSIONm_dimensions
 
std::vector< POLYLINEm_boardOutlines
 
std::map< std::string, PART_DECALm_decals
 
std::vector< PART_CLUSTERm_clusters
 
std::map< size_t, int > m_partClusterId
 
std::vector< LAYER_INFOm_layerInfos
 

Static Private Attributes

static constexpr int32_t ANGLE_SCALE = 1800000
 

Detailed Description

Reader for the PADS PowerPCB binary .pcb format.

The file is a serialized snapshot of PADS' in-memory SDB (System DataBase). A PADS_SDB owns the bytes and decodes the file container (header, section directory, coordinate origin), and the per-section readers below sit on top of it. A reader names its section by role (the SECTION enum), walks the records through an SDB_RECORD reader, and populates the same intermediate structs as the ASCII PARSER so the struct-to-KiCad conversion is shared.

Supported versions: 0x2021, 0x2022, 0x2024, 0x2025, 0x2026, 0x2027.

Definition at line 143 of file pads_binary_parser.h.

Constructor & Destructor Documentation

◆ BINARY_PARSER() [1/2]

PADS_IO::BINARY_PARSER::BINARY_PARSER ( )
default

Referenced by BINARY_PARSER(), and operator=().

◆ ~BINARY_PARSER()

PADS_IO::BINARY_PARSER::~BINARY_PARSER ( )
default

◆ BINARY_PARSER() [2/2]

PADS_IO::BINARY_PARSER::BINARY_PARSER ( const BINARY_PARSER & )
delete

References BINARY_PARSER().

Member Function Documentation

◆ applyNetClassClearances()

◆ applyPadstackPairs()

void PADS_IO::BINARY_PARSER::applyPadstackPairs ( PART_DECAL & aDecal,
const std::vector< std::pair< int32_t, int32_t > > & aPairs,
int32_t aStart,
int32_t aCount )
private

◆ arcRecordFor()

SDB_RECORD PADS_IO::BINARY_PARSER::arcRecordFor ( const SDB_SECTION & aArcParameters,
int32_t aArcStart,
int32_t aAttr,
const char * aWhat ) const
private

◆ assignDefaultPadStacks()

void PADS_IO::BINARY_PARSER::assignDefaultPadStacks ( )
private

Definition at line 1080 of file pads_binary_parser.cpp.

References m_decals, m_padStackDrillSpans, m_padStackPool, and name.

Referenced by parseTerminals().

◆ buildOwnerRuns()

◆ collectNetClassRuleEdges()

std::vector< NET_CLASS_RULE_EDGE > PADS_IO::BINARY_PARSER::collectNetClassRuleEdges ( const std::set< uint32_t > & aOwnerSet)
private

◆ computeSec12CleanRows()

void PADS_IO::BINARY_PARSER::computeSec12CleanRows ( )
private

◆ decodeRoutedCopper()

◆ decodeViaLocations()

◆ fetchOwnerCirclePoints()

bool PADS_IO::BINARY_PARSER::fetchOwnerCirclePoints ( const std::string & aName,
VECTOR2I & aP0,
VECTOR2I & aP1 ) const
private

◆ fetchOwnerLoop()

bool PADS_IO::BINARY_PARSER::fetchOwnerLoop ( const std::string & aName,
size_t aMaxVerts,
std::vector< VECTOR2I > & aOut ) const
private

◆ GetBoardOutlines()

const std::vector< POLYLINE > & PADS_IO::BINARY_PARSER::GetBoardOutlines ( ) const
inline

Definition at line 175 of file pads_binary_parser.h.

References m_boardOutlines.

◆ GetClusters()

const std::vector< PART_CLUSTER > & PADS_IO::BINARY_PARSER::GetClusters ( ) const
inline

Definition at line 180 of file pads_binary_parser.h.

References m_clusters.

◆ GetCopperShapes()

const std::vector< COPPER_SHAPE > & PADS_IO::BINARY_PARSER::GetCopperShapes ( ) const
inline

Definition at line 172 of file pads_binary_parser.h.

References m_copper_shapes.

◆ GetDiffPairs()

const std::vector< DIFF_PAIR_DEF > & PADS_IO::BINARY_PARSER::GetDiffPairs ( ) const
inline

Definition at line 167 of file pads_binary_parser.h.

References m_diffPairs.

◆ GetDimensions()

const std::vector< DIMENSION > & PADS_IO::BINARY_PARSER::GetDimensions ( ) const
inline

Definition at line 174 of file pads_binary_parser.h.

References m_dimensions.

◆ GetGraphicLines()

const std::vector< GRAPHIC_LINE > & PADS_IO::BINARY_PARSER::GetGraphicLines ( ) const
inline

Definition at line 173 of file pads_binary_parser.h.

References m_graphicLines.

◆ GetKeepouts()

const std::vector< KEEPOUT > & PADS_IO::BINARY_PARSER::GetKeepouts ( ) const
inline

Definition at line 171 of file pads_binary_parser.h.

References m_keepouts.

◆ GetLayerCount()

int PADS_IO::BINARY_PARSER::GetLayerCount ( ) const
inline

Definition at line 183 of file pads_binary_parser.h.

References m_parameters.

◆ GetLayerInfos()

std::vector< LAYER_INFO > PADS_IO::BINARY_PARSER::GetLayerInfos ( ) const

Definition at line 3853 of file pads_binary_parser.cpp.

References m_layerInfos.

Referenced by BOOST_AUTO_TEST_CASE().

◆ GetNetClasses()

const std::vector< BIN_NET_CLASS_DEF > & PADS_IO::BINARY_PARSER::GetNetClasses ( ) const
inline

Definition at line 166 of file pads_binary_parser.h.

References m_netClasses.

◆ GetNets()

const std::vector< NET > & PADS_IO::BINARY_PARSER::GetNets ( ) const
inline

Definition at line 165 of file pads_binary_parser.h.

References m_nets.

◆ GetOwnerLoopForTest()

bool PADS_IO::BINARY_PARSER::GetOwnerLoopForTest ( const std::string & aName,
std::vector< VECTOR2I > & aOut ) const
inline

Definition at line 201 of file pads_binary_parser.h.

References fetchOwnerLoop().

◆ GetPadStackShapesForTest()

std::set< std::string > PADS_IO::BINARY_PARSER::GetPadStackShapesForTest ( ) const
inline

Definition at line 188 of file pads_binary_parser.h.

References m_padStackPool.

Referenced by BOOST_AUTO_TEST_CASE().

◆ GetParameters()

const PARAMETERS & PADS_IO::BINARY_PARSER::GetParameters ( ) const
inline

Definition at line 162 of file pads_binary_parser.h.

References m_parameters.

◆ GetPartClusterIds()

const std::map< size_t, int > & PADS_IO::BINARY_PARSER::GetPartClusterIds ( ) const
inline

Definition at line 181 of file pads_binary_parser.h.

References m_partClusterId.

◆ GetPartDecals()

const std::map< std::string, PART_DECAL > & PADS_IO::BINARY_PARSER::GetPartDecals ( ) const
inline

Definition at line 176 of file pads_binary_parser.h.

References m_decals.

Referenced by BOOST_AUTO_TEST_CASE().

◆ GetParts()

const std::vector< PART > & PADS_IO::BINARY_PARSER::GetParts ( ) const
inline

Definition at line 164 of file pads_binary_parser.h.

References m_parts.

Referenced by BOOST_AUTO_TEST_CASE().

◆ GetPours()

const std::vector< POUR > & PADS_IO::BINARY_PARSER::GetPours ( ) const
inline

Definition at line 170 of file pads_binary_parser.h.

References m_pours.

◆ GetRoutes()

const std::vector< ROUTE > & PADS_IO::BINARY_PARSER::GetRoutes ( ) const
inline

Definition at line 168 of file pads_binary_parser.h.

References m_routes.

◆ getSection() [1/2]

◆ getSection() [2/2]

const SDB_SECTION * PADS_IO::BINARY_PARSER::getSection ( SECTION aSection) const
inlineprivate

Definition at line 234 of file pads_binary_parser.h.

References getSection().

Referenced by getSection().

◆ GetTexts()

const std::vector< TEXT > & PADS_IO::BINARY_PARSER::GetTexts ( ) const
inline

Definition at line 169 of file pads_binary_parser.h.

References m_texts.

Referenced by BOOST_AUTO_TEST_CASE().

◆ GetVersion()

uint16_t PADS_IO::BINARY_PARSER::GetVersion ( ) const
inline

Definition at line 184 of file pads_binary_parser.h.

References m_version.

Referenced by BOOST_AUTO_TEST_CASE().

◆ IsBinaryPadsFile()

bool PADS_IO::BINARY_PARSER::IsBinaryPadsFile ( const wxString & aFileName)
static

Check if a file appears to be a PADS binary PCB file.

Checks the 2-byte magic (0x00FF) and version field.

Definition at line 177 of file pads_binary_parser.cpp.

References PADS_IO::getU16LE(), PADS_IO::HasSdbMagic(), PADS_IO::PADS_SDB::IsSupportedVersion(), and PADS_IO::ReadFileHeader().

Referenced by PCB_IO_PADS_BINARY::CanReadBoard(), and PCB_IO_PADS_BINARY::CanReadLibrary().

◆ isOldFormat()

bool PADS_IO::BINARY_PARSER::isOldFormat ( ) const
inlineprivate

Definition at line 221 of file pads_binary_parser.h.

References m_sdb.

Referenced by parseClusters().

◆ isValidNetName()

bool PADS_IO::BINARY_PARSER::isValidNetName ( const std::string & aName) const
private

◆ layerStackupBase()

size_t PADS_IO::BINARY_PARSER::layerStackupBase ( ) const
private

Base of section 69's layer records after its fixed controller lead-in.

Section 69 begins with 12 bytes of controller state followed by its logical layer records.

Definition at line 3763 of file pads_binary_parser.cpp.

References m_data, m_sdb, PADS_IO::SDB_SECTION::physicalCount, PADS_IO::SDB_SECTION::physicalOffset, and PADS_IO::SDB_SECTION::stride.

Referenced by parseClusters(), and parseLayerStackup().

◆ linkPartsToDecals()

void PADS_IO::BINARY_PARSER::linkPartsToDecals ( )
private

◆ makePlacementPart()

PART PADS_IO::BINARY_PARSER::makePlacementPart ( const SDB_RECORD & aRec,
int aXOff,
std::optional< int > aYOff,
int aAngleOff,
int aNameOff,
const std::string & aRefDes ) const
private

◆ oldNetRecordOffsets()

std::vector< size_t > PADS_IO::BINARY_PARSER::oldNetRecordOffsets ( ) const
private

◆ operator=()

BINARY_PARSER & PADS_IO::BINARY_PARSER::operator= ( const BINARY_PARSER & )
delete

References BINARY_PARSER().

◆ Parse()

◆ parseBoardOutlineDirect()

◆ parseBoardSetup()

void PADS_IO::BINARY_PARSER::parseBoardSetup ( )
private

Definition at line 310 of file pads_binary_parser.cpp.

References m_cursor, m_parameters, m_sdb, PADS_IO::MILS, and THROW_IO_ERROR.

Referenced by Parse().

◆ parseClusters()

◆ parseCopperPours()

◆ parseCopperShapes()

◆ parseDecalNameTable()

◆ parseDecalNameTableOld()

◆ parseDiffPairs()

◆ parseDimensions()

◆ parseFreeText()

void PADS_IO::BINARY_PARSER::parseFreeText ( const SDB_SECTION & aText,
size_t aRecordBase,
size_t aRecordSize,
size_t aRingRotation,
size_t aPoolBase,
size_t aPoolHi )
private

◆ parseGraphicLines()

◆ parseKeepouts()

◆ parseLayerStackup()

◆ parseNetClasses()

◆ parseNetConnectionsNew()

◆ parseNetConnectionsOld()

◆ parseNetNames()

void PADS_IO::BINARY_PARSER::parseNetNames ( )
private

Definition at line 1131 of file pads_binary_parser.cpp.

References m_version, parseNetNamesNew(), and parseNetNamesOld().

Referenced by Parse().

◆ parseNetNamesNew()

◆ parseNetNamesOld()

◆ parsePadStacks()

◆ parsePartDecals()

void PADS_IO::BINARY_PARSER::parsePartDecals ( )
private

◆ parsePartPlacements()

◆ parsePartTypeTable()

◆ parsePlacementFields()

◆ parseRouteJunctionNets()

std::map< uint32_t, size_t > PADS_IO::BINARY_PARSER::parseRouteJunctionNets ( ) const
private

◆ parseRouteVertices()

void PADS_IO::BINARY_PARSER::parseRouteVertices ( )
private

◆ parseTerminals()

◆ parseTextRecords()

◆ resolveNetAnchors()

void PADS_IO::BINARY_PARSER::resolveNetAnchors ( )
private

◆ resolveRouteObjectNodes()

◆ ringI32()

int32_t PADS_IO::BINARY_PARSER::ringI32 ( const SDB_SECTION & aSection,
size_t aRotation,
size_t aStride,
uint32_t aIndex,
size_t aField ) const
private

◆ ringStr()

std::string PADS_IO::BINARY_PARSER::ringStr ( const SDB_SECTION & aSection,
size_t aRotation,
size_t aStride,
uint32_t aIndex,
size_t aField,
size_t aLength ) const
private

Definition at line 3099 of file pads_binary_parser.cpp.

References ringU8().

Referenced by buildOwnerRuns(), and parseDimensions().

◆ ringU32()

uint32_t PADS_IO::BINARY_PARSER::ringU32 ( const SDB_SECTION & aSection,
size_t aRotation,
size_t aStride,
uint32_t aIndex,
size_t aField ) const
private

Definition at line 3080 of file pads_binary_parser.cpp.

References ringU8().

Referenced by buildOwnerRuns(), decodeRoutedCopper(), and ringI32().

◆ ringU8()

uint8_t PADS_IO::BINARY_PARSER::ringU8 ( const SDB_SECTION & aSection,
size_t aRotation,
size_t aStride,
uint32_t aIndex,
size_t aField ) const
private

◆ sec12Vertex()

bool PADS_IO::BINARY_PARSER::sec12Vertex ( int32_t aRow,
int32_t & aX,
int32_t & aY,
int32_t & aAttr ) const
private

◆ seedRoutesFromVias()

std::map< std::string, ROUTE > PADS_IO::BINARY_PARSER::seedRoutesFromVias ( const std::vector< VIA_LOCATION > & aVias) const
private

◆ toBasicAngle()

double PADS_IO::BINARY_PARSER::toBasicAngle ( int32_t aRawAngle) const
private

◆ toBasicCoordX()

double PADS_IO::BINARY_PARSER::toBasicCoordX ( int32_t aRawValue) const
private

◆ toBasicCoordY()

double PADS_IO::BINARY_PARSER::toBasicCoordY ( int32_t aRawValue) const
private

◆ usesDirectDecalChain()

bool PADS_IO::BINARY_PARSER::usesDirectDecalChain ( ) const
inlineprivate

Definition at line 229 of file pads_binary_parser.h.

References m_version.

Referenced by linkPartsToDecals().

Member Data Documentation

◆ ANGLE_SCALE

int32_t PADS_IO::BINARY_PARSER::ANGLE_SCALE = 1800000
staticconstexprprivate

Definition at line 207 of file pads_binary_parser.h.

Referenced by toBasicAngle().

◆ m_boardOutlines

std::vector<POLYLINE> PADS_IO::BINARY_PARSER::m_boardOutlines
private

Definition at line 522 of file pads_binary_parser.h.

Referenced by GetBoardOutlines(), and parseBoardOutlineDirect().

◆ m_clusters

std::vector<PART_CLUSTER> PADS_IO::BINARY_PARSER::m_clusters
private

Definition at line 526 of file pads_binary_parser.h.

Referenced by GetClusters(), and parseClusters().

◆ m_copper_shapes

std::vector<COPPER_SHAPE> PADS_IO::BINARY_PARSER::m_copper_shapes
private

Definition at line 519 of file pads_binary_parser.h.

Referenced by GetCopperShapes(), and parseCopperShapes().

◆ m_cursor

◆ m_data

◆ m_decalNameTable

std::vector<std::string> PADS_IO::BINARY_PARSER::m_decalNameTable
private

◆ m_decals

std::map<std::string, PART_DECAL> PADS_IO::BINARY_PARSER::m_decals
private

◆ m_decalStackCount

std::map<std::string, int32_t> PADS_IO::BINARY_PARSER::m_decalStackCount
private

◆ m_decalStackStart

std::map<std::string, int32_t> PADS_IO::BINARY_PARSER::m_decalStackStart
private

◆ m_decalTerminalCount

std::map<std::string, uint32_t> PADS_IO::BINARY_PARSER::m_decalTerminalCount
private

◆ m_decalTerminalStart

std::map<std::string, int32_t> PADS_IO::BINARY_PARSER::m_decalTerminalStart
private

◆ m_diffPairs

std::vector<DIFF_PAIR_DEF> PADS_IO::BINARY_PARSER::m_diffPairs
private

Definition at line 509 of file pads_binary_parser.h.

Referenced by GetDiffPairs(), and parseDiffPairs().

◆ m_dimensions

std::vector<DIMENSION> PADS_IO::BINARY_PARSER::m_dimensions
private

Definition at line 521 of file pads_binary_parser.h.

Referenced by GetDimensions(), and parseDimensions().

◆ m_graphicLines

std::vector<GRAPHIC_LINE> PADS_IO::BINARY_PARSER::m_graphicLines
private

Definition at line 520 of file pads_binary_parser.h.

Referenced by GetGraphicLines(), and parseGraphicLines().

◆ m_junctionHandleNets

std::map<uint32_t, std::set<size_t> > PADS_IO::BINARY_PARSER::m_junctionHandleNets
private

Definition at line 478 of file pads_binary_parser.h.

Referenced by decodeViaLocations(), and resolveRouteObjectNodes().

◆ m_keepouts

std::vector<KEEPOUT> PADS_IO::BINARY_PARSER::m_keepouts
private

Definition at line 518 of file pads_binary_parser.h.

Referenced by GetKeepouts(), and parseKeepouts().

◆ m_layerInfos

std::vector<LAYER_INFO> PADS_IO::BINARY_PARSER::m_layerInfos
private

Definition at line 533 of file pads_binary_parser.h.

Referenced by decodeRoutedCopper(), GetLayerInfos(), and parseLayerStackup().

◆ m_netAnchors

std::vector<NET_ANCHOR> PADS_IO::BINARY_PARSER::m_netAnchors
private

◆ m_netClasses

std::vector<BIN_NET_CLASS_DEF> PADS_IO::BINARY_PARSER::m_netClasses
private

Definition at line 503 of file pads_binary_parser.h.

Referenced by applyNetClassClearances(), GetNetClasses(), and parseNetClasses().

◆ m_netClassOwner

std::map<std::string, uint32_t> PADS_IO::BINARY_PARSER::m_netClassOwner
private

Definition at line 501 of file pads_binary_parser.h.

Referenced by parseNetClasses(), parseNetNamesNew(), and parseNetNamesOld().

◆ m_netConnectionEndpoints

std::vector<NET_ANCHOR> PADS_IO::BINARY_PARSER::m_netConnectionEndpoints
private

◆ m_nets

◆ m_netSelfPtrToName

std::map<uint32_t, std::string> PADS_IO::BINARY_PARSER::m_netSelfPtrToName
private

Definition at line 507 of file pads_binary_parser.h.

Referenced by parseDiffPairs(), and parseNetNamesNew().

◆ m_originX

int32_t PADS_IO::BINARY_PARSER::m_originX = 0
private

Definition at line 422 of file pads_binary_parser.h.

Referenced by Parse().

◆ m_originY

int32_t PADS_IO::BINARY_PARSER::m_originY = 0
private

Definition at line 423 of file pads_binary_parser.h.

Referenced by Parse().

◆ m_ownerRuns

std::map<std::string, OWNER_RUN> PADS_IO::BINARY_PARSER::m_ownerRuns
private

◆ m_padStackDrillSpans

std::vector<std::pair<int, int> > PADS_IO::BINARY_PARSER::m_padStackDrillSpans
private

◆ m_padStackPool

std::vector<std::vector<PAD_STACK_LAYER> > PADS_IO::BINARY_PARSER::m_padStackPool
private

◆ m_parameters

PARAMETERS PADS_IO::BINARY_PARSER::m_parameters
private

◆ m_partClusterId

std::map<size_t, int> PADS_IO::BINARY_PARSER::m_partClusterId
private

Definition at line 530 of file pads_binary_parser.h.

Referenced by GetPartClusterIds(), and parsePartPlacements().

◆ m_partDecalAlternate

std::map<size_t, uint8_t> PADS_IO::BINARY_PARSER::m_partDecalAlternate
private

Definition at line 438 of file pads_binary_parser.h.

Referenced by linkPartsToDecals(), and parsePartPlacements().

◆ m_partDecalIndex

std::map<size_t, uint32_t> PADS_IO::BINARY_PARSER::m_partDecalIndex
private

Definition at line 442 of file pads_binary_parser.h.

Referenced by linkPartsToDecals(), and parsePartPlacements().

◆ m_partFieldStart

std::map<size_t, int32_t> PADS_IO::BINARY_PARSER::m_partFieldStart
private

Definition at line 435 of file pads_binary_parser.h.

Referenced by parsePartPlacements(), and parsePlacementFields().

◆ m_parts

std::vector<PART> PADS_IO::BINARY_PARSER::m_parts
private

◆ m_partTypeDecalIndices

std::vector<std::vector<int32_t> > PADS_IO::BINARY_PARSER::m_partTypeDecalIndices
private

Definition at line 448 of file pads_binary_parser.h.

Referenced by linkPartsToDecals(), and parsePartTypeTable().

◆ m_partTypeIndex

std::map<size_t, uint32_t> PADS_IO::BINARY_PARSER::m_partTypeIndex
private

Definition at line 432 of file pads_binary_parser.h.

Referenced by linkPartsToDecals(), and parsePartPlacements().

◆ m_partTypeNames

std::vector<std::string> PADS_IO::BINARY_PARSER::m_partTypeNames
private

Definition at line 453 of file pads_binary_parser.h.

Referenced by linkPartsToDecals(), and parsePartTypeTable().

◆ m_placementObjectToPart

std::map<uint32_t, size_t> PADS_IO::BINARY_PARSER::m_placementObjectToPart
private

◆ m_pours

std::vector<POUR> PADS_IO::BINARY_PARSER::m_pours
private

Definition at line 517 of file pads_binary_parser.h.

Referenced by GetPours(), and parseCopperPours().

◆ m_routes

std::vector<ROUTE> PADS_IO::BINARY_PARSER::m_routes
private

Definition at line 515 of file pads_binary_parser.h.

Referenced by GetRoutes(), and parseRouteVertices().

◆ m_sdb

◆ m_sec12CleanRows

int32_t PADS_IO::BINARY_PARSER::m_sec12CleanRows = 0
private

Definition at line 375 of file pads_binary_parser.h.

Referenced by computeSec12CleanRows(), and sec12Vertex().

◆ m_sec23IndexToNet

std::map<uint32_t, std::string> PADS_IO::BINARY_PARSER::m_sec23IndexToNet
private

Definition at line 481 of file pads_binary_parser.h.

Referenced by decodeViaLocations(), parseNetNamesNew(), and parseNetNamesOld().

◆ m_sec23RecordToNet

std::map<uint32_t, size_t> PADS_IO::BINARY_PARSER::m_sec23RecordToNet
private

◆ m_texts

std::vector<TEXT> PADS_IO::BINARY_PARSER::m_texts
private

Definition at line 516 of file pads_binary_parser.h.

Referenced by GetTexts(), and parseFreeText().

◆ m_version


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