KiCad PCB EDA Suite
|
#include <altium_pcb.h>
Public Member Functions | |
ALTIUM_PCB (BOARD *aBoard, PROGRESS_REPORTER *aProgressReporter) | |
~ALTIUM_PCB () | |
void | Parse (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const std::map< ALTIUM_PCB_DIR, std::string > &aFileMapping) |
FOOTPRINT * | ParseFootprint (const ALTIUM_COMPOUND_FILE &altiumLibFile, const wxString &aFootprintName) |
Private Member Functions | |
void | checkpoint () |
PCB_LAYER_ID | GetKicadLayer (ALTIUM_LAYER aAltiumLayer) const |
std::vector< PCB_LAYER_ID > | GetKicadLayersToIterate (ALTIUM_LAYER aAltiumLayer) const |
int | GetNetCode (uint16_t aId) const |
const ARULE6 * | GetRule (ALTIUM_RULE_KIND aKind, const wxString &aName) const |
const ARULE6 * | GetRuleDefault (ALTIUM_RULE_KIND aKind) const |
void | ParseFileHeader (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseBoard6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseClasses6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseComponents6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseDimensions6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseModelsData (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry, const std::vector< std::string > &aRootDir) |
void | ParseNets6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParsePolygons6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseRules6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseArcs6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ConvertArcs6ToPcbShape (const AARC6 &aElem, PCB_SHAPE *aShape) |
void | ConvertArcs6ToBoardItem (const AARC6 &aElem, const int aPrimitiveIndex) |
void | ConvertArcs6ToFootprintItem (FOOTPRINT *aFootprint, const AARC6 &aElem, const int aPrimitiveIndex, const bool aIsBoardImport) |
void | ConvertArcs6ToBoardItemOnLayer (const AARC6 &aElem, PCB_LAYER_ID aLayer) |
void | ConvertArcs6ToFootprintItemOnLayer (FOOTPRINT *aFootprint, const AARC6 &aElem, PCB_LAYER_ID aLayer) |
void | ParseComponentsBodies6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParsePads6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ConvertPads6ToBoardItem (const APAD6 &aElem) |
void | ConvertPads6ToFootprintItem (FOOTPRINT *aFootprint, const APAD6 &aElem) |
void | ConvertPads6ToBoardItemOnNonCopper (const APAD6 &aElem) |
void | ConvertPads6ToFootprintItemOnCopper (FOOTPRINT *aFootprint, const APAD6 &aElem) |
void | ConvertPads6ToFootprintItemOnNonCopper (FOOTPRINT *aFootprint, const APAD6 &aElem) |
void | ParseVias6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseTracks6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ConvertTracks6ToBoardItem (const ATRACK6 &aElem, const int aPrimitiveIndex) |
void | ConvertTracks6ToFootprintItem (FOOTPRINT *aFootprint, const ATRACK6 &aElem, const int aPrimitiveIndex, const bool aIsBoardImport) |
void | ConvertTracks6ToBoardItemOnLayer (const ATRACK6 &aElem, PCB_LAYER_ID aLayer) |
void | ConvertTracks6ToFootprintItemOnLayer (FOOTPRINT *aFootprint, const ATRACK6 &aElem, PCB_LAYER_ID aLayer) |
void | ParseTexts6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ConvertTexts6ToBoardItem (const ATEXT6 &aElem) |
void | ConvertTexts6ToFootprintItem (FOOTPRINT *aFootprint, const ATEXT6 &aElem) |
void | ConvertTexts6ToBoardItemOnLayer (const ATEXT6 &aElem, PCB_LAYER_ID aLayer) |
void | ConvertTexts6ToFootprintItemOnLayer (FOOTPRINT *aFootprint, const ATEXT6 &aElem, PCB_LAYER_ID aLayer) |
void | ConvertTexts6ToEdaTextSettings (const ATEXT6 &aElem, EDA_TEXT *aEdaText) |
void | ParseFills6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ConvertFills6ToBoardItem (const AFILL6 &aElem) |
void | ConvertFills6ToFootprintItem (FOOTPRINT *aFootprint, const AFILL6 &aElem, const bool aIsBoardImport) |
void | ConvertFills6ToBoardItemWithNet (const AFILL6 &aElem) |
void | ConvertFills6ToBoardItemOnLayer (const AFILL6 &aElem, PCB_LAYER_ID aLayer) |
void | ConvertFills6ToFootprintItemOnLayer (FOOTPRINT *aFootprint, const AFILL6 &aElem, PCB_LAYER_ID aLayer) |
void | ParseBoardRegionsData (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseShapeBasedRegions6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ConvertShapeBasedRegions6ToBoardItem (const AREGION6 &aElem) |
void | ConvertShapeBasedRegions6ToFootprintItem (FOOTPRINT *aFootprint, const AREGION6 &aElem) |
void | ConvertShapeBasedRegions6ToBoardItemOnLayer (const AREGION6 &aElem, PCB_LAYER_ID aLayer) |
void | ConvertShapeBasedRegions6ToFootprintItemOnLayer (FOOTPRINT *aFootprint, const AREGION6 &aElem, PCB_LAYER_ID aLayer) |
void | ParseExtendedPrimitiveInformationData (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseRegions6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseWideStrings6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | HelperParseDimensions6Linear (const ADIMENSION6 &aElem) |
void | HelperParseDimensions6Radial (const ADIMENSION6 &aElem) |
void | HelperParseDimensions6Leader (const ADIMENSION6 &aElem) |
void | HelperParseDimensions6Datum (const ADIMENSION6 &aElem) |
void | HelperParseDimensions6Center (const ADIMENSION6 &aElem) |
void | HelperParsePad6NonCopper (const APAD6 &aElem, PCB_LAYER_ID aLayer, PCB_SHAPE *aShape) |
void | HelperCreateBoardOutline (const std::vector< ALTIUM_VERTICE > &aVertices) |
void | HelperSetZoneLayers (ZONE *aZone, const ALTIUM_LAYER aAltiumLayer) |
void | HelperSetZoneKeepoutRestrictions (ZONE *aZone, const uint8_t aKeepoutRestrictions) |
void | HelperPcpShapeAsBoardKeepoutRegion (const PCB_SHAPE &aShape, const ALTIUM_LAYER aAltiumLayer, const uint8_t aKeepoutRestrictions) |
void | HelperPcpShapeAsFootprintKeepoutRegion (FOOTPRINT *aFootprint, const PCB_SHAPE &aShape, const ALTIUM_LAYER aAltiumLayer, const uint8_t aKeepoutRestrictions) |
std::vector< std::pair< PCB_LAYER_ID, int > > | HelperGetSolderAndPasteMaskExpansions (const ALTIUM_RECORD aType, const int aPrimitiveIndex, const ALTIUM_LAYER aAltiumLayer) |
FOOTPRINT * | HelperGetFootprint (uint16_t aComponent) const |
PCB_SHAPE * | HelperCreateAndAddShape (uint16_t aComponent) |
Private Attributes | |
BOARD * | m_board |
std::vector< FOOTPRINT * > | m_components |
std::vector< ZONE * > | m_polygons |
std::vector< PCB_DIM_RADIAL * > | m_radialDimensions |
std::map< wxString, wxString > | m_models |
std::map< uint32_t, wxString > | m_unicodeStrings |
std::vector< int > | m_altiumToKicadNetcodes |
std::map< ALTIUM_LAYER, PCB_LAYER_ID > | m_layermap |
std::map< ALTIUM_RULE_KIND, std::vector< ARULE6 > > | m_rules |
std::map< ALTIUM_RECORD, std::multimap< int, const AEXTENDED_PRIMITIVE_INFORMATION > > | m_extendedPrimitiveInformationMaps |
std::map< ALTIUM_LAYER, ZONE * > | m_outer_plane |
PROGRESS_REPORTER * | m_progressReporter |
optional; may be nullptr More... | |
unsigned | m_doneCount |
unsigned | m_lastProgressCount |
unsigned | m_totalCount |
for progress reporting More... | |
int | m_highest_pour_index |
Altium stores pour order across all layers. More... | |
Definition at line 105 of file altium_pcb.h.
|
explicit |
Definition at line 287 of file altium_pcb.cpp.
References m_board, m_doneCount, m_highest_pour_index, m_lastProgressCount, m_progressReporter, and m_totalCount.
ALTIUM_PCB::~ALTIUM_PCB | ( | ) |
Definition at line 297 of file altium_pcb.cpp.
|
private |
Definition at line 301 of file altium_pcb.cpp.
References _, PROGRESS_REPORTER::KeepRefreshing(), m_doneCount, m_lastProgressCount, m_progressReporter, m_totalCount, PROGRESS_REPORTER::SetCurrentProgress(), and THROW_IO_ERROR.
Referenced by ParseArcs6Data(), ParseBoard6Data(), ParseBoardRegionsData(), ParseClasses6Data(), ParseComponents6Data(), ParseComponentsBodies6Data(), ParseDimensions6Data(), ParseExtendedPrimitiveInformationData(), ParseFills6Data(), ParseModelsData(), ParseNets6Data(), ParsePads6Data(), ParsePolygons6Data(), ParseRegions6Data(), ParseRules6Data(), ParseShapeBasedRegions6Data(), ParseTexts6Data(), ParseTracks6Data(), and ParseVias6Data().
|
private |
Definition at line 2158 of file altium_pcb.cpp.
References BOARD::Add(), ALTIUM_POLYGON_NONE, ConvertArcs6ToBoardItemOnLayer(), ConvertArcs6ToPcbShape(), GetKicadLayersToIterate(), HelperGetSolderAndPasteMaskExpansions(), HelperPcpShapeAsBoardKeepoutRegion(), AARC6::is_keepout, AARC6::is_polygonoutline, IsAltiumLayerAPlane(), AARC6::keepoutrestrictions, AARC6::layer, m_board, BOARD_ITEM::SetLayer(), PCB_SHAPE::SetStroke(), AARC6::subpolyindex, and AARC6::width.
Referenced by ParseArcs6Data().
|
private |
Definition at line 2252 of file altium_pcb.cpp.
References BOARD::Add(), ALTIUM_NET_UNCONNECTED, AARC6::center, ConvertArcs6ToPcbShape(), EDA_ANGLE::Cos(), DEGREES_T, AARC6::endangle, EDA_SHAPE::GetArcAngle(), PCB_SHAPE::GetCenter(), GetNetCode(), EDA_SHAPE::GetStart(), IsCopperLayer(), KiROUND(), m_board, AARC6::net, EDA_ANGLE::Normalize(), AARC6::radius, EDA_SHAPE::SetArcAngleAndEnd(), EDA_SHAPE::SetCenter(), BOARD_ITEM::SetLayer(), BOARD_CONNECTED_ITEM::SetNetCode(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), PCB_TRACK::SetWidth(), EDA_ANGLE::Sin(), AARC6::startangle, and AARC6::width.
Referenced by ConvertArcs6ToBoardItem(), and ConvertArcs6ToFootprintItem().
|
private |
Definition at line 2199 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ALTIUM_NET_UNCONNECTED, ALTIUM_POLYGON_NONE, ConvertArcs6ToBoardItemOnLayer(), ConvertArcs6ToFootprintItemOnLayer(), ConvertArcs6ToPcbShape(), GetKicadLayersToIterate(), HelperGetSolderAndPasteMaskExpansions(), HelperPcpShapeAsFootprintKeepoutRegion(), AARC6::is_keepout, AARC6::is_polygonoutline, IsAltiumLayerAPlane(), IsCopperLayer(), AARC6::keepoutrestrictions, AARC6::layer, AARC6::net, BOARD_ITEM::SetLayer(), PCB_SHAPE::SetStroke(), AARC6::subpolyindex, and AARC6::width.
Referenced by ParseArcs6Data(), and ParseFootprint().
|
private |
Definition at line 2292 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ConvertArcs6ToPcbShape(), BOARD_ITEM::SetLayer(), PCB_SHAPE::SetStroke(), and AARC6::width.
Referenced by ConvertArcs6ToFootprintItem().
Definition at line 2131 of file altium_pcb.cpp.
References AARC6::center, EDA_ANGLE::Cos(), DEGREES_T, AARC6::endangle, KiROUND(), EDA_ANGLE::Normalize(), AARC6::radius, EDA_SHAPE::SetArcAngleAndEnd(), EDA_SHAPE::SetCenter(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetShape(), EDA_SHAPE::SetStart(), EDA_ANGLE::Sin(), and AARC6::startangle.
Referenced by ConvertArcs6ToBoardItem(), ConvertArcs6ToBoardItemOnLayer(), ConvertArcs6ToFootprintItem(), and ConvertArcs6ToFootprintItemOnLayer().
|
private |
Definition at line 3224 of file altium_pcb.cpp.
References ALTIUM_NET_UNCONNECTED, ConvertFills6ToBoardItemOnLayer(), ConvertFills6ToBoardItemWithNet(), GetKicadLayersToIterate(), AFILL6::is_keepout, AFILL6::layer, and AFILL6::net.
Referenced by ParseFills6Data().
|
private |
Definition at line 3319 of file altium_pcb.cpp.
References BOARD::Add(), DEGREES_T, m_board, AFILL6::pos1, AFILL6::pos2, PCB_SHAPE::Rotate(), AFILL6::rotation, EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFilled(), BOARD_ITEM::SetLayer(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ConvertFills6ToBoardItem().
|
private |
Definition at line 3275 of file altium_pcb.cpp.
References BOARD::Add(), ZONE::AppendCorner(), DEGREES_T, ZONE::GetDefaultHatchPitch(), GetNetCode(), HelperSetZoneKeepoutRestrictions(), HelperSetZoneLayers(), AFILL6::is_keepout, AFILL6::keepoutrestrictions, AFILL6::layer, m_board, AFILL6::net, AFILL6::pos1, AFILL6::pos2, ZONE::Rotate(), AFILL6::rotation, ZONE::SetAssignedPriority(), ZONE::SetBorderDisplayStyle(), ZONE::SetIsRuleArea(), ZONE::SetLocalClearance(), BOARD_CONNECTED_ITEM::SetNetCode(), ZONE::SetPadConnection(), ZONE::SetPosition(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ConvertFills6ToBoardItem(), and ConvertFills6ToFootprintItem().
|
private |
Definition at line 3239 of file altium_pcb.cpp.
References ALTIUM_NET_UNCONNECTED, ConvertFills6ToBoardItemWithNet(), ConvertFills6ToFootprintItemOnLayer(), DEGREES_T, GetKicadLayersToIterate(), HelperPcpShapeAsFootprintKeepoutRegion(), AFILL6::is_keepout, IsAltiumLayerCopper(), AFILL6::keepoutrestrictions, AFILL6::layer, AFILL6::net, AFILL6::pos1, AFILL6::pos2, PCB_SHAPE::Rotate(), AFILL6::rotation, EDA_SHAPE::SetEnd(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ParseFills6Data(), and ParseFootprint().
|
private |
Definition at line 3341 of file altium_pcb.cpp.
References FOOTPRINT::Add(), DEGREES_T, AFILL6::pos1, AFILL6::pos2, PCB_SHAPE::Rotate(), AFILL6::rotation, EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFilled(), BOARD_ITEM::SetLayer(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ConvertFills6ToFootprintItem().
|
private |
Definition at line 2334 of file altium_pcb.cpp.
References BOARD::Add(), ConvertPads6ToBoardItemOnNonCopper(), ConvertPads6ToFootprintItemOnCopper(), IsAltiumLayerAPlane(), IsAltiumLayerCopper(), APAD6::layer, m_board, APAD6::position, and FOOTPRINT::SetPosition().
Referenced by ParsePads6Data().
|
private |
Definition at line 2558 of file altium_pcb.cpp.
References _, BOARD::Add(), Eco1_User, GetKicadLayer(), HelperParsePad6NonCopper(), APAD6::layer, m_board, APAD6::name, pad, and UNDEFINED_LAYER.
Referenced by ConvertPads6ToBoardItem().
|
private |
Definition at line 2355 of file altium_pcb.cpp.
References ConvertPads6ToFootprintItemOnCopper(), ConvertPads6ToFootprintItemOnNonCopper(), IsAltiumLayerAPlane(), IsAltiumLayerCopper(), and APAD6::layer.
Referenced by ParseFootprint(), and ParsePads6Data().
|
private |
Definition at line 2370 of file altium_pcb.cpp.
References _, FOOTPRINT::Add(), EDA_ANGLE::AsDegrees(), B_Cu, B_Mask, DEGREES_T, APAD6::direction, F_Cu, F_Mask, FlipLayerMask(), GetKicadLayer(), GetNetCode(), FOOTPRINT::GetReference(), APAD6::holesize, APAD6::is_tent_bottom, APAD6::is_tent_top, EDA_ANGLE::IsHorizontal(), EDA_ANGLE::IsVertical(), APAD6::layer, APAD6::name, APAD6::net, EDA_ANGLE::Normalize(), pad, PAD_DRILL_SHAPE_CIRCLE, APAD6::padmode, APAD6::pastemaskexpansionmanual, APAD6::pastemaskexpansionmode, APAD6::plated, APAD6::position, PAD::PTHMask(), RECT_CHAMFER_ALL, APAD6::sizeAndShape, PAD::SMDMask(), APAD6::soldermaskexpansionmanual, APAD6::soldermaskexpansionmode, APAD6::topshape, APAD6::topsize, PAD::UnplatedHoleMask(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ConvertPads6ToBoardItem(), and ConvertPads6ToFootprintItem().
|
private |
Definition at line 2578 of file altium_pcb.cpp.
References _, FOOTPRINT::Add(), Eco1_User, GetKicadLayer(), HelperParsePad6NonCopper(), APAD6::layer, APAD6::name, pad, and UNDEFINED_LAYER.
Referenced by ConvertPads6ToFootprintItem().
|
private |
Definition at line 1873 of file altium_pcb.cpp.
References _, BOARD::Add(), SHAPE_POLY_SET::AddOutline(), ALTIUM_POLYGON_NONE, ConvertShapeBasedRegions6ToBoardItemOnLayer(), ZONE::GetDefaultHatchPitch(), GetKicadLayersToIterate(), HelperCreateBoardOutline(), HelperSetZoneKeepoutRestrictions(), HelperSetZoneLayers(), HelperShapeLineChainFromAltiumVertices(), AREGION6::is_keepout, AREGION6::keepoutrestrictions, AREGION6::kind, AREGION6::layer, m_board, AREGION6::outline, ZONE::Outline(), SHAPE_LINE_CHAIN::PointCount(), ZONE::SetBorderDisplayStyle(), ZONE::SetIsRuleArea(), ZONE::SetPosition(), and AREGION6::subpolyindex.
Referenced by ParseShapeBasedRegions6Data().
|
private |
Definition at line 1970 of file altium_pcb.cpp.
References BOARD::Add(), HelperShapeLineChainFromAltiumVertices(), m_board, AREGION6::outline, SHAPE_LINE_CHAIN::PointCount(), EDA_SHAPE::SetFilled(), BOARD_ITEM::SetLayer(), EDA_SHAPE::SetPolyShape(), and PCB_SHAPE::SetStroke().
Referenced by ConvertShapeBasedRegions6ToBoardItem().
|
private |
Definition at line 1924 of file altium_pcb.cpp.
References _, FOOTPRINT::Add(), SHAPE_POLY_SET::AddOutline(), ALTIUM_POLYGON_NONE, ConvertShapeBasedRegions6ToFootprintItemOnLayer(), ZONE::GetDefaultHatchPitch(), GetKicadLayersToIterate(), HelperSetZoneKeepoutRestrictions(), HelperSetZoneLayers(), HelperShapeLineChainFromAltiumVertices(), AREGION6::is_keepout, AREGION6::keepoutrestrictions, AREGION6::kind, AREGION6::layer, AREGION6::outline, ZONE::Outline(), SHAPE_LINE_CHAIN::PointCount(), ZONE::SetBorderDisplayStyle(), ZONE::SetIsRuleArea(), ZONE::SetPosition(), and AREGION6::subpolyindex.
Referenced by ParseFootprint(), and ParseShapeBasedRegions6Data().
|
private |
Definition at line 1995 of file altium_pcb.cpp.
References FOOTPRINT::Add(), HelperShapeLineChainFromAltiumVertices(), AREGION6::outline, SHAPE_LINE_CHAIN::PointCount(), EDA_SHAPE::SetFilled(), BOARD_ITEM::SetLayer(), EDA_SHAPE::SetPolyShape(), and PCB_SHAPE::SetStroke().
Referenced by ConvertShapeBasedRegions6ToFootprintItem().
|
private |
Definition at line 3034 of file altium_pcb.cpp.
References _, ConvertTexts6ToBoardItemOnLayer(), ATEXT6::fonttype, GetKicadLayersToIterate(), and ATEXT6::layer.
Referenced by ParseTexts6Data().
|
private |
Definition at line 3060 of file altium_pcb.cpp.
References BOARD::Add(), ConvertTexts6ToEdaTextSettings(), DEGREES_T, m_board, ATEXT6::position, ATEXT6::rotation, BOARD_ITEM::SetLayer(), PCB_TEXT::SetPosition(), EDA_TEXT::SetText(), EDA_TEXT::SetTextAngle(), and ATEXT6::text.
Referenced by ConvertTexts6ToBoardItem().
|
private |
Definition at line 3124 of file altium_pcb.cpp.
References ATEXT6::fonttype, GR_TEXT_H_ALIGN_CENTER, GR_TEXT_H_ALIGN_LEFT, GR_TEXT_H_ALIGN_RIGHT, GR_TEXT_V_ALIGN_BOTTOM, GR_TEXT_V_ALIGN_CENTER, GR_TEXT_V_ALIGN_TOP, ATEXT6::height, ATEXT6::isBold, ATEXT6::isComment, ATEXT6::isDesignator, ATEXT6::isItalic, ATEXT6::isMirrored, EDA_TEXT::SetBold(), EDA_TEXT::SetHorizJustify(), EDA_TEXT::SetItalic(), EDA_TEXT::SetMirrored(), EDA_TEXT::SetTextSize(), EDA_TEXT::SetTextThickness(), EDA_TEXT::SetVertJustify(), ATEXT6::strokewidth, and ATEXT6::textposition.
Referenced by ConvertTexts6ToBoardItemOnLayer(), and ConvertTexts6ToFootprintItemOnLayer().
|
private |
Definition at line 3047 of file altium_pcb.cpp.
References _, ConvertTexts6ToFootprintItemOnLayer(), ATEXT6::fonttype, GetKicadLayersToIterate(), and ATEXT6::layer.
Referenced by ParseFootprint(), and ParseTexts6Data().
|
private |
Definition at line 3083 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ConvertTexts6ToEdaTextSettings(), DEGREES_T, ATEXT6::isComment, ATEXT6::isDesignator, ATEXT6::position, FOOTPRINT::Reference(), ATEXT6::rotation, EDA_TEXT::SetKeepUpright(), BOARD_ITEM::SetLayer(), PCB_TEXT::SetPosition(), EDA_TEXT::SetText(), EDA_TEXT::SetTextAngle(), ATEXT6::text, PCB_TEXT::TEXT_is_DIVERS, and FOOTPRINT::Value().
Referenced by ConvertTexts6ToFootprintItem().
|
private |
Definition at line 2852 of file altium_pcb.cpp.
References BOARD::Add(), ALTIUM_POLYGON_NONE, ConvertTracks6ToBoardItemOnLayer(), ATRACK6::end, GetKicadLayersToIterate(), HelperGetSolderAndPasteMaskExpansions(), HelperPcpShapeAsBoardKeepoutRegion(), ATRACK6::is_keepout, ATRACK6::is_polygonoutline, IsAltiumLayerAPlane(), ATRACK6::keepoutrestrictions, ATRACK6::layer, m_board, EDA_SHAPE::SetEnd(), BOARD_ITEM::SetLayer(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), ATRACK6::start, ATRACK6::subpolyindex, and ATRACK6::width.
Referenced by ParseTracks6Data().
|
private |
Definition at line 2949 of file altium_pcb.cpp.
References BOARD::Add(), ALTIUM_NET_UNCONNECTED, ATRACK6::end, GetNetCode(), IsCopperLayer(), m_board, ATRACK6::net, EDA_SHAPE::SetEnd(), PCB_TRACK::SetEnd(), BOARD_ITEM::SetLayer(), BOARD_CONNECTED_ITEM::SetNetCode(), EDA_SHAPE::SetStart(), PCB_TRACK::SetStart(), PCB_SHAPE::SetStroke(), PCB_TRACK::SetWidth(), ATRACK6::start, and ATRACK6::width.
Referenced by ConvertTracks6ToBoardItem(), and ConvertTracks6ToFootprintItem().
|
private |
Definition at line 2895 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ALTIUM_NET_UNCONNECTED, ALTIUM_POLYGON_NONE, ConvertTracks6ToBoardItemOnLayer(), ConvertTracks6ToFootprintItemOnLayer(), ATRACK6::end, GetKicadLayersToIterate(), HelperGetSolderAndPasteMaskExpansions(), HelperPcpShapeAsFootprintKeepoutRegion(), ATRACK6::is_keepout, ATRACK6::is_polygonoutline, IsAltiumLayerAPlane(), IsCopperLayer(), ATRACK6::keepoutrestrictions, ATRACK6::layer, ATRACK6::net, EDA_SHAPE::SetEnd(), BOARD_ITEM::SetLayer(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), ATRACK6::start, ATRACK6::subpolyindex, and ATRACK6::width.
Referenced by ParseFootprint(), and ParseTracks6Data().
|
private |
Definition at line 2977 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ATRACK6::end, EDA_SHAPE::SetEnd(), BOARD_ITEM::SetLayer(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), ATRACK6::start, and ATRACK6::width.
Referenced by ConvertTracks6ToFootprintItem().
|
private |
Definition at line 150 of file altium_pcb.cpp.
References B_Cu, B_Fab, B_Mask, B_Paste, B_SilkS, Dwgs_User, Eco2_User, F_Cu, F_Fab, F_Mask, F_Paste, F_SilkS, In10_Cu, In11_Cu, In12_Cu, In13_Cu, In14_Cu, In15_Cu, In16_Cu, In17_Cu, In18_Cu, In19_Cu, In1_Cu, In20_Cu, In21_Cu, In22_Cu, In23_Cu, In24_Cu, In25_Cu, In26_Cu, In27_Cu, In28_Cu, In29_Cu, In2_Cu, In30_Cu, In3_Cu, In4_Cu, In5_Cu, In6_Cu, In7_Cu, In8_Cu, In9_Cu, m_layermap, Margin, UNDEFINED_LAYER, User_1, User_2, User_3, User_4, User_5, User_6, User_7, User_8, and User_9.
Referenced by ConvertPads6ToBoardItemOnNonCopper(), ConvertPads6ToFootprintItemOnCopper(), ConvertPads6ToFootprintItemOnNonCopper(), GetKicadLayersToIterate(), HelperParseDimensions6Center(), HelperParseDimensions6Datum(), HelperParseDimensions6Leader(), HelperParseDimensions6Linear(), HelperParseDimensions6Radial(), ParseBoard6Data(), ParseRegions6Data(), and ParseVias6Data().
|
private |
Definition at line 256 of file altium_pcb.cpp.
References _, Eco1_User, GetKicadLayer(), MAX_CU_LAYERS, and UNDEFINED_LAYER.
Referenced by ConvertArcs6ToBoardItem(), ConvertArcs6ToFootprintItem(), ConvertFills6ToBoardItem(), ConvertFills6ToFootprintItem(), ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToFootprintItem(), ConvertTexts6ToBoardItem(), ConvertTexts6ToFootprintItem(), ConvertTracks6ToBoardItem(), ConvertTracks6ToFootprintItem(), and HelperSetZoneLayers().
|
private |
Definition at line 753 of file altium_pcb.cpp.
References ALTIUM_NET_UNCONNECTED, m_altiumToKicadNetcodes, THROW_IO_ERROR, and NETINFO_LIST::UNCONNECTED.
Referenced by ConvertArcs6ToBoardItemOnLayer(), ConvertFills6ToBoardItemWithNet(), ConvertPads6ToFootprintItemOnCopper(), ConvertTracks6ToBoardItemOnLayer(), ParsePolygons6Data(), and ParseVias6Data().
|
private |
Definition at line 771 of file altium_pcb.cpp.
References m_rules, and ARULE6::name.
|
private |
Definition at line 787 of file altium_pcb.cpp.
References m_rules, ARULE6::scope1expr, and ARULE6::scope2expr.
Referenced by ParsePolygons6Data().
|
private |
Definition at line 82 of file altium_pcb.cpp.
References BOARD::Add(), FOOTPRINT::Add(), ALTIUM_COMPONENT_NONE, m_board, m_components, and THROW_IO_ERROR.
|
private |
Definition at line 983 of file altium_pcb.cpp.
References SEG::A, BOARD::Add(), SHAPE_LINE_CHAIN::Arc(), SHAPE_LINE_CHAIN::ArcIndex(), SEG::B, Edge_Cuts, SHAPE_ARC::GetArcMid(), BOARD::GetDesignSettings(), BOARD_DESIGN_SETTINGS::GetLineThickness(), SHAPE_ARC::GetP0(), SHAPE_ARC::GetP1(), HelperShapeLineChainFromAltiumVertices(), SHAPE_LINE_CHAIN::IsArcStart(), m_board, SHAPE_LINE_CHAIN::NextShape(), SHAPE_LINE_CHAIN::PointCount(), SHAPE_LINE_CHAIN::Segment(), EDA_SHAPE::SetArcGeometry(), EDA_SHAPE::SetEnd(), BOARD_ITEM::SetLayer(), EDA_SHAPE::SetStart(), and PCB_SHAPE::SetStroke().
Referenced by ConvertShapeBasedRegions6ToBoardItem(), and ParseBoard6Data().
|
private |
Definition at line 70 of file altium_pcb.cpp.
References ALTIUM_COMPONENT_NONE, m_components, and THROW_IO_ERROR.
Referenced by ParseArcs6Data(), ParseFills6Data(), ParsePads6Data(), ParseShapeBasedRegions6Data(), ParseTexts6Data(), and ParseTracks6Data().
|
private |
Definition at line 3440 of file altium_pcb.cpp.
References B_Mask, B_Paste, F_Mask, F_Paste, m_extendedPrimitiveInformationMaps, AEXTENDED_PRIMITIVE_INFORMATION::pastemaskexpansionmanual, AEXTENDED_PRIMITIVE_INFORMATION::pastemaskexpansionmode, AEXTENDED_PRIMITIVE_INFORMATION::soldermaskexpansionmanual, AEXTENDED_PRIMITIVE_INFORMATION::soldermaskexpansionmode, and AEXTENDED_PRIMITIVE_INFORMATION::type.
Referenced by ConvertArcs6ToBoardItem(), ConvertArcs6ToFootprintItem(), ConvertTracks6ToBoardItem(), and ConvertTracks6ToFootprintItem().
|
private |
Definition at line 1484 of file altium_pcb.cpp.
References _, BOARD::Add(), ADIMENSION6::angle, DEGREES_T, Eco1_User, GetKicadLayer(), ADIMENSION6::height, ADIMENSION6::layer, ADIMENSION6::linewidth, m_board, RotatePoint(), PCB_DIMENSION_BASE::SetEnd(), BOARD_ITEM::SetLayer(), PCB_DIMENSION_BASE::SetLineThickness(), PCB_DIMENSION_BASE::SetStart(), UNDEFINED_LAYER, and ADIMENSION6::xy1.
Referenced by ParseDimensions6Data().
|
private |
Definition at line 1460 of file altium_pcb.cpp.
References _, BOARD::Add(), Eco1_User, GetKicadLayer(), ADIMENSION6::layer, ADIMENSION6::linewidth, m_board, ADIMENSION6::referencePoint, BOARD_ITEM::SetLayer(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), and UNDEFINED_LAYER.
|
private |
Definition at line 1382 of file altium_pcb.cpp.
References _, BOARD::Add(), ADIMENSION6::arrowsize, DEGREES_T, Eco1_User, EuclideanNorm(), GetKicadLayer(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_V_ALIGN_BOTTOM, KiROUND(), ADIMENSION6::layer, ADIMENSION6::linewidth, m_board, ADIMENSION6::referencePoint, RotatePoint(), EDA_SHAPE::SetEnd(), BOARD_ITEM::SetLayer(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), text, ADIMENSION6::textformat, ADIMENSION6::textheight, ADIMENSION6::textlinewidth, ADIMENSION6::textPoint, UNDEFINED_LAYER, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ParseDimensions6Data().
|
private |
Basically REFERENCE0POINT and REFERENCE1POINT are the two end points of the dimension. XY1 is the position of the arrow above REFERENCE0POINT. those three points are not necessarily in 90degree angle, but KiCad requires this to show the correct measurements.
Therefore, we take the vector of REFERENCE0POINT -> XY1, calculate the normal, and intersect it with REFERENCE1POINT pointing the same direction as REFERENCE0POINT -> XY1. This should give us a valid measurement point where we can place the drawsegment.
Definition at line 1201 of file altium_pcb.cpp.
References _, BOARD::Add(), ADIMENSION6::angle, BOLD_FACTOR, Eco1_User, EuclideanNorm(), GetKicadLayer(), EDA_TEXT::GetTextThickness(), SEG::Intersect(), ADIMENSION6::layer, ADIMENSION6::linewidth, m_board, PCB_DIM_ALIGNED_T, ADIMENSION6::referencePoint, EDA_TEXT::SetBold(), PCB_DIMENSION_BASE::SetEnd(), PCB_DIM_ALIGNED::SetHeight(), EDA_TEXT::SetItalic(), BOARD_ITEM::SetLayer(), PCB_DIMENSION_BASE::SetLineThickness(), PCB_DIMENSION_BASE::SetPrecision(), PCB_DIMENSION_BASE::SetPrefix(), PCB_DIMENSION_BASE::SetStart(), PCB_DIMENSION_BASE::SetSuffix(), EDA_TEXT::SetTextSize(), EDA_TEXT::SetTextThickness(), PCB_DIMENSION_BASE::SetUnits(), PCB_DIMENSION_BASE::SetUnitsFormat(), ADIMENSION6::textbold, ADIMENSION6::textheight, ADIMENSION6::textitalic, ADIMENSION6::textlinewidth, ADIMENSION6::textprecision, ADIMENSION6::textprefix, ADIMENSION6::textsuffix, ADIMENSION6::textunit, THROW_IO_ERROR, UNDEFINED_LAYER, VECTOR2< T >::x, ADIMENSION6::xy1, and VECTOR2< T >::y.
Referenced by ParseDimensions6Data().
|
private |
Definition at line 1302 of file altium_pcb.cpp.
References _, BOARD::Add(), BOLD_FACTOR, Eco1_User, BOX2< Vec >::GetCenter(), GetKicadLayer(), EDA_TEXT::GetTextBox(), EDA_TEXT::GetTextPos(), EDA_TEXT::GetTextThickness(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_V_ALIGN_BOTTOM, GR_TEXT_V_ALIGN_CENTER, ADIMENSION6::layer, ADIMENSION6::linewidth, m_board, m_radialDimensions, ADIMENSION6::referencePoint, EDA_TEXT::SetBold(), PCB_DIMENSION_BASE::SetEnd(), EDA_TEXT::SetHorizJustify(), EDA_TEXT::SetItalic(), PCB_DIMENSION_BASE::SetKeepTextAligned(), BOARD_ITEM::SetLayer(), PCB_DIMENSION_BASE::SetLineThickness(), PCB_DIMENSION_BASE::SetPrecision(), PCB_DIMENSION_BASE::SetPrefix(), PCB_DIMENSION_BASE::SetStart(), EDA_TEXT::SetTextPos(), EDA_TEXT::SetTextSize(), EDA_TEXT::SetTextThickness(), PCB_DIMENSION_BASE::SetUnits(), PCB_DIMENSION_BASE::SetUnitsFormat(), EDA_TEXT::SetVertJustify(), ADIMENSION6::textbold, ADIMENSION6::textgap, ADIMENSION6::textheight, ADIMENSION6::textitalic, ADIMENSION6::textlinewidth, ADIMENSION6::textPoint, ADIMENSION6::textprecision, ADIMENSION6::textprefix, ADIMENSION6::textsuffix, ADIMENSION6::textunit, THROW_IO_ERROR, UNDEFINED_LAYER, ADIMENSION6::xy1, and VECTOR2< T >::y.
Referenced by ParseDimensions6Data().
|
private |
Definition at line 2599 of file altium_pcb.cpp.
References _, ALTIUM_NET_UNCONNECTED, DEGREES_T, APAD6::direction, APAD6::holesize, APAD6::name, APAD6::net, APAD6::padmode, APAD6::position, PCB_SHAPE::Rotate(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFilled(), BOARD_ITEM::SetLayer(), EDA_SHAPE::SetPolyPoints(), EDA_SHAPE::SetShape(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), APAD6::sizeAndShape, APAD6::topshape, APAD6::topsize, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ConvertPads6ToBoardItemOnNonCopper(), and ConvertPads6ToFootprintItemOnNonCopper().
|
private |
Definition at line 3398 of file altium_pcb.cpp.
References BOARD::Add(), ARC_HIGH_DEF, ERROR_INSIDE, ZONE::GetDefaultHatchPitch(), HelperSetZoneKeepoutRestrictions(), HelperSetZoneLayers(), m_board, ZONE::Outline(), ZONE::SetBorderDisplayStyle(), and ZONE::SetIsRuleArea().
Referenced by ConvertArcs6ToBoardItem(), and ConvertTracks6ToBoardItem().
|
private |
Definition at line 3418 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ARC_HIGH_DEF, ERROR_INSIDE, ZONE::GetDefaultHatchPitch(), HelperSetZoneKeepoutRestrictions(), HelperSetZoneLayers(), ZONE::Outline(), ZONE::SetBorderDisplayStyle(), and ZONE::SetIsRuleArea().
Referenced by ConvertArcs6ToFootprintItem(), ConvertFills6ToFootprintItem(), and ConvertTracks6ToFootprintItem().
|
private |
Definition at line 3382 of file altium_pcb.cpp.
References ZONE::SetDoNotAllowCopperPour(), ZONE::SetDoNotAllowFootprints(), ZONE::SetDoNotAllowPads(), ZONE::SetDoNotAllowTracks(), and ZONE::SetDoNotAllowVias().
Referenced by ConvertFills6ToBoardItemWithNet(), ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToFootprintItem(), HelperPcpShapeAsBoardKeepoutRegion(), and HelperPcpShapeAsFootprintKeepoutRegion().
|
private |
Definition at line 3364 of file altium_pcb.cpp.
References LSET::AllCuMask(), GetKicadLayersToIterate(), and ZONE::SetLayerSet().
Referenced by ConvertFills6ToBoardItemWithNet(), ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToFootprintItem(), HelperPcpShapeAsBoardKeepoutRegion(), HelperPcpShapeAsFootprintKeepoutRegion(), and ParsePolygons6Data().
void ALTIUM_PCB::Parse | ( | const ALTIUM_COMPOUND_FILE & | aAltiumPcbFile, |
const std::map< ALTIUM_PCB_DIR, std::string > & | aFileMapping | ||
) |
Definition at line 320 of file altium_pcb.cpp.
References _, directory, BOARD::Drawings(), VECTOR2< T >::EuclideanNorm(), ALTIUM_COMPOUND_FILE::FindStream(), FormatPath(), BOARD_DESIGN_SETTINGS::GetAuxOrigin(), BOARD::GetBoardEdgesBoundingBox(), PCB_ARC::GetCenter(), BOARD::GetDesignSettings(), BOARD_DESIGN_SETTINGS::GetGridOrigin(), BOX2< Vec >::GetHeight(), PAGE_INFO::GetHeightIU(), BOARD::GetPageSettings(), PCB_SHAPE::GetPosition(), EDA_SHAPE::GetRadius(), PCB_ARC::GetRadius(), ALTIUM_PARSER::GetRemainingBytes(), EDA_SHAPE::GetShape(), BOX2< Vec >::GetWidth(), PAGE_INFO::GetWidthIU(), BOX2< Vec >::GetX(), BOX2< Vec >::GetY(), ALTIUM_PARSER::HasParsingError(), EDA_IU_SCALE::IU_PER_MILS, m_board, m_highest_pour_index, m_outer_plane, m_polygons, m_progressReporter, m_radialDimensions, m_totalCount, BOARD::Move(), ParseArcs6Data(), ParseBoard6Data(), ParseBoardRegionsData(), ParseClasses6Data(), ParseComponents6Data(), ParseComponentsBodies6Data(), ParseDimensions6Data(), ParseExtendedPrimitiveInformationData(), ParseFileHeader(), ParseFills6Data(), ParseModelsData(), ParseNets6Data(), ParsePads6Data(), ParsePolygons6Data(), ParseRegions6Data(), ParseRules6Data(), ParseShapeBasedRegions6Data(), ParseTexts6Data(), ParseTracks6Data(), ParseVias6Data(), ParseWideStrings6Data(), PCB_ARC_T, PCB_SHAPE_T, pcbIUScale, ALTIUM_PARSER::Read(), VECTOR2< T >::Resize(), BOARD_DESIGN_SETTINGS::SetAuxOrigin(), BOARD_DESIGN_SETTINGS::SetGridOrigin(), EDA_ITEM::SetModified(), and BOARD::Tracks().
Referenced by ALTIUM_CIRCUIT_STUDIO_PLUGIN::Load(), ALTIUM_CIRCUIT_MAKER_PLUGIN::Load(), and ALTIUM_DESIGNER_PLUGIN::Load().
|
private |
Definition at line 2102 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), AARC6::component, ConvertArcs6ToBoardItem(), ConvertArcs6ToFootprintItem(), ALTIUM_PARSER::GetRemainingBytes(), HelperGetFootprint(), m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 841 of file altium_pcb.cpp.
References _, B_Cu, ABOARD6::board_vertices, BS_ITEM_TYPE_COPPER, BS_ITEM_TYPE_DIELECTRIC, BOARD_STACKUP::BuildDefaultStackupList(), checkpoint(), ABOARD6_LAYER_STACKUP::copperthick, ABOARD6_LAYER_STACKUP::dielectricconst, ABOARD6_LAYER_STACKUP::dielectricmaterial, ABOARD6_LAYER_STACKUP::dielectricthick, F_Cu, BOARD::GetDesignSettings(), GetKicadLayer(), BOARD_STACKUP::GetList(), ALTIUM_PARSER::GetRemainingBytes(), BOARD_DESIGN_SETTINGS::GetStackupDescriptor(), HelperCreateBoardOutline(), IsAltiumLayerAPlane(), m_board, m_layermap, m_progressReporter, ABOARD6_LAYER_STACKUP::name, ABOARD6_LAYER_STACKUP::nextId, NotSpecifiedPrm(), BOARD_STACKUP::RemoveAll(), PROGRESS_REPORTER::Report(), BOARD_DESIGN_SETTINGS::SetAuxOrigin(), BOARD::SetCopperLayerCount(), BOARD_DESIGN_SETTINGS::SetGridOrigin(), BOARD::SetLayerName(), BOARD::SetLayerType(), ABOARD6::sheetpos, ABOARD6::stackup, and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1822 of file altium_pcb.cpp.
References _, checkpoint(), ALTIUM_PARSER::GetRemainingBytes(), m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1021 of file altium_pcb.cpp.
References _, checkpoint(), CTX_NETCLASS, BOARD::GetDesignSettings(), ALTIUM_PARSER::GetRemainingBytes(), ACLASS6::kind, m_board, BOARD::m_LegacyNetclassesLoaded, BOARD_DESIGN_SETTINGS::m_NetSettings, m_progressReporter, name, ACLASS6::name, ACLASS6::names, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1066 of file altium_pcb.cpp.
References _, BOARD::Add(), AltiumToKiCadLibID(), B_Cu, checkpoint(), ACOMPONENT6::commenton, F_Cu, ALTIUM_PARSER::GetRemainingBytes(), ACOMPONENT6::layer, ACOMPONENT6::locked, m_board, m_components, m_progressReporter, ACOMPONENT6::nameon, ACOMPONENT6::pattern, ACOMPONENT6::position, FOOTPRINT::Reference(), PROGRESS_REPORTER::Report(), ACOMPONENT6::rotation, FOOTPRINT::SetFPID(), BOARD_ITEM::SetLayer(), FOOTPRINT::SetLocked(), FOOTPRINT::SetOrientationDegrees(), FOOTPRINT::SetPosition(), FOOTPRINT::SetReference(), EDA_TEXT::SetVisible(), ACOMPONENT6::sourcedesignator, ACOMPONENT6::sourcefootprintlibrary, THROW_IO_ERROR, and FOOTPRINT::Value().
Referenced by Parse().
|
private |
Definition at line 1127 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, EDA_ANGLE::AsDegrees(), ACOMPONENTBODY6::bodyOpacity, checkpoint(), ACOMPONENTBODY6::component, FOOTPRINT::GetOrientation(), FOOTPRINT::GetPosition(), ALTIUM_PARSER::GetRemainingBytes(), FOOTPRINT::IsFlipped(), EDA_IU_SCALE::IUTomm(), m_components, FP_3DMODEL::m_Filename, m_models, FP_3DMODEL::m_Offset, FP_3DMODEL::m_Opacity, m_progressReporter, FP_3DMODEL::m_Rotation, ACOMPONENTBODY6::modelId, ACOMPONENTBODY6::modelIsEmbedded, ACOMPONENTBODY6::modelPosition, ACOMPONENTBODY6::modelRotation, FOOTPRINT::Models(), normalizeAngleDegrees(), pcbIUScale, PROGRESS_REPORTER::Report(), RotatePoint(), ACOMPONENTBODY6::rotation, THROW_IO_ERROR, VECTOR2< T >::x, VECTOR3< T >::x, VECTOR2< T >::y, VECTOR3< T >::y, and VECTOR3< T >::z.
Referenced by Parse().
|
private |
Definition at line 1508 of file altium_pcb.cpp.
References _, checkpoint(), ALTIUM_PARSER::GetRemainingBytes(), HelperParseDimensions6Center(), HelperParseDimensions6Leader(), HelperParseDimensions6Linear(), HelperParseDimensions6Radial(), ADIMENSION6::kind, m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 820 of file altium_pcb.cpp.
References _, checkpoint(), ALTIUM_PARSER::GetRemainingBytes(), m_extendedPrimitiveInformationMaps, m_progressReporter, AEXTENDED_PRIMITIVE_INFORMATION::primitiveIndex, AEXTENDED_PRIMITIVE_INFORMATION::primitiveObjectId, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse(), and ParseFootprint().
|
private |
Definition at line 803 of file altium_pcb.cpp.
References ALTIUM_PARSER::ReadAndSetSubrecordLength(), and ALTIUM_PARSER::ReadWxString().
Referenced by Parse().
|
private |
Definition at line 3195 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), AFILL6::component, ConvertFills6ToBoardItem(), ConvertFills6ToFootprintItem(), ALTIUM_PARSER::GetRemainingBytes(), HelperGetFootprint(), m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
FOOTPRINT * ALTIUM_PCB::ParseFootprint | ( | const ALTIUM_COMPOUND_FILE & | altiumLibFile, |
const wxString & | aFootprintName | ||
) |
Definition at line 607 of file altium_pcb.cpp.
References _, AltiumToKiCadLibID(), ConvertArcs6ToFootprintItem(), ConvertFills6ToFootprintItem(), ConvertPads6ToFootprintItem(), ConvertShapeBasedRegions6ToFootprintItem(), ConvertTexts6ToFootprintItem(), ConvertTracks6ToFootprintItem(), Eco2_User, ALTIUM_COMPOUND_FILE::FindStream(), FormatPath(), ALTIUM_PARSER::GetRemainingBytes(), ALTIUM_PARSER::HasParsingError(), m_board, m_extendedPrimitiveInformationMaps, m_layermap, m_unicodeStrings, pad, ParseExtendedPrimitiveInformationData(), ALTIUM_PARSER::Peek(), ALTIUM_PARSER::ReadAndSetSubrecordLength(), ALTIUM_PARSER::ReadProperties(), ALTIUM_PARSER::ReadString(), ALTIUM_PARSER::ReadWxString(), ALTIUM_PARSER::SkipSubrecord(), text, THROW_IO_ERROR, and via.
Referenced by ALTIUM_DESIGNER_PLUGIN::FootprintLoad().
|
private |
Definition at line 1550 of file altium_pcb.cpp.
References _, checkpoint(), ALTIUM_COMPOUND_FILE::FindStream(), FormatPath(), ALTIUM_COMPOUND_FILE::GetCompoundFileReader(), BOARD::GetFileName(), ALTIUM_PARSER::GetRemainingBytes(), AMODEL::id, m_board, m_models, m_progressReporter, AMODEL::name, PROJECT_VAR_NAME, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1644 of file altium_pcb.cpp.
References _, BOARD::Add(), checkpoint(), NETINFO_ITEM::GetNetCode(), ALTIUM_PARSER::GetRemainingBytes(), m_altiumToKicadNetcodes, m_board, m_progressReporter, ANET6::name, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 2305 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), APAD6::component, ConvertPads6ToBoardItem(), ConvertPads6ToFootprintItem(), ALTIUM_PARSER::GetRemainingBytes(), HelperGetFootprint(), m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1668 of file altium_pcb.cpp.
References _, BOARD::Add(), SHAPE_POLY_SET::AddOutline(), ANGLE_45, checkpoint(), BOX2< Vec >::Contains(), ZONE::GetBoundingBox(), ZONE::GetDefaultHatchPitch(), BOX2< Vec >::GetHeight(), ZONE::GetMinThickness(), GetNetCode(), ALTIUM_PARSER::GetRemainingBytes(), GetRuleDefault(), BOX2< Vec >::GetWidth(), APOLYGON6::gridsize, APOLYGON6::hatchstyle, HelperSetZoneLayers(), HelperShapeLineChainFromAltiumVertices(), IsAltiumLayerAPlane(), APOLYGON6::layer, APOLYGON6::locked, m_board, m_highest_pour_index, m_outer_plane, m_polygons, m_progressReporter, APOLYGON6::net, ZONE::Outline(), ARULE6::planeclearanceClearance, SHAPE_LINE_CHAIN::PointCount(), ARULE6::polygonconnectAirgapwidth, ARULE6::polygonconnectReliefconductorwidth, ARULE6::polygonconnectStyle, APOLYGON6::pourindex, PROGRESS_REPORTER::Report(), ZONE::SetAssignedPriority(), ZONE::SetBorderDisplayStyle(), ZONE::SetFillMode(), ZONE::SetHatchGap(), ZONE::SetHatchOrientation(), ZONE::SetHatchThickness(), ZONE::SetLocalClearance(), BOARD_ITEM::SetLocked(), ZONE::SetMinThickness(), BOARD_CONNECTED_ITEM::SetNetCode(), ZONE::SetPadConnection(), ZONE::SetPosition(), ZONE::SetThermalReliefGap(), ZONE::SetThermalReliefSpokeWidth(), THROW_IO_ERROR, APOLYGON6::trackwidth, and APOLYGON6::vertices.
Referenced by Parse().
|
private |
Definition at line 2021 of file altium_pcb.cpp.
References _, SHAPE_POLY_SET::AddHole(), SHAPE_POLY_SET::AddOutline(), ALTIUM_POLYGON_NONE, SHAPE_LINE_CHAIN::Append(), SHAPE_POLY_SET::BooleanAdd(), checkpoint(), SHAPE_POLY_SET::Fracture(), ZONE::GetFill(), GetKicadLayer(), ALTIUM_PARSER::GetRemainingBytes(), ZONE::HasFilledPolysForLayer(), AREGION6::holes, AREGION6::layer, m_polygons, m_progressReporter, AREGION6::outline, SHAPE_POLY_SET::PM_STRICTLY_SIMPLE, ALTIUM_VERTICE::position, PROGRESS_REPORTER::Report(), SHAPE_LINE_CHAIN::SetClosed(), ZONE::SetFilledPolysList(), ZONE::SetIsFilled(), ZONE::SetNeedRefill(), AREGION6::subpolyindex, THROW_IO_ERROR, and UNDEFINED_LAYER.
Referenced by Parse().
|
private |
Definition at line 1792 of file altium_pcb.cpp.
References _, checkpoint(), ALTIUM_PARSER::GetRemainingBytes(), ARULE6::kind, m_progressReporter, m_rules, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1842 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), AREGION6::component, ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToFootprintItem(), ALTIUM_PARSER::GetRemainingBytes(), HelperGetFootprint(), AREGION6::kind, m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 3005 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), ATEXT6::component, ConvertTexts6ToBoardItem(), ConvertTexts6ToFootprintItem(), ALTIUM_PARSER::GetRemainingBytes(), HelperGetFootprint(), m_progressReporter, m_unicodeStrings, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 2823 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), ATRACK6::component, ConvertTracks6ToBoardItem(), ConvertTracks6ToFootprintItem(), ALTIUM_PARSER::GetRemainingBytes(), HelperGetFootprint(), m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 2763 of file altium_pcb.cpp.
References _, BOARD::Add(), checkpoint(), AVIA6::diameter, GetKicadLayer(), GetNetCode(), ALTIUM_PARSER::GetRemainingBytes(), AVIA6::holesize, AVIA6::is_locked, IsCopperLayer(), AVIA6::layer_end, AVIA6::layer_start, m_board, m_progressReporter, AVIA6::net, AVIA6::position, PROGRESS_REPORTER::Report(), THROW_IO_ERROR, and via.
Referenced by Parse().
|
private |
Definition at line 2991 of file altium_pcb.cpp.
References _, ALTIUM_PARSER::GetRemainingBytes(), m_progressReporter, m_unicodeStrings, ALTIUM_PARSER::ReadWideStringTable(), PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 244 of file altium_pcb.h.
Referenced by GetNetCode(), and ParseNets6Data().
|
private |
Definition at line 238 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), ConvertArcs6ToBoardItem(), ConvertArcs6ToBoardItemOnLayer(), ConvertFills6ToBoardItemOnLayer(), ConvertFills6ToBoardItemWithNet(), ConvertPads6ToBoardItem(), ConvertPads6ToBoardItemOnNonCopper(), ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToBoardItemOnLayer(), ConvertTexts6ToBoardItemOnLayer(), ConvertTracks6ToBoardItem(), ConvertTracks6ToBoardItemOnLayer(), HelperCreateAndAddShape(), HelperCreateBoardOutline(), HelperParseDimensions6Center(), HelperParseDimensions6Datum(), HelperParseDimensions6Leader(), HelperParseDimensions6Linear(), HelperParseDimensions6Radial(), HelperPcpShapeAsBoardKeepoutRegion(), Parse(), ParseBoard6Data(), ParseClasses6Data(), ParseComponents6Data(), ParseFootprint(), ParseModelsData(), ParseNets6Data(), ParsePolygons6Data(), and ParseVias6Data().
|
private |
Definition at line 239 of file altium_pcb.h.
Referenced by HelperCreateAndAddShape(), HelperGetFootprint(), ParseComponents6Data(), and ParseComponentsBodies6Data().
|
private |
Definition at line 253 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), and checkpoint().
|
private |
Definition at line 248 of file altium_pcb.h.
Referenced by HelperGetSolderAndPasteMaskExpansions(), ParseExtendedPrimitiveInformationData(), and ParseFootprint().
|
private |
Altium stores pour order across all layers.
Definition at line 258 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), Parse(), and ParsePolygons6Data().
|
private |
Definition at line 254 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), and checkpoint().
|
private |
Definition at line 245 of file altium_pcb.h.
Referenced by GetKicadLayer(), ParseBoard6Data(), and ParseFootprint().
|
private |
Definition at line 242 of file altium_pcb.h.
Referenced by ParseComponentsBodies6Data(), and ParseModelsData().
|
private |
Definition at line 250 of file altium_pcb.h.
Referenced by Parse(), and ParsePolygons6Data().
|
private |
Definition at line 240 of file altium_pcb.h.
Referenced by Parse(), ParsePolygons6Data(), and ParseRegions6Data().
|
private |
optional; may be nullptr
Definition at line 252 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), checkpoint(), Parse(), ParseArcs6Data(), ParseBoard6Data(), ParseBoardRegionsData(), ParseClasses6Data(), ParseComponents6Data(), ParseComponentsBodies6Data(), ParseDimensions6Data(), ParseExtendedPrimitiveInformationData(), ParseFills6Data(), ParseModelsData(), ParseNets6Data(), ParsePads6Data(), ParsePolygons6Data(), ParseRegions6Data(), ParseRules6Data(), ParseShapeBasedRegions6Data(), ParseTexts6Data(), ParseTracks6Data(), ParseVias6Data(), and ParseWideStrings6Data().
|
private |
Definition at line 241 of file altium_pcb.h.
Referenced by HelperParseDimensions6Radial(), and Parse().
|
private |
Definition at line 246 of file altium_pcb.h.
Referenced by GetRule(), GetRuleDefault(), and ParseRules6Data().
|
private |
for progress reporting
Definition at line 255 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), checkpoint(), and Parse().
|
private |
Definition at line 243 of file altium_pcb.h.
Referenced by ParseFootprint(), ParseTexts6Data(), and ParseWideStrings6Data().