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 (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 | 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, const int aPrimitiveIndex) |
void | ConvertShapeBasedRegions6ToBoardItemOnLayer (const AREGION6 &aElem, PCB_LAYER_ID aLayer) |
void | ConvertShapeBasedRegions6ToFootprintItemOnLayer (FOOTPRINT *aFootprint, const AREGION6 &aElem, PCB_LAYER_ID aLayer, const int aPrimitiveIndex) |
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 |
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 106 of file altium_pcb.h.
|
explicit |
Definition at line 265 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 275 of file altium_pcb.cpp.
|
private |
Definition at line 279 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 2450 of file altium_pcb.cpp.
References BOARD::Add(), ALTIUM_POLYGON_NONE, ARC_HIGH_DEF, ConvertArcs6ToBoardItemOnLayer(), ConvertArcs6ToPcbShape(), ERROR_INSIDE, ZONE::GetFill(), GetKicadLayer(), GetKicadLayersToIterate(), HelperGetSolderAndPasteMaskExpansions(), HelperPcpShapeAsBoardKeepoutRegion(), AARC6::is_keepout, IsAltiumLayerAPlane(), AARC6::keepoutrestrictions, AARC6::layer, m_board, m_polygons, AARC6::polygon, ZONE::SetIsFilled(), PCB_SHAPE::SetLayer(), ZONE::SetNeedRefill(), PCB_SHAPE::SetStroke(), THROW_IO_ERROR, UNDEFINED_LAYER, and AARC6::width.
Referenced by ParseArcs6Data().
|
private |
Definition at line 2584 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(), PCB_SHAPE::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 2527 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ALTIUM_NET_UNCONNECTED, ALTIUM_POLYGON_NONE, ConvertArcs6ToBoardItemOnLayer(), ConvertArcs6ToFootprintItemOnLayer(), ConvertArcs6ToPcbShape(), GetKicadLayersToIterate(), HelperGetSolderAndPasteMaskExpansions(), HelperPcpShapeAsFootprintKeepoutRegion(), AARC6::is_keepout, IsAltiumLayerAPlane(), IsCopperLayer(), AARC6::keepoutrestrictions, AARC6::layer, AARC6::net, AARC6::polygon, PCB_SHAPE::SetLayer(), PCB_SHAPE::SetStroke(), and AARC6::width.
Referenced by ParseArcs6Data(), and ParseFootprint().
|
private |
Definition at line 2624 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ConvertArcs6ToPcbShape(), PCB_SHAPE::SetLayer(), PCB_SHAPE::SetStroke(), and AARC6::width.
Referenced by ConvertArcs6ToFootprintItem().
Definition at line 2423 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 3551 of file altium_pcb.cpp.
References ConvertFills6ToBoardItemOnLayer(), DEGREES_T, GetKicadLayersToIterate(), HelperPcpShapeAsBoardKeepoutRegion(), AFILL6::is_keepout, AFILL6::keepoutrestrictions, AFILL6::layer, AFILL6::pos1, AFILL6::pos2, PCB_SHAPE::Rotate(), AFILL6::rotation, EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFilled(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ParseFills6Data().
|
private |
Definition at line 3619 of file altium_pcb.cpp.
References BOARD::Add(), ALTIUM_NET_UNCONNECTED, DEGREES_T, GetNetCode(), IsCopperLayer(), m_board, AFILL6::net, AFILL6::pos1, AFILL6::pos2, PCB_SHAPE::Rotate(), AFILL6::rotation, EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFilled(), PCB_SHAPE::SetLayer(), BOARD_CONNECTED_ITEM::SetNetCode(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ConvertFills6ToBoardItem(), and ConvertFills6ToFootprintItem().
|
private |
Definition at line 3580 of file altium_pcb.cpp.
References ALTIUM_NET_UNCONNECTED, ConvertFills6ToBoardItemOnLayer(), 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::SetFilled(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ParseFills6Data(), and ParseFootprint().
|
private |
Definition at line 3646 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(), PCB_SHAPE::SetLayer(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ConvertFills6ToFootprintItem().
|
private |
Definition at line 2666 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 2890 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 2687 of file altium_pcb.cpp.
References ConvertPads6ToFootprintItemOnCopper(), ConvertPads6ToFootprintItemOnNonCopper(), IsAltiumLayerAPlane(), IsAltiumLayerCopper(), and APAD6::layer.
Referenced by ParseFootprint(), and ParsePads6Data().
|
private |
Definition at line 2702 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 2910 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 1974 of file altium_pcb.cpp.
References _, BOARD::Add(), SHAPE_POLY_SET::AddOutline(), ALTIUM_POLYGON_NONE, ConvertShapeBasedRegions6ToBoardItemOnLayer(), Eco1_User, Edge_Cuts, ZONE::GetDefaultHatchPitch(), GetKicadLayer(), GetKicadLayersToIterate(), HelperCreateBoardOutline(), HelperSetZoneKeepoutRestrictions(), HelperSetZoneLayers(), HelperShapeLineChainFromAltiumVertices(), AREGION6::is_keepout, AREGION6::keepoutrestrictions, AREGION6::kind, AREGION6::layer, m_board, EDA_IU_SCALE::mmToIU(), AREGION6::outline, ZONE::Outline(), pcbIUScale, SHAPE_LINE_CHAIN::PointCount(), AREGION6::polygon, ZONE::SetBorderDisplayStyle(), ZONE::SetDoNotAllowCopperPour(), ZONE::SetDoNotAllowFootprints(), ZONE::SetDoNotAllowPads(), ZONE::SetDoNotAllowTracks(), ZONE::SetDoNotAllowVias(), EDA_SHAPE::SetFilled(), ZONE::SetIsRuleArea(), PCB_SHAPE::SetLayer(), EDA_SHAPE::SetPolyShape(), ZONE::SetPosition(), PCB_SHAPE::SetStroke(), and UNDEFINED_LAYER.
Referenced by ParseShapeBasedRegions6Data().
|
private |
Definition at line 2176 of file altium_pcb.cpp.
References BOARD::Add(), SHAPE_POLY_SET::AddHole(), SHAPE_POLY_SET::AddOutline(), ALTIUM_NET_UNCONNECTED, GetNetCode(), HelperShapeLineChainFromAltiumVertices(), AREGION6::holes, IsCopperLayer(), m_board, AREGION6::net, AREGION6::outline, SHAPE_LINE_CHAIN::PointCount(), EDA_SHAPE::SetFilled(), PCB_SHAPE::SetLayer(), BOARD_CONNECTED_ITEM::SetNetCode(), EDA_SHAPE::SetPolyShape(), and PCB_SHAPE::SetStroke().
Referenced by ConvertShapeBasedRegions6ToBoardItem().
|
private |
Definition at line 2073 of file altium_pcb.cpp.
References _, FOOTPRINT::Add(), SHAPE_POLY_SET::AddOutline(), ALTIUM_POLYGON_NONE, ConvertShapeBasedRegions6ToFootprintItemOnLayer(), Eco1_User, Edge_Cuts, ZONE::GetDefaultHatchPitch(), GetKicadLayer(), GetKicadLayersToIterate(), HelperSetZoneKeepoutRestrictions(), HelperSetZoneLayers(), HelperShapeLineChainFromAltiumVertices(), AREGION6::is_keepout, AREGION6::keepoutrestrictions, AREGION6::kind, AREGION6::layer, EDA_IU_SCALE::mmToIU(), AREGION6::outline, ZONE::Outline(), pcbIUScale, SHAPE_LINE_CHAIN::PointCount(), AREGION6::polygon, ZONE::SetBorderDisplayStyle(), ZONE::SetDoNotAllowCopperPour(), ZONE::SetDoNotAllowFootprints(), ZONE::SetDoNotAllowPads(), ZONE::SetDoNotAllowTracks(), ZONE::SetDoNotAllowVias(), EDA_SHAPE::SetFilled(), ZONE::SetIsRuleArea(), PCB_SHAPE::SetLayer(), EDA_SHAPE::SetPolyShape(), ZONE::SetPosition(), PCB_SHAPE::SetStroke(), and UNDEFINED_LAYER.
Referenced by ParseFootprint(), and ParseShapeBasedRegions6Data().
|
private |
Definition at line 2221 of file altium_pcb.cpp.
References FOOTPRINT::Add(), SHAPE_POLY_SET::AddHole(), SHAPE_POLY_SET::AddOutline(), B_Cu, B_Mask, B_Paste, SHAPE_LINE_CHAIN::CPoint(), F_Cu, F_Mask, F_Paste, HelperShapeLineChainFromAltiumVertices(), AREGION6::holes, info, m_extendedPrimitiveInformationMaps, SHAPE_POLY_SET::Move(), AREGION6::outline, pad, SHAPE_LINE_CHAIN::PointCount(), EDA_SHAPE::SetFilled(), PCB_SHAPE::SetLayer(), EDA_SHAPE::SetPolyShape(), and PCB_SHAPE::SetStroke().
Referenced by ConvertShapeBasedRegions6ToFootprintItem().
|
private |
Definition at line 3403 of file altium_pcb.cpp.
References _, ConvertTexts6ToBoardItemOnLayer(), ATEXT6::fonttype, GetKicadLayersToIterate(), and ATEXT6::layer.
Referenced by ParseTexts6Data().
|
private |
Definition at line 3429 of file altium_pcb.cpp.
References BOARD::Add(), AltiumPcbSpecialStringsToKiCadStrings(), 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 3490 of file altium_pcb.cpp.
References ATEXT6::fontname, ATEXT6::fonttype, KIFONT::FONT::GetFont(), KIFONT::FONT::GetName(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_V_ALIGN_BOTTOM, ATEXT6::height, ATEXT6::isBold, ATEXT6::isItalic, ATEXT6::isMirrored, KIFONT::FONT::IsOutline(), EDA_TEXT::SetBold(), EDA_TEXT::SetFont(), EDA_TEXT::SetHorizJustify(), EDA_TEXT::SetItalic(), EDA_TEXT::SetMirrored(), EDA_TEXT::SetTextSize(), EDA_TEXT::SetTextThickness(), EDA_TEXT::SetVertJustify(), and ATEXT6::strokewidth.
Referenced by ConvertTexts6ToBoardItemOnLayer(), and ConvertTexts6ToFootprintItemOnLayer().
|
private |
Definition at line 3416 of file altium_pcb.cpp.
References _, ConvertTexts6ToFootprintItemOnLayer(), ATEXT6::fonttype, GetKicadLayersToIterate(), and ATEXT6::layer.
Referenced by ParseFootprint(), and ParseTexts6Data().
|
private |
Definition at line 3451 of file altium_pcb.cpp.
References FOOTPRINT::Add(), AltiumPcbSpecialStringsToKiCadStrings(), 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, and FOOTPRINT::Value().
Referenced by ConvertTexts6ToFootprintItem().
|
private |
Definition at line 3184 of file altium_pcb.cpp.
References BOARD::Add(), ALTIUM_POLYGON_NONE, ARC_HIGH_DEF, ConvertTracks6ToBoardItemOnLayer(), ATRACK6::end, ERROR_INSIDE, ZONE::GetFill(), GetKicadLayer(), GetKicadLayersToIterate(), HelperGetSolderAndPasteMaskExpansions(), HelperPcpShapeAsBoardKeepoutRegion(), ATRACK6::is_keepout, IsAltiumLayerAPlane(), ATRACK6::keepoutrestrictions, ATRACK6::layer, m_board, m_polygons, ATRACK6::polygon, EDA_SHAPE::SetEnd(), ZONE::SetIsFilled(), PCB_SHAPE::SetLayer(), ZONE::SetNeedRefill(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), ATRACK6::start, THROW_IO_ERROR, UNDEFINED_LAYER, and ATRACK6::width.
Referenced by ParseTracks6Data().
|
private |
Definition at line 3318 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(), PCB_SHAPE::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 3260 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ALTIUM_NET_UNCONNECTED, ALTIUM_POLYGON_NONE, ConvertTracks6ToBoardItemOnLayer(), ConvertTracks6ToFootprintItemOnLayer(), ATRACK6::end, GetKicadLayersToIterate(), HelperGetSolderAndPasteMaskExpansions(), HelperPcpShapeAsFootprintKeepoutRegion(), ATRACK6::is_keepout, IsAltiumLayerAPlane(), IsCopperLayer(), ATRACK6::keepoutrestrictions, ATRACK6::layer, ATRACK6::net, ATRACK6::polygon, EDA_SHAPE::SetEnd(), PCB_SHAPE::SetLayer(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), ATRACK6::start, and ATRACK6::width.
Referenced by ParseFootprint(), and ParseTracks6Data().
|
private |
Definition at line 3346 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ATRACK6::end, EDA_SHAPE::SetEnd(), PCB_SHAPE::SetLayer(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), ATRACK6::start, and ATRACK6::width.
Referenced by ConvertTracks6ToFootprintItem().
|
private |
Definition at line 127 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 ConvertArcs6ToBoardItem(), ConvertPads6ToBoardItemOnNonCopper(), ConvertPads6ToFootprintItemOnCopper(), ConvertPads6ToFootprintItemOnNonCopper(), ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToFootprintItem(), ConvertTracks6ToBoardItem(), GetKicadLayersToIterate(), HelperParseDimensions6Center(), HelperParseDimensions6Datum(), HelperParseDimensions6Leader(), HelperParseDimensions6Linear(), HelperParseDimensions6Radial(), ParseBoard6Data(), ParseRegions6Data(), and ParseVias6Data().
|
private |
Definition at line 233 of file altium_pcb.cpp.
References _, LSET::AllCuMask(), Eco1_User, GetKicadLayer(), BOARD::IsLayerEnabled(), m_board, MAX_CU_LAYERS, and UNDEFINED_LAYER.
Referenced by ConvertArcs6ToBoardItem(), ConvertArcs6ToFootprintItem(), ConvertFills6ToBoardItem(), ConvertFills6ToFootprintItem(), ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToFootprintItem(), ConvertTexts6ToBoardItem(), ConvertTexts6ToFootprintItem(), ConvertTracks6ToBoardItem(), ConvertTracks6ToFootprintItem(), and HelperSetZoneLayers().
|
private |
Definition at line 792 of file altium_pcb.cpp.
References ALTIUM_NET_UNCONNECTED, m_altiumToKicadNetcodes, THROW_IO_ERROR, and NETINFO_LIST::UNCONNECTED.
Referenced by ConvertArcs6ToBoardItemOnLayer(), ConvertFills6ToBoardItemOnLayer(), ConvertPads6ToFootprintItemOnCopper(), ConvertShapeBasedRegions6ToBoardItemOnLayer(), ConvertTracks6ToBoardItemOnLayer(), ParsePolygons6Data(), and ParseVias6Data().
|
private |
Definition at line 810 of file altium_pcb.cpp.
References m_rules, and ARULE6::name.
Referenced by ParsePolygons6Data().
|
private |
Definition at line 826 of file altium_pcb.cpp.
References m_rules, ARULE6::scope1expr, and ARULE6::scope2expr.
Referenced by ParsePolygons6Data(), and ParseRules6Data().
|
private |
Definition at line 1022 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(), PCB_SHAPE::SetLayer(), EDA_SHAPE::SetStart(), and PCB_SHAPE::SetStroke().
Referenced by ConvertShapeBasedRegions6ToBoardItem(), and ParseBoard6Data().
|
private |
Definition at line 73 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 3738 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 1524 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 1500 of file altium_pcb.cpp.
References _, BOARD::Add(), Eco1_User, GetKicadLayer(), ADIMENSION6::layer, ADIMENSION6::linewidth, m_board, ADIMENSION6::referencePoint, PCB_SHAPE::SetLayer(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), and UNDEFINED_LAYER.
|
private |
Definition at line 1422 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(), PCB_SHAPE::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 1241 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 1342 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 2931 of file altium_pcb.cpp.
References _, ALTIUM_NET_UNCONNECTED, chamfer, DEGREES_T, APAD6::direction, APAD6::holesize, APAD6::name, APAD6::net, APAD6::padmode, APAD6::position, PCB_SHAPE::Rotate(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFilled(), PCB_SHAPE::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 3696 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(), ConvertFills6ToBoardItem(), and ConvertTracks6ToBoardItem().
|
private |
Definition at line 3716 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 3680 of file altium_pcb.cpp.
References ZONE::SetDoNotAllowCopperPour(), ZONE::SetDoNotAllowFootprints(), ZONE::SetDoNotAllowPads(), ZONE::SetDoNotAllowTracks(), and ZONE::SetDoNotAllowVias().
Referenced by ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToFootprintItem(), HelperPcpShapeAsBoardKeepoutRegion(), and HelperPcpShapeAsFootprintKeepoutRegion().
|
private |
Definition at line 3669 of file altium_pcb.cpp.
References GetKicadLayersToIterate(), and ZONE::SetLayerSet().
Referenced by 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 298 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, SHAPE_POLY_SET::PM_STRICTLY_SIMPLE, ALTIUM_PARSER::Read(), VECTOR2< T >::Resize(), BOARD_DESIGN_SETTINGS::SetAuxOrigin(), BOARD_DESIGN_SETTINGS::SetGridOrigin(), EDA_ITEM::SetModified(), THROW_IO_ERROR, and BOARD::Tracks().
Referenced by ALTIUM_CIRCUIT_STUDIO_PLUGIN::LoadBoard(), ALTIUM_CIRCUIT_MAKER_PLUGIN::LoadBoard(), ALTIUM_DESIGNER_PLUGIN::LoadBoard(), and SOLIDWORKS_PCB_PLUGIN::LoadBoard().
|
private |
Definition at line 2394 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 880 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 1922 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 1060 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 1106 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 1167 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 1548 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 859 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 842 of file altium_pcb.cpp.
References ALTIUM_PARSER::ReadAndSetSubrecordLength(), and ALTIUM_PARSER::ReadWxString().
Referenced by Parse().
|
private |
Definition at line 3522 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 | ( | ALTIUM_COMPOUND_FILE & | altiumLibFile, |
const wxString & | aFootprintName | ||
) |
Definition at line 622 of file altium_pcb.cpp.
References _, AltiumToKiCadLibID(), ConvertArcs6ToFootprintItem(), ConvertFills6ToFootprintItem(), ConvertPads6ToFootprintItem(), ConvertShapeBasedRegions6ToFootprintItem(), ConvertTexts6ToFootprintItem(), ConvertTracks6ToFootprintItem(), Eco2_User, ALTIUM_COMPOUND_FILE::FindLibFootprintDirName(), ALTIUM_COMPOUND_FILE::FindStream(), FormatPath(), ALTIUM_PARSER::GetRemainingBytes(), ALTIUM_PARSER::HasParsingError(), m_board, m_extendedPrimitiveInformationMaps, m_layermap, m_unicodeStrings, EDA_IU_SCALE::mmToIU(), pad, ParseExtendedPrimitiveInformationData(), pcbIUScale, ALTIUM_PARSER::Peek(), ALTIUM_PARSER::ReadAndSetSubrecordLength(), ALTIUM_PARSER::ReadProperties(), ALTIUM_PARSER::ReadString(), ALTIUM_PARSER::SkipSubrecord(), text, THROW_IO_ERROR, and via.
Referenced by ALTIUM_DESIGNER_PLUGIN::FootprintLoad().
|
private |
Definition at line 1590 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 1684 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 2637 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 1708 of file altium_pcb.cpp.
References _, BOARD::Add(), SHAPE_POLY_SET::AddOutline(), ANGLE_45, checkpoint(), ARULE6::clearanceGap, BOX2< Vec >::Contains(), ZONE::GetBoundingBox(), ZONE::GetDefaultHatchPitch(), BOX2< Vec >::GetHeight(), ZONE::GetLayerSet(), BOARD::GetLayerType(), ZONE::GetMinThickness(), GetNetCode(), ALTIUM_PARSER::GetRemainingBytes(), GetRule(), GetRuleDefault(), BOX2< Vec >::GetWidth(), APOLYGON6::gridsize, APOLYGON6::hatchstyle, HelperSetZoneLayers(), HelperShapeLineChainFromAltiumVertices(), IsAltiumLayerAPlane(), APOLYGON6::layer, APOLYGON6::locked, LT_MIXED, LT_POWER, LT_SIGNAL, 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(), LSET::Seq(), 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 2319 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, AREGION6::polygon, ALTIUM_VERTICE::position, PROGRESS_REPORTER::Report(), SHAPE_LINE_CHAIN::SetClosed(), ZONE::SetFilledPolysList(), ZONE::SetIsFilled(), ZONE::SetNeedRefill(), THROW_IO_ERROR, and UNDEFINED_LAYER.
Referenced by Parse().
|
private |
Definition at line 1854 of file altium_pcb.cpp.
References _, checkpoint(), ARULE6::clearanceGap, BOARD::GetDesignSettings(), ALTIUM_PARSER::GetRemainingBytes(), GetRuleDefault(), ARULE6::kind, m_board, BOARD_DESIGN_SETTINGS::m_HoleToHoleMin, BOARD_DESIGN_SETTINGS::m_MinClearance, BOARD_DESIGN_SETTINGS::m_MinThroughDrill, m_progressReporter, m_rules, BOARD_DESIGN_SETTINGS::m_SolderMaskExpansion, BOARD_DESIGN_SETTINGS::m_SolderPasteMargin, BOARD_DESIGN_SETTINGS::m_TrackMinWidth, BOARD_DESIGN_SETTINGS::m_ViasMinSize, ARULE6::minHoleWidth, ARULE6::minLimit, ARULE6::minWidth, ARULE6::pastemaskExpansion, PROGRESS_REPORTER::Report(), ARULE6::soldermaskExpansion, and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1942 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 3374 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 3155 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 3095 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 3360 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 245 of file altium_pcb.h.
Referenced by GetNetCode(), and ParseNets6Data().
|
private |
Definition at line 239 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), ConvertArcs6ToBoardItem(), ConvertArcs6ToBoardItemOnLayer(), ConvertFills6ToBoardItemOnLayer(), ConvertPads6ToBoardItem(), ConvertPads6ToBoardItemOnNonCopper(), ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToBoardItemOnLayer(), ConvertTexts6ToBoardItemOnLayer(), ConvertTracks6ToBoardItem(), ConvertTracks6ToBoardItemOnLayer(), GetKicadLayersToIterate(), HelperCreateBoardOutline(), HelperParseDimensions6Center(), HelperParseDimensions6Datum(), HelperParseDimensions6Leader(), HelperParseDimensions6Linear(), HelperParseDimensions6Radial(), HelperPcpShapeAsBoardKeepoutRegion(), Parse(), ParseBoard6Data(), ParseClasses6Data(), ParseComponents6Data(), ParseFootprint(), ParseModelsData(), ParseNets6Data(), ParsePolygons6Data(), ParseRules6Data(), and ParseVias6Data().
|
private |
Definition at line 240 of file altium_pcb.h.
Referenced by HelperGetFootprint(), ParseComponents6Data(), and ParseComponentsBodies6Data().
|
private |
Definition at line 254 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), and checkpoint().
|
private |
Definition at line 249 of file altium_pcb.h.
Referenced by ConvertShapeBasedRegions6ToFootprintItemOnLayer(), HelperGetSolderAndPasteMaskExpansions(), ParseExtendedPrimitiveInformationData(), and ParseFootprint().
|
private |
Altium stores pour order across all layers.
Definition at line 259 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), Parse(), and ParsePolygons6Data().
|
private |
Definition at line 255 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), and checkpoint().
|
private |
Definition at line 246 of file altium_pcb.h.
Referenced by GetKicadLayer(), ParseBoard6Data(), and ParseFootprint().
|
private |
Definition at line 243 of file altium_pcb.h.
Referenced by ParseComponentsBodies6Data(), and ParseModelsData().
|
private |
Definition at line 251 of file altium_pcb.h.
Referenced by Parse(), and ParsePolygons6Data().
|
private |
Definition at line 241 of file altium_pcb.h.
Referenced by ConvertArcs6ToBoardItem(), ConvertTracks6ToBoardItem(), Parse(), ParsePolygons6Data(), and ParseRegions6Data().
|
private |
optional; may be nullptr
Definition at line 253 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 242 of file altium_pcb.h.
Referenced by HelperParseDimensions6Radial(), and Parse().
|
private |
Definition at line 247 of file altium_pcb.h.
Referenced by GetRule(), GetRuleDefault(), and ParseRules6Data().
|
private |
for progress reporting
Definition at line 256 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), checkpoint(), and Parse().
|
private |
Definition at line 244 of file altium_pcb.h.
Referenced by ParseFootprint(), ParseTexts6Data(), and ParseWideStrings6Data().