KiCad PCB EDA Suite
|
#include <altium_parser.h>
Public Member Functions | |
ALTIUM_PARSER (const ALTIUM_COMPOUND_FILE &aFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) | |
ALTIUM_PARSER (std::unique_ptr< char[]> &aContent, size_t aSize) | |
~ALTIUM_PARSER ()=default | |
template<typename Type > | |
Type | Read () |
template<typename Type > | |
Type | Peek () |
wxScopedCharBuffer | ReadCharBuffer () |
wxString | ReadWxString () |
std::map< uint32_t, wxString > | ReadWideStringTable () |
std::vector< char > | ReadVector (size_t aSize) |
int | ReadBytes (char *aOut, size_t aSize) |
int32_t | ReadKicadUnit () |
int32_t | ReadKicadUnitX () |
int32_t | ReadKicadUnitY () |
VECTOR2I | ReadVector2IPos () |
VECTOR2I | ReadVector2ISize () |
size_t | ReadAndSetSubrecordLength () |
std::map< wxString, wxString > | ReadProperties (std::function< std::map< wxString, wxString >(const std::string &)> handleBinaryData=[](const std::string &) { return std::map< wxString, wxString >();}) |
void | Skip (size_t aLength) |
void | SkipSubrecord () |
size_t | GetRemainingBytes () const |
size_t | GetRemainingSubrecordBytes () const |
bool | HasParsingError () |
Static Public Member Functions | |
static int32_t | ConvertToKicadUnit (const double aValue) |
static int | ReadInt (const std::map< wxString, wxString > &aProps, const wxString &aKey, int aDefault) |
static double | ReadDouble (const std::map< wxString, wxString > &aProps, const wxString &aKey, double aDefault) |
static bool | ReadBool (const std::map< wxString, wxString > &aProps, const wxString &aKey, bool aDefault) |
static int32_t | ReadKicadUnit (const std::map< wxString, wxString > &aProps, const wxString &aKey, const wxString &aDefault) |
static wxString | ReadString (const std::map< wxString, wxString > &aProps, const wxString &aKey, const wxString &aDefault) |
static wxString | ReadUnicodeString (const std::map< wxString, wxString > &aProps, const wxString &aKey, const wxString &aDefault) |
Private Attributes | |
std::unique_ptr< char[]> | m_content |
size_t | m_size |
char * | m_pos |
char * | m_subrecord_end |
bool | m_error |
Definition at line 95 of file altium_parser.h.
ALTIUM_PARSER::ALTIUM_PARSER | ( | const ALTIUM_COMPOUND_FILE & | aFile, |
const CFB::COMPOUND_FILE_ENTRY * | aEntry | ||
) |
Definition at line 269 of file altium_parser.cpp.
References ALTIUM_COMPOUND_FILE::GetCompoundFileReader(), m_content, m_error, m_pos, m_size, and m_subrecord_end.
ALTIUM_PARSER::ALTIUM_PARSER | ( | std::unique_ptr< char[]> & | aContent, |
size_t | aSize | ||
) |
Definition at line 283 of file altium_parser.cpp.
References m_content, m_error, m_pos, m_size, and m_subrecord_end.
|
default |
|
static |
Definition at line 390 of file altium_parser.cpp.
References KiROUND().
Referenced by AREGION6::AREGION6(), BOOST_AUTO_TEST_CASE(), and ReadKicadUnit().
|
inline |
Definition at line 303 of file altium_parser.h.
References m_content, m_pos, and m_size.
Referenced by BOOST_AUTO_TEST_CASE(), ALTIUM_DESIGNER_PLUGIN::FootprintEnumerate(), ALTIUM_PCB::Parse(), SCH_ALTIUM_PLUGIN::ParseAdditional(), ALTIUM_PCB::ParseArcs6Data(), ALTIUM_PCB::ParseBoard6Data(), ALTIUM_PCB::ParseBoardRegionsData(), ALTIUM_PCB::ParseClasses6Data(), ALTIUM_PCB::ParseComponents6Data(), ALTIUM_PCB::ParseComponentsBodies6Data(), ALTIUM_PCB::ParseDimensions6Data(), ALTIUM_PCB::ParseExtendedPrimitiveInformationData(), SCH_ALTIUM_PLUGIN::ParseFileHeader(), ALTIUM_PCB::ParseFills6Data(), ALTIUM_PCB::ParseFootprint(), SCH_ALTIUM_PLUGIN::ParseLibFile(), SCH_ALTIUM_PLUGIN::ParseLibHeader(), ALTIUM_PCB::ParseModelsData(), ALTIUM_PCB::ParseNets6Data(), ALTIUM_PCB::ParsePads6Data(), ALTIUM_PCB::ParsePolygons6Data(), ALTIUM_PCB::ParseRegions6Data(), ALTIUM_PCB::ParseRules6Data(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), SCH_ALTIUM_PLUGIN::ParseStorage(), ALTIUM_PCB::ParseTexts6Data(), ALTIUM_PCB::ParseTracks6Data(), ALTIUM_PCB::ParseVias6Data(), ALTIUM_PCB::ParseWideStrings6Data(), Read(), ReadBytes(), ReadCharBuffer(), ReadProperties(), ReadVector(), ReadWideStringTable(), and Skip().
|
inline |
Definition at line 308 of file altium_parser.h.
References m_pos, and m_subrecord_end.
Referenced by AARC6::AARC6(), AFILL6::AFILL6(), APAD6::APAD6(), and ATRACK6::ATRACK6().
|
inline |
Definition at line 315 of file altium_parser.h.
References m_error.
Referenced by AARC6::AARC6(), ABOARD6::ABOARD6(), ACLASS6::ACLASS6(), ACOMPONENT6::ACOMPONENT6(), ACOMPONENTBODY6::ACOMPONENTBODY6(), ADIMENSION6::ADIMENSION6(), AFILL6::AFILL6(), AMODEL::AMODEL(), ANET6::ANET6(), APAD6::APAD6(), APOLYGON6::APOLYGON6(), AREGION6::AREGION6(), ARULE6::ARULE6(), ASCH_ADDITIONAL_FILE::ASCH_ADDITIONAL_FILE(), ASCH_STORAGE_FILE::ASCH_STORAGE_FILE(), ATEXT6::ATEXT6(), ATRACK6::ATRACK6(), AVIA6::AVIA6(), BOOST_AUTO_TEST_CASE(), ALTIUM_DESIGNER_PLUGIN::FootprintEnumerate(), ALTIUM_PCB::Parse(), SCH_ALTIUM_PLUGIN::ParseAdditional(), SCH_ALTIUM_PLUGIN::ParseFileHeader(), ALTIUM_PCB::ParseFootprint(), SCH_ALTIUM_PLUGIN::ParseLibFile(), and SCH_ALTIUM_PLUGIN::ParseStorage().
|
inline |
Definition at line 121 of file altium_parser.h.
References m_error, and m_pos.
Referenced by ALTIUM_PCB::ParseFootprint().
|
inline |
Definition at line 103 of file altium_parser.h.
References GetRemainingBytes(), m_error, and m_pos.
Referenced by AARC6::AARC6(), ACOMPONENTBODY6::ACOMPONENTBODY6(), AFILL6::AFILL6(), APAD6::APAD6(), AREGION6::AREGION6(), ASCH_ADDITIONAL_FILE::ASCH_ADDITIONAL_FILE(), ASCH_STORAGE_FILE::ASCH_STORAGE_FILE(), ATEXT6::ATEXT6(), ATRACK6::ATRACK6(), AVIA6::AVIA6(), ALTIUM_DESIGNER_PLUGIN::FootprintEnumerate(), and ALTIUM_PCB::Parse().
|
inline |
Definition at line 245 of file altium_parser.h.
References m_pos, and m_subrecord_end.
Referenced by AARC6::AARC6(), ACOMPONENTBODY6::ACOMPONENTBODY6(), AFILL6::AFILL6(), APAD6::APAD6(), AREGION6::AREGION6(), ATEXT6::ATEXT6(), ATRACK6::ATRACK6(), AVIA6::AVIA6(), ALTIUM_DESIGNER_PLUGIN::FootprintEnumerate(), ALTIUM_PCB::ParseFileHeader(), and ALTIUM_PCB::ParseFootprint().
|
static |
Definition at line 429 of file altium_parser.cpp.
Referenced by ACOMPONENT6::ACOMPONENT6(), ACOMPONENTBODY6::ACOMPONENTBODY6(), ADIMENSION6::ADIMENSION6(), AMODEL::AMODEL(), APOLYGON6::APOLYGON6(), AREGION6::AREGION6(), ASCH_ELLIPSE::ASCH_ELLIPSE(), ASCH_FILE_NAME::ASCH_FILE_NAME(), ASCH_FILL_INTERFACE::ASCH_FILL_INTERFACE(), ASCH_HARNESS_ENTRY::ASCH_HARNESS_ENTRY(), ASCH_HARNESS_TYPE::ASCH_HARNESS_TYPE(), ASCH_IMAGE::ASCH_IMAGE(), ASCH_IMPLEMENTATION::ASCH_IMPLEMENTATION(), ASCH_LABEL::ASCH_LABEL(), ASCH_NO_ERC::ASCH_NO_ERC(), ASCH_PARAMETER::ASCH_PARAMETER(), ASCH_PIN::ASCH_PIN(), ASCH_POWER_PORT::ASCH_POWER_PORT(), ASCH_SHEET::ASCH_SHEET(), ASCH_SHEET_FONT::ASCH_SHEET_FONT(), ASCH_SHEET_NAME::ASCH_SHEET_NAME(), ASCH_SHEET_SYMBOL::ASCH_SHEET_SYMBOL(), ASCH_SYMBOL::ASCH_SYMBOL(), and ASCH_TEXT_FRAME::ASCH_TEXT_FRAME().
|
inline |
Definition at line 201 of file altium_parser.h.
References GetRemainingBytes(), m_error, and m_pos.
Referenced by ATEXT6::ATEXT6().
|
inline |
Definition at line 131 of file altium_parser.h.
References GetRemainingBytes(), m_error, and m_pos.
Referenced by ALTIUM_DESIGNER_PLUGIN::FootprintEnumerate(), and ReadWxString().
|
static |
Definition at line 411 of file altium_parser.cpp.
Referenced by ABOARD6::ABOARD6(), ACOMPONENT6::ACOMPONENT6(), ACOMPONENTBODY6::ACOMPONENTBODY6(), ADIMENSION6::ADIMENSION6(), altium_parse_polygons(), AMODEL::AMODEL(), and ASCH_ARC::ASCH_ARC().
|
static |
Definition at line 403 of file altium_parser.cpp.
Referenced by ABOARD6::ABOARD6(), ACLASS6::ACLASS6(), ACOMPONENT6::ACOMPONENT6(), ADIMENSION6::ADIMENSION6(), AEXTENDED_PRIMITIVE_INFORMATION::AEXTENDED_PRIMITIVE_INFORMATION(), altium_parse_polygons(), APOLYGON6::APOLYGON6(), AREGION6::AREGION6(), ARULE6::ARULE6(), ASCH_BEZIER::ASCH_BEZIER(), ASCH_BORDER_INTERFACE::ASCH_BORDER_INTERFACE(), ASCH_BUS::ASCH_BUS(), ASCH_DESIGNATOR::ASCH_DESIGNATOR(), ASCH_FILL_INTERFACE::ASCH_FILL_INTERFACE(), ASCH_HARNESS_CONNECTOR::ASCH_HARNESS_CONNECTOR(), ASCH_HARNESS_ENTRY::ASCH_HARNESS_ENTRY(), ASCH_HARNESS_TYPE::ASCH_HARNESS_TYPE(), ASCH_IMPLEMENTATION::ASCH_IMPLEMENTATION(), ASCH_LABEL::ASCH_LABEL(), ASCH_NO_ERC::ASCH_NO_ERC(), ASCH_OWNER_INTERFACE::ASCH_OWNER_INTERFACE(), ASCH_PARAMETER::ASCH_PARAMETER(), ASCH_PIN::ASCH_PIN(), ASCH_POLYGON::ASCH_POLYGON(), ASCH_POLYLINE::ASCH_POLYLINE(), ASCH_PORT::ASCH_PORT(), ASCH_SHEET::ASCH_SHEET(), ASCH_SHEET_FONT::ASCH_SHEET_FONT(), ASCH_SHEET_SYMBOL::ASCH_SHEET_SYMBOL(), ASCH_SIGNAL_HARNESS::ASCH_SIGNAL_HARNESS(), ASCH_SYMBOL::ASCH_SYMBOL(), ASCH_TEXT_FRAME::ASCH_TEXT_FRAME(), ASCH_WIRE::ASCH_WIRE(), SCH_ALTIUM_PLUGIN::ParseAdditional(), SCH_ALTIUM_PLUGIN::ParseFileHeader(), SCH_ALTIUM_PLUGIN::ParseLibFile(), SCH_ALTIUM_PLUGIN::ParseStorage(), ReadEnum(), ReadKiCadUnitFrac(), ReadKiCadUnitFrac1(), ReadOwnerIndex(), ReadOwnerPartId(), and ReadRecord().
|
inline |
Definition at line 216 of file altium_parser.h.
References ConvertToKicadUnit().
Referenced by AARC6::AARC6(), ABOARD6::ABOARD6(), ACOMPONENT6::ACOMPONENT6(), ACOMPONENTBODY6::ACOMPONENTBODY6(), ADIMENSION6::ADIMENSION6(), AEXTENDED_PRIMITIVE_INFORMATION::AEXTENDED_PRIMITIVE_INFORMATION(), altium_parse_polygons(), APAD6::APAD6(), APOLYGON6::APOLYGON6(), AREGION6::AREGION6(), ARULE6::ARULE6(), ATEXT6::ATEXT6(), ATRACK6::ATRACK6(), AVIA6::AVIA6(), BOOST_AUTO_TEST_CASE(), ReadKicadUnitX(), ReadKicadUnitY(), and ReadVector2ISize().
|
static |
Definition at line 441 of file altium_parser.cpp.
References _, ConvertToKicadUnit(), and ReadString().
|
inline |
Definition at line 221 of file altium_parser.h.
References ReadKicadUnit().
Referenced by APAD6::APAD6(), and ReadVector2IPos().
|
inline |
Definition at line 226 of file altium_parser.h.
References ReadKicadUnit().
Referenced by APAD6::APAD6(), and ReadVector2IPos().
std::map< wxString, wxString > ALTIUM_PARSER::ReadProperties | ( | std::function< std::map< wxString, wxString >(const std::string &)> | handleBinaryData = []( const std::string& ) { return std::map<wxString, wxString>(); } | ) |
Definition at line 293 of file altium_parser.cpp.
References _, AltiumPropertyToKiCadString(), GetRemainingBytes(), kv, m_error, and m_pos.
Referenced by ABOARD6::ABOARD6(), ACLASS6::ACLASS6(), ACOMPONENT6::ACOMPONENT6(), ACOMPONENTBODY6::ACOMPONENTBODY6(), ADIMENSION6::ADIMENSION6(), AEXTENDED_PRIMITIVE_INFORMATION::AEXTENDED_PRIMITIVE_INFORMATION(), AMODEL::AMODEL(), ANET6::ANET6(), APOLYGON6::APOLYGON6(), AREGION6::AREGION6(), ARULE6::ARULE6(), BOOST_AUTO_TEST_CASE(), ALTIUM_DESIGNER_PLUGIN::FootprintEnumerate(), SCH_ALTIUM_PLUGIN::ParseAdditional(), SCH_ALTIUM_PLUGIN::ParseFileHeader(), ALTIUM_PCB::ParseFootprint(), SCH_ALTIUM_PLUGIN::ParseLibFile(), SCH_ALTIUM_PLUGIN::ParseLibHeader(), and SCH_ALTIUM_PLUGIN::ParseStorage().
|
static |
Definition at line 466 of file altium_parser.cpp.
Referenced by ABOARD6::ABOARD6(), ACLASS6::ACLASS6(), ACOMPONENT6::ACOMPONENT6(), ACOMPONENTBODY6::ACOMPONENTBODY6(), ADIMENSION6::ADIMENSION6(), AMODEL::AMODEL(), ANET6::ANET6(), APOLYGON6::APOLYGON6(), ARULE6::ARULE6(), ASCH_DESIGNATOR::ASCH_DESIGNATOR(), ASCH_FILE_NAME::ASCH_FILE_NAME(), ASCH_HARNESS_ENTRY::ASCH_HARNESS_ENTRY(), ASCH_HARNESS_TYPE::ASCH_HARNESS_TYPE(), ASCH_HYPERLINK::ASCH_HYPERLINK(), ASCH_IMAGE::ASCH_IMAGE(), ASCH_IMPLEMENTATION::ASCH_IMPLEMENTATION(), ASCH_LABEL::ASCH_LABEL(), ASCH_NET_LABEL::ASCH_NET_LABEL(), ASCH_NOTE::ASCH_NOTE(), ASCH_PARAMETER::ASCH_PARAMETER(), ASCH_PIN::ASCH_PIN(), ASCH_PORT::ASCH_PORT(), ASCH_POWER_PORT::ASCH_POWER_PORT(), ASCH_SHEET_ENTRY::ASCH_SHEET_ENTRY(), ASCH_SHEET_FONT::ASCH_SHEET_FONT(), ASCH_SHEET_NAME::ASCH_SHEET_NAME(), ASCH_SYMBOL::ASCH_SYMBOL(), ASCH_TEXT_FRAME::ASCH_TEXT_FRAME(), ALTIUM_PCB::ParseFootprint(), SCH_ALTIUM_PLUGIN::ParseLibHeader(), SCH_ALTIUM_PLUGIN::ParseStorage(), ReadAltiumExtendedPrimitiveInformationTypeFromProperties(), ReadAltiumModeFromProperties(), ReadAltiumRecordFromProperties(), ReadKicadUnit(), and ReadUnicodeString().
|
static |
Definition at line 483 of file altium_parser.cpp.
References ReadString().
Referenced by ACOMPONENT6::ACOMPONENT6().
|
inline |
Definition at line 186 of file altium_parser.h.
References GetRemainingBytes(), m_error, and m_pos.
Referenced by ASCH_ADDITIONAL_FILE::ASCH_ADDITIONAL_FILE(), and ASCH_STORAGE_FILE::ASCH_STORAGE_FILE().
|
inline |
Definition at line 231 of file altium_parser.h.
References ReadKicadUnitX(), and ReadKicadUnitY().
Referenced by AARC6::AARC6(), AFILL6::AFILL6(), APAD6::APAD6(), AREGION6::AREGION6(), ATEXT6::ATEXT6(), ATRACK6::ATRACK6(), and AVIA6::AVIA6().
|
inline |
Definition at line 238 of file altium_parser.h.
References ReadKicadUnit().
Referenced by APAD6::APAD6().
|
inline |
Definition at line 156 of file altium_parser.h.
References GetRemainingBytes(), and m_pos.
Referenced by ALTIUM_PCB::ParseWideStrings6Data().
|
inline |
Definition at line 149 of file altium_parser.h.
References ReadCharBuffer().
Referenced by APAD6::APAD6(), ASCH_ADDITIONAL_FILE::ASCH_ADDITIONAL_FILE(), ASCH_STORAGE_FILE::ASCH_STORAGE_FILE(), ATEXT6::ATEXT6(), and ALTIUM_PCB::ParseFileHeader().
|
inline |
Definition at line 279 of file altium_parser.h.
References GetRemainingBytes(), m_error, and m_pos.
Referenced by AARC6::AARC6(), ACOMPONENTBODY6::ACOMPONENTBODY6(), ADIMENSION6::ADIMENSION6(), AFILL6::AFILL6(), APAD6::APAD6(), AREGION6::AREGION6(), ARULE6::ARULE6(), ASCH_ADDITIONAL_FILE::ASCH_ADDITIONAL_FILE(), ASCH_STORAGE_FILE::ASCH_STORAGE_FILE(), ATEXT6::ATEXT6(), ATRACK6::ATRACK6(), and AVIA6::AVIA6().
|
inline |
Definition at line 291 of file altium_parser.h.
References m_error, m_pos, and m_subrecord_end.
Referenced by AARC6::AARC6(), ACOMPONENTBODY6::ACOMPONENTBODY6(), AFILL6::AFILL6(), APAD6::APAD6(), AREGION6::AREGION6(), ATEXT6::ATEXT6(), ATRACK6::ATRACK6(), AVIA6::AVIA6(), ALTIUM_DESIGNER_PLUGIN::FootprintEnumerate(), and ALTIUM_PCB::ParseFootprint().
|
private |
Definition at line 321 of file altium_parser.h.
Referenced by ALTIUM_PARSER(), and GetRemainingBytes().
|
private |
Definition at line 326 of file altium_parser.h.
Referenced by ALTIUM_PARSER(), HasParsingError(), Peek(), Read(), ReadBytes(), ReadCharBuffer(), ReadProperties(), ReadVector(), Skip(), and SkipSubrecord().
|
private |
Definition at line 324 of file altium_parser.h.
Referenced by ALTIUM_PARSER(), GetRemainingBytes(), GetRemainingSubrecordBytes(), Peek(), Read(), ReadAndSetSubrecordLength(), ReadBytes(), ReadCharBuffer(), ReadProperties(), ReadVector(), ReadWideStringTable(), Skip(), and SkipSubrecord().
|
private |
Definition at line 322 of file altium_parser.h.
Referenced by ALTIUM_PARSER(), and GetRemainingBytes().
|
private |
Definition at line 325 of file altium_parser.h.
Referenced by ALTIUM_PARSER(), GetRemainingSubrecordBytes(), ReadAndSetSubrecordLength(), and SkipSubrecord().