![]() |
KiCad PCB EDA Suite
|
#include <altium_parser.h>
Public Member Functions | |
ALTIUM_PARSER (const CFB::CompoundFileReader &aReader, const CFB::COMPOUND_FILE_ENTRY *aEntry) | |
ALTIUM_PARSER (std::unique_ptr< char[]> &aContent, size_t aSize) | |
~ALTIUM_PARSER ()=default | |
template<typename Type > | |
Type | Read () |
wxString | ReadWxString () |
std::map< uint32_t, wxString > | ReadWideStringTable () |
std::vector< char > | ReadVector (size_t aSize) |
int32_t | ReadKicadUnit () |
int32_t | ReadKicadUnitX () |
int32_t | ReadKicadUnitY () |
wxPoint | ReadWxPoint () |
wxSize | ReadWxSize () |
size_t | ReadAndSetSubrecordLength () |
std::map< wxString, wxString > | ReadProperties () |
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) |
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 46 of file altium_parser.h.
ALTIUM_PARSER::ALTIUM_PARSER | ( | const CFB::CompoundFileReader & | aReader, |
const CFB::COMPOUND_FILE_ENTRY * | aEntry | ||
) |
Definition at line 69 of file altium_parser.cpp.
References 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 83 of file altium_parser.cpp.
References m_content, m_error, m_pos, m_size, and m_subrecord_end.
|
default |
|
static |
Definition at line 177 of file altium_parser.cpp.
References KiROUND().
Referenced by AREGION6::AREGION6(), BOOST_AUTO_TEST_CASE(), and ReadKicadUnit().
|
inline |
Definition at line 211 of file altium_parser.h.
References m_content, m_pos, and m_size.
Referenced by ALTIUM_PCB::Parse(), ALTIUM_PCB::ParseArcs6Data(), ALTIUM_PCB::ParseBoard6Data(), ALTIUM_PCB::ParseBoardRegionsData(), ALTIUM_PCB::ParseClasses6Data(), ALTIUM_PCB::ParseComponents6Data(), ALTIUM_PCB::ParseComponentsBodies6Data(), ALTIUM_PCB::ParseDimensions6Data(), SCH_ALTIUM_PLUGIN::ParseFileHeader(), ALTIUM_PCB::ParseFills6Data(), 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(), ReadProperties(), ReadVector(), ReadWideStringTable(), ReadWxString(), and Skip().
|
inline |
Definition at line 216 of file altium_parser.h.
References m_pos, and m_subrecord_end.
Referenced by APAD6::APAD6().
|
inline |
Definition at line 223 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_STORAGE_FILE::ASCH_STORAGE_FILE(), ATEXT6::ATEXT6(), ATRACK6::ATRACK6(), AVIA6::AVIA6(), ALTIUM_PCB::Parse(), SCH_ALTIUM_PLUGIN::ParseFileHeader(), and SCH_ALTIUM_PLUGIN::ParseStorage().
|
inline |
Definition at line 54 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_STORAGE_FILE::ASCH_STORAGE_FILE(), ATEXT6::ATEXT6(), ATRACK6::ATRACK6(), AVIA6::AVIA6(), and ALTIUM_PCB::Parse().
|
inline |
Definition at line 161 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(), and ALTIUM_PCB::ParseFileHeader().
|
static |
Definition at line 226 of file altium_parser.cpp.
Referenced by ACOMPONENT6::ACOMPONENT6(), ACOMPONENTBODY6::ACOMPONENTBODY6(), ADIMENSION6::ADIMENSION6(), AMODEL::AMODEL(), APOLYGON6::APOLYGON6(), AREGION6::AREGION6(), ASCH_FILE_NAME::ASCH_FILE_NAME(), ASCH_IMAGE::ASCH_IMAGE(), ASCH_IMPLEMENTATION::ASCH_IMPLEMENTATION(), ASCH_LABEL::ASCH_LABEL(), ASCH_NO_ERC::ASCH_NO_ERC(), ASCH_PARAMETER::ASCH_PARAMETER(), ASCH_POLYGON::ASCH_POLYGON(), ASCH_POWER_PORT::ASCH_POWER_PORT(), ASCH_RECTANGLE::ASCH_RECTANGLE(), ASCH_ROUND_RECTANGLE::ASCH_ROUND_RECTANGLE(), 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().
|
static |
Definition at line 208 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 200 of file altium_parser.cpp.
Referenced by ABOARD6::ABOARD6(), ACLASS6::ACLASS6(), ACOMPONENT6::ACOMPONENT6(), ADIMENSION6::ADIMENSION6(), altium_parse_polygons(), APOLYGON6::APOLYGON6(), AREGION6::AREGION6(), ARULE6::ARULE6(), ASCH_ARC::ASCH_ARC(), ASCH_BEZIER::ASCH_BEZIER(), ASCH_BUS::ASCH_BUS(), ASCH_IMAGE::ASCH_IMAGE(), ASCH_IMPLEMENTATION::ASCH_IMPLEMENTATION(), ASCH_LABEL::ASCH_LABEL(), ASCH_LINE::ASCH_LINE(), ASCH_NO_ERC::ASCH_NO_ERC(), ASCH_PIN::ASCH_PIN(), ASCH_POLYGON::ASCH_POLYGON(), ASCH_POLYLINE::ASCH_POLYLINE(), ASCH_RECTANGLE::ASCH_RECTANGLE(), ASCH_ROUND_RECTANGLE::ASCH_ROUND_RECTANGLE(), ASCH_SHEET::ASCH_SHEET(), ASCH_SHEET_FONT::ASCH_SHEET_FONT(), ASCH_SHEET_SYMBOL::ASCH_SHEET_SYMBOL(), ASCH_SYMBOL::ASCH_SYMBOL(), ASCH_TEXT_FRAME::ASCH_TEXT_FRAME(), ASCH_WIRE::ASCH_WIRE(), SCH_ALTIUM_PLUGIN::ParseFileHeader(), SCH_ALTIUM_PLUGIN::ParseStorage(), ReadEnum(), ReadKiCadUnitFrac(), ReadKiCadUnitFrac1(), ReadOwnerIndex(), ReadOwnerPartId(), and ReadRecord().
|
inline |
Definition at line 132 of file altium_parser.h.
References ConvertToKicadUnit().
Referenced by AARC6::AARC6(), ABOARD6::ABOARD6(), ACOMPONENT6::ACOMPONENT6(), ACOMPONENTBODY6::ACOMPONENTBODY6(), ADIMENSION6::ADIMENSION6(), altium_parse_polygons(), APAD6::APAD6(), APOLYGON6::APOLYGON6(), AREGION6::AREGION6(), ARULE6::ARULE6(), ATEXT6::ATEXT6(), ATRACK6::ATRACK6(), AVIA6::AVIA6(), BOOST_AUTO_TEST_CASE(), ReadKicadUnitX(), ReadKicadUnitY(), and ReadWxSize().
|
static |
Definition at line 238 of file altium_parser.cpp.
References _, ConvertToKicadUnit(), and ReadString().
|
inline |
Definition at line 137 of file altium_parser.h.
References ReadKicadUnit().
Referenced by APAD6::APAD6(), and ReadWxPoint().
|
inline |
Definition at line 142 of file altium_parser.h.
References ReadKicadUnit().
Referenced by APAD6::APAD6(), and ReadWxPoint().
std::map< wxString, wxString > ALTIUM_PARSER::ReadProperties | ( | ) |
Definition at line 93 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(), AMODEL::AMODEL(), ANET6::ANET6(), APOLYGON6::APOLYGON6(), AREGION6::AREGION6(), ARULE6::ARULE6(), SCH_ALTIUM_PLUGIN::ParseFileHeader(), and SCH_ALTIUM_PLUGIN::ParseStorage().
|
static |
Definition at line 263 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_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(), SCH_ALTIUM_PLUGIN::ParseStorage(), and ReadKicadUnit().
|
inline |
Definition at line 117 of file altium_parser.h.
References GetRemainingBytes(), m_error, and m_pos.
Referenced by ASCH_STORAGE_FILE::ASCH_STORAGE_FILE().
|
inline |
Definition at line 87 of file altium_parser.h.
References GetRemainingBytes(), and m_pos.
Referenced by ALTIUM_PCB::ParseWideStrings6Data().
|
inline |
Definition at line 147 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 154 of file altium_parser.h.
References ReadKicadUnit().
Referenced by APAD6::APAD6().
|
inline |
Definition at line 69 of file altium_parser.h.
References GetRemainingBytes(), m_error, and m_pos.
Referenced by APAD6::APAD6(), ASCH_STORAGE_FILE::ASCH_STORAGE_FILE(), ATEXT6::ATEXT6(), and ALTIUM_PCB::ParseFileHeader().
|
inline |
Definition at line 187 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_STORAGE_FILE::ASCH_STORAGE_FILE(), ATEXT6::ATEXT6(), ATRACK6::ATRACK6(), and AVIA6::AVIA6().
|
inline |
Definition at line 199 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(), and ALTIUM_PCB::ParseTracks6Data().
|
private |
Definition at line 229 of file altium_parser.h.
Referenced by ALTIUM_PARSER(), and GetRemainingBytes().
|
private |
Definition at line 234 of file altium_parser.h.
Referenced by ALTIUM_PARSER(), HasParsingError(), Read(), ReadProperties(), ReadVector(), ReadWxString(), Skip(), and SkipSubrecord().
|
private |
Definition at line 232 of file altium_parser.h.
Referenced by ALTIUM_PARSER(), GetRemainingBytes(), GetRemainingSubrecordBytes(), Read(), ReadAndSetSubrecordLength(), ReadProperties(), ReadVector(), ReadWideStringTable(), ReadWxString(), Skip(), and SkipSubrecord().
|
private |
Definition at line 230 of file altium_parser.h.
Referenced by ALTIUM_PARSER(), and GetRemainingBytes().
|
private |
Definition at line 233 of file altium_parser.h.
Referenced by ALTIUM_PARSER(), GetRemainingSubrecordBytes(), ReadAndSetSubrecordLength(), and SkipSubrecord().