KiCad PCB EDA Suite
|
#include <altium_pcb.h>
Public Member Functions | |
ALTIUM_PCB (BOARD *aBoard, PROGRESS_REPORTER *aProgressReporter, LAYER_MAPPING_HANDLER &aLayerMappingHandler, REPORTER *aReporter=nullptr, const wxString &aLibrary=wxEmptyString, const wxString &aFootprintName=wxEmptyString) | |
~ALTIUM_PCB () | |
void | Parse (const ALTIUM_PCB_COMPOUND_FILE &aAltiumPcbFile, const std::map< ALTIUM_PCB_DIR, std::string > &aFileMapping) |
FOOTPRINT * | ParseFootprint (ALTIUM_PCB_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_PCB_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseBoard6Data (const ALTIUM_PCB_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseClasses6Data (const ALTIUM_PCB_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseComponents6Data (const ALTIUM_PCB_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseDimensions6Data (const ALTIUM_PCB_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseModelsData (const ALTIUM_PCB_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry, const std::vector< std::string > &aRootDir) |
void | ParseNets6Data (const ALTIUM_PCB_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParsePolygons6Data (const ALTIUM_PCB_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseRules6Data (const ALTIUM_PCB_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseArcs6Data (const ALTIUM_PCB_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_PCB_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ConvertComponentBody6ToFootprintItem (const ALTIUM_PCB_COMPOUND_FILE &aAltiumPcbFile, FOOTPRINT *aFootprint, const ACOMPONENTBODY6 &aElem) |
void | ParsePads6Data (const ALTIUM_PCB_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_PCB_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ConvertVias6ToFootprintItem (FOOTPRINT *aFootprint, const AVIA6 &aElem) |
void | ParseTracks6Data (const ALTIUM_PCB_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_PCB_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_PCB_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_PCB_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseShapeBasedRegions6Data (const ALTIUM_PCB_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_PCB_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseRegions6Data (const ALTIUM_PCB_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseWideStrings6Data (const ALTIUM_PCB_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 |
void | remapUnsureLayers (std::vector< ABOARD6_LAYER_STACKUP > &aStackup) |
Private Attributes | |
BOARD * | m_board |
std::vector< FOOTPRINT * > | m_components |
std::vector< ZONE * > | m_polygons |
std::vector< PCB_DIM_RADIAL * > | m_radialDimensions |
std::map< uint32_t, wxString > | m_unicodeStrings |
std::vector< int > | m_altiumToKicadNetcodes |
std::map< ALTIUM_LAYER, PCB_LAYER_ID > | m_layermap |
std::map< ALTIUM_LAYER, wxString > | m_layerNames |
std::map< wxString, ALTIUM_EMBEDDED_MODEL_DATA > | m_EmbeddedModels |
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 |
LAYER_MAPPING_HANDLER | m_layerMappingHandler |
PROGRESS_REPORTER * | m_progressReporter |
optional; may be nullptr | |
REPORTER * | m_reporter |
optional; may be nullptr | |
unsigned | m_doneCount |
unsigned | m_lastProgressCount |
unsigned | m_totalCount |
for progress reporting | |
wxString | m_library |
for footprint library loading error reporting | |
wxString | m_footprintName |
for footprint library loading error reporting | |
int | m_highest_pour_index |
Altium stores pour order across all layers. | |
Definition at line 120 of file altium_pcb.h.
|
explicit |
Definition at line 278 of file altium_pcb.cpp.
References m_board, m_doneCount, m_footprintName, m_highest_pour_index, m_lastProgressCount, m_layerMappingHandler, m_library, m_progressReporter, m_reporter, and m_totalCount.
ALTIUM_PCB::~ALTIUM_PCB | ( | ) |
Definition at line 294 of file altium_pcb.cpp.
|
private |
Definition at line 298 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 2846 of file altium_pcb.cpp.
References BOARD::Add(), ALTIUM_POLYGON_BOARD, ALTIUM_POLYGON_NONE, ARC_HIGH_DEF, ConvertArcs6ToBoardItemOnLayer(), ConvertArcs6ToPcbShape(), ERROR_INSIDE, ZONE::GetFill(), GetKicadLayer(), GetKicadLayersToIterate(), ZONE::HasFilledPolysForLayer(), HelperGetSolderAndPasteMaskExpansions(), HelperPcpShapeAsBoardKeepoutRegion(), AARC6::is_keepout, IsAltiumLayerAPlane(), AARC6::keepoutrestrictions, AARC6::layer, m_board, m_polygons, AARC6::polygon, ZONE::SetIsFilled(), ZONE::SetNeedRefill(), PCB_SHAPE::SetStroke(), THROW_IO_ERROR, UNDEFINED_LAYER, and AARC6::width.
Referenced by ParseArcs6Data().
|
private |
Definition at line 2983 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(), EDA_SHAPE::SetStart(), EDA_ANGLE::Sin(), AARC6::startangle, and AARC6::width.
Referenced by ConvertArcs6ToBoardItem(), and ConvertArcs6ToFootprintItem().
|
private |
Definition at line 2926 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::SetStroke(), and AARC6::width.
Referenced by ParseArcs6Data(), and ParseFootprint().
|
private |
Definition at line 3023 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ConvertArcs6ToPcbShape(), and AARC6::width.
Referenced by ConvertArcs6ToFootprintItem().
Definition at line 2819 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 1320 of file altium_pcb.cpp.
References _, EMBEDDED_FILES::AddFile(), EDA_ANGLE::AsDegrees(), ACOMPONENTBODY6::body_opacity_3d, EMBEDDED_FILES::CompressAndEncode(), EMBEDDED_FILES::EMBEDDED_FILE::decompressedData, EMBEDDED_FILES::GetEmbeddedFileLink(), FOOTPRINT::GetEmbeddedFiles(), ALTIUM_PCB_COMPOUND_FILE::GetLibModel(), FOOTPRINT::GetOrientation(), FOOTPRINT::GetPosition(), FOOTPRINT::GetReference(), FOOTPRINT::IsFlipped(), EDA_IU_SCALE::IUTomm(), FP_3DMODEL::m_Filename, FP_3DMODEL::m_Offset, FP_3DMODEL::m_Opacity, m_progressReporter, m_reporter, FP_3DMODEL::m_Rotation, EMBEDDED_FILES::EMBEDDED_FILE::MODEL, ACOMPONENTBODY6::modelId, ACOMPONENTBODY6::modelIsEmbedded, ACOMPONENTBODY6::modelName, ACOMPONENTBODY6::modelPosition, ACOMPONENTBODY6::modelRotation, FOOTPRINT::Models(), EMBEDDED_FILES::EMBEDDED_FILE::name, normalizeAngleDegrees(), pcbIUScale, PROGRESS_REPORTER::Report(), REPORTER::Report(), RotatePoint(), ACOMPONENTBODY6::rotation, RPT_SEVERITY_ERROR, EMBEDDED_FILES::EMBEDDED_FILE::type, VECTOR2< T >::x, VECTOR3< T >::x, VECTOR2< T >::y, VECTOR3< T >::y, and VECTOR3< T >::z.
Referenced by ParseFootprint().
|
private |
Definition at line 4388 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 4456 of file altium_pcb.cpp.
References BOARD::Add(), ALTIUM_NET_UNCONNECTED, DEGREES_T, GetNetCode(), IsCopperLayer(), m_board, AFILL6::net, AFILL6::pos1, AFILL6::pos2, AFILL6::rotation, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ConvertFills6ToBoardItem(), and ConvertFills6ToFootprintItem().
|
private |
Definition at line 4417 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 4484 of file altium_pcb.cpp.
References std::abs(), FOOTPRINT::Add(), ANGLE_90, SHAPE_POLY_SET::Append(), B_Cu, DEGREES_T, F_Cu, EDA_ANGLE::IsCardinal(), EDA_ANGLE::IsCardinal90(), SHAPE_POLY_SET::NewOutline(), SHAPE_POLY_SET::Outline(), pad, AFILL6::pos1, AFILL6::pos2, SHAPE_POLY_SET::Rotate(), AFILL6::rotation, BASE_SET::set(), SHAPE_LINE_CHAIN::SetClosed(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ConvertFills6ToFootprintItem().
|
private |
Definition at line 3065 of file altium_pcb.cpp.
References BOARD::Add(), ConvertPads6ToBoardItemOnNonCopper(), ConvertPads6ToFootprintItemOnCopper(), IsAltiumLayerAPlane(), IsAltiumLayerCopper(), APAD6::layer, m_board, and APAD6::position.
Referenced by ParsePads6Data().
|
private |
Definition at line 3488 of file altium_pcb.cpp.
References _, BOARD::Add(), Eco1_User, GetKicadLayer(), HelperParsePad6NonCopper(), APAD6::layer, m_board, m_reporter, APAD6::name, pad, REPORTER::Report(), RPT_SEVERITY_INFO, and UNDEFINED_LAYER.
Referenced by ConvertPads6ToBoardItem().
|
private |
Definition at line 3155 of file altium_pcb.cpp.
References ConvertPads6ToFootprintItemOnCopper(), ConvertPads6ToFootprintItemOnNonCopper(), IsAltiumLayerAPlane(), IsAltiumLayerCopper(), and APAD6::layer.
Referenced by ParseFootprint(), and ParsePads6Data().
|
private |
Definition at line 3170 of file altium_pcb.cpp.
References _, FOOTPRINT::Add(), ANGLE_90, EDA_ANGLE::AsDegrees(), B_Cu, B_Mask, DEGREES_T, APAD6::direction, F_Cu, F_Mask, Flip(), GetKicadLayer(), GetNetCode(), FOOTPRINT::GetReference(), APAD6::holesize, APAD6::is_tent_bottom, APAD6::is_tent_top, EDA_ANGLE::IsHorizontal(), EDA_ANGLE::IsVertical(), APAD6::layer, m_footprintName, m_library, m_reporter, APAD6::name, APAD6::net, EDA_ANGLE::Normalize(), pad, APAD6::padmode, APAD6::pastemaskexpansionmanual, APAD6::pastemaskexpansionmode, APAD6::plated, APAD6::position, PAD::PTHMask(), RECT_CHAMFER_ALL, REPORTER::Report(), RPT_SEVERITY_DEBUG, RPT_SEVERITY_ERROR, 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 3514 of file altium_pcb.cpp.
References _, FOOTPRINT::Add(), Eco1_User, GetKicadLayer(), FOOTPRINT::GetReference(), HelperParsePad6NonCopper(), APAD6::layer, m_footprintName, m_library, m_reporter, APAD6::name, pad, REPORTER::Report(), RPT_SEVERITY_INFO, and UNDEFINED_LAYER.
Referenced by ConvertPads6ToFootprintItem().
|
private |
Definition at line 2313 of file altium_pcb.cpp.
References _, BOARD::Add(), 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, m_reporter, EDA_IU_SCALE::mmToIU(), AREGION6::outline, pcbIUScale, SHAPE_LINE_CHAIN::PointCount(), AREGION6::polygon, REPORTER::Report(), RPT_SEVERITY_ERROR, and UNDEFINED_LAYER.
Referenced by ParseShapeBasedRegions6Data().
|
private |
Definition at line 2572 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, and SHAPE_LINE_CHAIN::PointCount().
Referenced by ConvertShapeBasedRegions6ToBoardItem().
|
private |
Definition at line 2422 of file altium_pcb.cpp.
References _, FOOTPRINT::Add(), ALTIUM_POLYGON_NONE, ConvertShapeBasedRegions6ToFootprintItemOnLayer(), Eco1_User, Edge_Cuts, ZONE::GetDefaultHatchPitch(), GetKicadLayer(), GetKicadLayersToIterate(), FOOTPRINT::GetReference(), HelperSetZoneKeepoutRestrictions(), HelperSetZoneLayers(), HelperShapeLineChainFromAltiumVertices(), AREGION6::is_keepout, AREGION6::keepoutrestrictions, AREGION6::kind, AREGION6::layer, m_footprintName, m_library, m_reporter, EDA_IU_SCALE::mmToIU(), AREGION6::outline, pcbIUScale, SHAPE_LINE_CHAIN::PointCount(), AREGION6::polygon, REPORTER::Report(), RPT_SEVERITY_ERROR, and UNDEFINED_LAYER.
Referenced by ParseFootprint(), and ParseShapeBasedRegions6Data().
|
private |
Definition at line 2617 of file altium_pcb.cpp.
References FOOTPRINT::Add(), SHAPE_POLY_SET::AddHole(), SHAPE_POLY_SET::AddOutline(), ANGLE_90, 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(), and BASE_SET::set().
Referenced by ConvertShapeBasedRegions6ToFootprintItem().
|
private |
Definition at line 4080 of file altium_pcb.cpp.
References _, ConvertTexts6ToBoardItemOnLayer(), ATEXT6::fonttype, GetKicadLayersToIterate(), ATEXT6::layer, m_reporter, REPORTER::Report(), and RPT_SEVERITY_DEBUG.
Referenced by ParseTexts6Data().
|
private |
Definition at line 4137 of file altium_pcb.cpp.
References _, BOARD::Add(), AltiumPcbSpecialStringsToKiCadStrings(), ConvertTexts6ToEdaTextSettings(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_H_ALIGN_LEFT, GR_TEXT_H_ALIGN_RIGHT, GR_TEXT_V_ALIGN_BOTTOM, GR_TEXT_V_ALIGN_TOP, ATEXT6::isInverted, m_board, m_reporter, ATEXT6::position, REPORTER::Report(), RPT_SEVERITY_DEBUG, BOARD_ITEM::SetIsKnockout(), BOARD_ITEM::SetLayer(), text, ATEXT6::text, ATEXT6::textbox_rect_height, ATEXT6::textbox_rect_justification, and ATEXT6::textbox_rect_width.
Referenced by ConvertTexts6ToBoardItem().
|
private |
Definition at line 4329 of file altium_pcb.cpp.
References DEGREES_T, ATEXT6::fontname, ATEXT6::fonttype, KIFONT::FONT::GetFont(), KIFONT::FONT::GetName(), ATEXT6::height, ATEXT6::isBold, ATEXT6::isItalic, ATEXT6::isMirrored, KIFONT::FONT::IsOutline(), ATEXT6::rotation, EDA_TEXT::SetBoldFlag(), EDA_TEXT::SetFont(), EDA_TEXT::SetItalic(), EDA_TEXT::SetMirrored(), EDA_TEXT::SetTextAngle(), EDA_TEXT::SetTextSize(), EDA_TEXT::SetTextThickness(), and ATEXT6::strokewidth.
Referenced by ConvertTexts6ToBoardItemOnLayer(), and ConvertTexts6ToFootprintItemOnLayer().
|
private |
Definition at line 4100 of file altium_pcb.cpp.
References _, ConvertTexts6ToFootprintItemOnLayer(), ATEXT6::fonttype, GetKicadLayersToIterate(), FOOTPRINT::GetReference(), ATEXT6::layer, m_footprintName, m_library, m_reporter, REPORTER::Report(), and RPT_SEVERITY_DEBUG.
Referenced by ParseFootprint(), and ParseTexts6Data().
|
private |
Definition at line 4218 of file altium_pcb.cpp.
References _, FOOTPRINT::Add(), AltiumPcbSpecialStringsToKiCadStrings(), ConvertTexts6ToEdaTextSettings(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_H_ALIGN_LEFT, GR_TEXT_H_ALIGN_RIGHT, GR_TEXT_V_ALIGN_TOP, ATEXT6::isComment, ATEXT6::isDesignator, ATEXT6::isInverted, m_reporter, ATEXT6::position, FOOTPRINT::Reference(), REPORTER::Report(), RPT_SEVERITY_DEBUG, BOARD_ITEM::SetIsKnockout(), BOARD_ITEM::SetLayer(), text, ATEXT6::text, ATEXT6::textbox_rect_height, ATEXT6::textbox_rect_justification, ATEXT6::textbox_rect_width, and FOOTPRINT::Value().
Referenced by ConvertTexts6ToFootprintItem().
|
private |
Definition at line 3849 of file altium_pcb.cpp.
References BOARD::Add(), ALTIUM_POLYGON_BOARD, ALTIUM_POLYGON_NONE, ARC_HIGH_DEF, ConvertTracks6ToBoardItemOnLayer(), ATRACK6::end, ERROR_INSIDE, ZONE::GetFill(), GetKicadLayer(), GetKicadLayersToIterate(), ZONE::HasFilledPolysForLayer(), HelperGetSolderAndPasteMaskExpansions(), HelperPcpShapeAsBoardKeepoutRegion(), ATRACK6::is_keepout, IsAltiumLayerAPlane(), ATRACK6::keepoutrestrictions, ATRACK6::layer, m_board, m_polygons, m_reporter, ATRACK6::polygon, REPORTER::Report(), RPT_SEVERITY_DEBUG, EDA_SHAPE::SetEnd(), ZONE::SetIsFilled(), ZONE::SetNeedRefill(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), ATRACK6::start, UNDEFINED_LAYER, and ATRACK6::width.
Referenced by ParseTracks6Data().
|
private |
Definition at line 3995 of file altium_pcb.cpp.
References BOARD::Add(), ALTIUM_NET_UNCONNECTED, ATRACK6::end, GetNetCode(), IsCopperLayer(), m_board, ATRACK6::net, ATRACK6::start, and ATRACK6::width.
Referenced by ConvertTracks6ToBoardItem(), and ConvertTracks6ToFootprintItem().
|
private |
Definition at line 3937 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(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), ATRACK6::start, and ATRACK6::width.
Referenced by ParseFootprint(), and ParseTracks6Data().
|
private |
Definition at line 4023 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ATRACK6::end, ATRACK6::start, and ATRACK6::width.
Referenced by ConvertTracks6ToFootprintItem().
|
private |
Definition at line 3086 of file altium_pcb.cpp.
References FOOTPRINT::Add(), B_Mask, PADSTACK::CUSTOM, AVIA6::diameter, AVIA6::diameter_by_layer, F_Cu, F_Mask, GetNetCode(), AVIA6::holesize, In2_Cu, AVIA6::is_locked, AVIA6::is_tent_bottom, AVIA6::is_tent_top, AVIA6::net, PADSTACK::NORMAL, pad, AVIA6::position, AVIA6::soldermask_expansion_back, AVIA6::soldermask_expansion_front, AVIA6::soldermask_expansion_manual, PADSTACK::TOP_INNER_BOTTOM, and AVIA6::viamode.
Referenced by ParseFootprint().
|
private |
Definition at line 131 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(), ParseVias6Data(), and remapUnsureLayers().
|
private |
Definition at line 237 of file altium_pcb.cpp.
References _, LSET::AllCuMask(), Eco1_User, BOARD::GetEnabledLayers(), GetKicadLayer(), BOARD::IsLayerEnabled(), m_board, m_layerNames, m_reporter, MAX_CU_LAYERS, REPORTER::Report(), RPT_SEVERITY_INFO, BOARD::SetEnabledLayers(), and UNDEFINED_LAYER.
Referenced by ConvertArcs6ToBoardItem(), ConvertArcs6ToFootprintItem(), ConvertFills6ToBoardItem(), ConvertFills6ToFootprintItem(), ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToFootprintItem(), ConvertTexts6ToBoardItem(), ConvertTexts6ToFootprintItem(), ConvertTracks6ToBoardItem(), ConvertTracks6ToFootprintItem(), and HelperSetZoneLayers().
|
private |
Definition at line 864 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(), ConvertVias6ToFootprintItem(), ParsePolygons6Data(), and ParseVias6Data().
|
private |
Definition at line 882 of file altium_pcb.cpp.
References m_rules, and ARULE6::name.
Referenced by ParsePolygons6Data().
|
private |
Definition at line 898 of file altium_pcb.cpp.
References m_rules, ARULE6::scope1expr, and ARULE6::scope2expr.
Referenced by ParsePolygons6Data(), and ParseRules6Data().
|
private |
Definition at line 1165 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(), and SHAPE_LINE_CHAIN::Segment().
Referenced by ConvertShapeBasedRegions6ToBoardItem(), and ParseBoard6Data().
|
private |
Definition at line 77 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 4636 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 1823 of file altium_pcb.cpp.
References _, BOARD::Add(), ADIMENSION6::angle, DEGREES_T, Eco1_User, GetKicadLayer(), ADIMENSION6::height, ADIMENSION6::layer, ADIMENSION6::linewidth, m_board, m_reporter, REPORTER::Report(), RotatePoint(), RPT_SEVERITY_INFO, UNDEFINED_LAYER, and ADIMENSION6::xy1.
Referenced by ParseDimensions6Data().
|
private |
Definition at line 1792 of file altium_pcb.cpp.
References _, BOARD::Add(), Eco1_User, GetKicadLayer(), ADIMENSION6::layer, ADIMENSION6::linewidth, m_board, m_reporter, ADIMENSION6::referencePoint, REPORTER::Report(), RPT_SEVERITY_INFO, and UNDEFINED_LAYER.
|
private |
Definition at line 1690 of file altium_pcb.cpp.
References _, BOARD::Add(), ADIMENSION6::arrowsize, DEGREES_T, Eco1_User, VECTOR2< T >::EuclideanNorm(), GetKicadLayer(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_V_ALIGN_BOTTOM, KiROUND(), ADIMENSION6::layer, ADIMENSION6::linewidth, m_board, m_reporter, ADIMENSION6::referencePoint, REPORTER::Report(), RotatePoint(), RPT_SEVERITY_ERROR, 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 1492 of file altium_pcb.cpp.
References _, BOARD::Add(), ADIMENSION6::angle, BOLD_FACTOR, Eco1_User, VECTOR2< T >::EuclideanNorm(), GetKicadLayer(), SEG::Intersect(), ADIMENSION6::layer, ADIMENSION6::linewidth, m_board, m_reporter, PCB_DIM_ALIGNED_T, ADIMENSION6::referencePoint, REPORTER::Report(), RPT_SEVERITY_INFO, 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 1599 of file altium_pcb.cpp.
References _, BOARD::Add(), BOLD_FACTOR, Eco1_User, GetKicadLayer(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_V_ALIGN_BOTTOM, GR_TEXT_V_ALIGN_CENTER, ADIMENSION6::layer, ADIMENSION6::linewidth, m_board, m_radialDimensions, m_reporter, ADIMENSION6::referencePoint, REPORTER::Report(), RPT_SEVERITY_ERROR, RPT_SEVERITY_INFO, 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, and ADIMENSION6::xy1.
Referenced by ParseDimensions6Data().
|
private |
Definition at line 3560 of file altium_pcb.cpp.
References _, ALTIUM_NET_UNCONNECTED, chamfer, DEGREES_T, APAD6::direction, APAD6::holesize, m_reporter, APAD6::name, APAD6::net, APAD6::padmode, APAD6::position, REPORTER::Report(), PCB_SHAPE::Rotate(), RPT_SEVERITY_DEBUG, 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 4594 of file altium_pcb.cpp.
References BOARD::Add(), ARC_HIGH_DEF, ERROR_INSIDE, ZONE::GetDefaultHatchPitch(), HelperSetZoneKeepoutRestrictions(), HelperSetZoneLayers(), and m_board.
Referenced by ConvertArcs6ToBoardItem(), ConvertFills6ToBoardItem(), and ConvertTracks6ToBoardItem().
|
private |
Definition at line 4614 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ARC_HIGH_DEF, ERROR_INSIDE, ZONE::GetDefaultHatchPitch(), HelperSetZoneKeepoutRestrictions(), and HelperSetZoneLayers().
Referenced by ConvertArcs6ToFootprintItem(), ConvertFills6ToFootprintItem(), and ConvertTracks6ToFootprintItem().
|
private |
Definition at line 4578 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 4567 of file altium_pcb.cpp.
References GetKicadLayersToIterate(), BASE_SET::set(), and ZONE::SetLayerSet().
Referenced by ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToFootprintItem(), HelperPcpShapeAsBoardKeepoutRegion(), HelperPcpShapeAsFootprintKeepoutRegion(), and ParsePolygons6Data().
void ALTIUM_PCB::Parse | ( | const ALTIUM_PCB_COMPOUND_FILE & | aAltiumPcbFile, |
const std::map< ALTIUM_PCB_DIR, std::string > & | aFileMapping | ||
) |
Definition at line 317 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_BINARY_PARSER::GetRemainingBytes(), EDA_SHAPE::GetShape(), BOX2< Vec >::GetWidth(), PAGE_INFO::GetWidthIU(), BOX2< Vec >::GetX(), BOX2< Vec >::GetY(), ALTIUM_BINARY_PARSER::HasParsingError(), EDA_IU_SCALE::IU_PER_MILS, m_board, m_highest_pour_index, m_outer_plane, m_polygons, m_progressReporter, m_radialDimensions, m_reporter, 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_BINARY_PARSER::Read(), REPORTER::Report(), VECTOR2< T >::Resize(), RPT_SEVERITY_ERROR, BOARD_DESIGN_SETTINGS::SetAuxOrigin(), BOARD_DESIGN_SETTINGS::SetGridOrigin(), EDA_ITEM::SetModified(), THROW_IO_ERROR, and BOARD::Tracks().
Referenced by PCB_IO_ALTIUM_CIRCUIT_STUDIO::LoadBoard(), PCB_IO_ALTIUM_CIRCUIT_MAKER::LoadBoard(), PCB_IO_ALTIUM_DESIGNER::LoadBoard(), and PCB_IO_SOLIDWORKS::LoadBoard().
|
private |
Definition at line 2790 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), AARC6::component, ConvertArcs6ToBoardItem(), ConvertArcs6ToFootprintItem(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), HelperGetFootprint(), m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 954 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_BINARY_PARSER::GetRemainingBytes(), BOARD_DESIGN_SETTINGS::GetStackupDescriptor(), HelperCreateBoardOutline(), IsAltiumLayerAPlane(), m_board, m_layermap, m_progressReporter, ABOARD6_LAYER_STACKUP::name, ABOARD6_LAYER_STACKUP::nextId, NotSpecifiedPrm(), remapUnsureLayers(), 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 2261 of file altium_pcb.cpp.
References _, checkpoint(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1206 of file altium_pcb.cpp.
References _, checkpoint(), CTX_NETCLASS, BOARD::GetDesignSettings(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), ACLASS6::kind, m_board, BOARD::m_LegacyNetclassesLoaded, BOARD_DESIGN_SETTINGS::m_NetSettings, m_progressReporter, m_reporter, name, ACLASS6::name, ACLASS6::names, PROGRESS_REPORTER::Report(), REPORTER::Report(), RPT_SEVERITY_ERROR, and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1258 of file altium_pcb.cpp.
References _, BOARD::Add(), AltiumToKiCadLibID(), B_Cu, checkpoint(), ACOMPONENT6::commenton, F_Cu, ALTIUM_BINARY_PARSER::GetRemainingBytes(), ACOMPONENT6::layer, ACOMPONENT6::locked, m_board, m_components, m_progressReporter, ACOMPONENT6::nameon, ACOMPONENT6::pattern, ACOMPONENT6::position, PROGRESS_REPORTER::Report(), ACOMPONENT6::rotation, ACOMPONENT6::sourcedesignator, ACOMPONENT6::sourcefootprintlibrary, and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1411 of file altium_pcb.cpp.
References _, EMBEDDED_FILES::AddFile(), ALTIUM_COMPONENT_NONE, ACOMPONENTBODY6::body_opacity_3d, checkpoint(), ACOMPONENTBODY6::component, EMBEDDED_FILES::CompressAndEncode(), EMBEDDED_FILES::EMBEDDED_FILE::decompressedData, EMBEDDED_FILES::GetEmbeddedFileLink(), BOARD::GetEmbeddedFiles(), FOOTPRINT::GetEmbeddedFiles(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), EDA_IU_SCALE::IUTomm(), m_board, m_components, m_EmbeddedModels, FP_3DMODEL::m_Filename, FP_3DMODEL::m_Offset, FP_3DMODEL::m_Opacity, m_progressReporter, m_reporter, FP_3DMODEL::m_Rotation, ACOMPONENTBODY6::modelId, ACOMPONENTBODY6::modelIsEmbedded, ACOMPONENTBODY6::modelPosition, ACOMPONENTBODY6::modelRotation, FOOTPRINT::Models(), EMBEDDED_FILES::EMBEDDED_FILE::name, normalizeAngleDegrees(), pcbIUScale, PROGRESS_REPORTER::Report(), REPORTER::Report(), ACOMPONENTBODY6::rotation, RPT_SEVERITY_ERROR, THROW_IO_ERROR, VECTOR3< T >::x, VECTOR3< T >::y, and VECTOR3< T >::z.
Referenced by Parse().
|
private |
Definition at line 1854 of file altium_pcb.cpp.
References _, checkpoint(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), HelperParseDimensions6Center(), HelperParseDimensions6Leader(), HelperParseDimensions6Linear(), HelperParseDimensions6Radial(), ADIMENSION6::kind, m_progressReporter, m_reporter, PROGRESS_REPORTER::Report(), REPORTER::Report(), RPT_SEVERITY_INFO, and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 932 of file altium_pcb.cpp.
References _, checkpoint(), ALTIUM_BINARY_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 914 of file altium_pcb.cpp.
References ALTIUM_BINARY_PARSER::ReadAndSetSubrecordLength(), and ALTIUM_BINARY_PARSER::ReadWxString().
Referenced by Parse().
|
private |
Definition at line 4359 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), AFILL6::component, ConvertFills6ToBoardItem(), ConvertFills6ToFootprintItem(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), HelperGetFootprint(), m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
FOOTPRINT * ALTIUM_PCB::ParseFootprint | ( | ALTIUM_PCB_COMPOUND_FILE & | altiumLibFile, |
const wxString & | aFootprintName | ||
) |
Definition at line 658 of file altium_pcb.cpp.
References _, AltiumToKiCadLibID(), ConvertArcs6ToFootprintItem(), ConvertComponentBody6ToFootprintItem(), ConvertFills6ToFootprintItem(), ConvertPads6ToFootprintItem(), ConvertShapeBasedRegions6ToFootprintItem(), ConvertTexts6ToFootprintItem(), ConvertTracks6ToFootprintItem(), ConvertVias6ToFootprintItem(), Eco2_User, ALTIUM_PCB_COMPOUND_FILE::FindLibFootprintDirName(), ALTIUM_COMPOUND_FILE::FindStream(), alg::for_all_pairs(), FormatPath(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), m_board, m_extendedPrimitiveInformationMaps, m_layermap, m_reporter, m_unicodeStrings, EDA_IU_SCALE::mmToIU(), pad, ParseExtendedPrimitiveInformationData(), pcbIUScale, ALTIUM_BINARY_PARSER::Peek(), ALTIUM_BINARY_PARSER::ReadAndSetSubrecordLength(), ALTIUM_BINARY_PARSER::ReadProperties(), ALTIUM_PROPS_UTILS::ReadString(), REPORTER::Report(), RPT_SEVERITY_ERROR, ALTIUM_BINARY_PARSER::SkipSubrecord(), text, THROW_IO_ERROR, and via.
Referenced by PCB_IO_ALTIUM_DESIGNER::FootprintLoad().
|
private |
Definition at line 1938 of file altium_pcb.cpp.
References _, checkpoint(), ALTIUM_COMPOUND_FILE::FindStream(), FormatPath(), ALTIUM_COMPOUND_FILE::GetCompoundFileReader(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), AMODEL::id, m_EmbeddedModels, m_progressReporter, m_reporter, AMODEL::name, PROGRESS_REPORTER::Report(), REPORTER::Report(), AMODEL::rotation, RPT_SEVERITY_ERROR, THROW_IO_ERROR, and AMODEL::z_offset.
Referenced by Parse().
|
private |
Definition at line 2000 of file altium_pcb.cpp.
References _, BOARD::Add(), checkpoint(), NETINFO_ITEM::GetNetCode(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), m_altiumToKicadNetcodes, m_board, m_progressReporter, ANET6::name, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 3036 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), APAD6::component, ConvertPads6ToBoardItem(), ConvertPads6ToFootprintItem(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), HelperGetFootprint(), m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 2026 of file altium_pcb.cpp.
References _, BOARD::Add(), ANGLE_45, ARC_HIGH_DEF, checkpoint(), ARULE6::clearanceGap, ZONE::GetDefaultHatchPitch(), BOX2< Vec >::GetHeight(), BOARD::GetLayerType(), GetNetCode(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), GetRule(), GetRuleDefault(), BOX2< Vec >::GetWidth(), APOLYGON6::gridsize, APOLYGON6::hatchstyle, HelperSetZoneLayers(), HelperShapeLineChainFromAltiumVertices(), SHAPE_POLY_SET::Inflate(), IsAltiumLayerAPlane(), APOLYGON6::layer, APOLYGON6::locked, LT_MIXED, LT_POWER, LT_SIGNAL, m_board, m_highest_pour_index, m_outer_plane, m_polygons, m_progressReporter, m_reporter, APOLYGON6::net, SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), ARULE6::planeclearanceClearance, SHAPE_LINE_CHAIN::PointCount(), ARULE6::polygonconnectAirgapwidth, ARULE6::polygonconnectReliefconductorwidth, ARULE6::polygonconnectStyle, APOLYGON6::pourindex, PROGRESS_REPORTER::Report(), REPORTER::Report(), RPT_SEVERITY_ERROR, THROW_IO_ERROR, APOLYGON6::trackwidth, and APOLYGON6::vertices.
Referenced by Parse().
|
private |
Definition at line 2715 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_BINARY_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 2193 of file altium_pcb.cpp.
References _, checkpoint(), ARULE6::clearanceGap, BOARD::GetDesignSettings(), ALTIUM_BINARY_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 2281 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), AREGION6::component, ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToFootprintItem(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), HelperGetFootprint(), AREGION6::kind, m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 4051 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), ATEXT6::component, ConvertTexts6ToBoardItem(), ConvertTexts6ToFootprintItem(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), HelperGetFootprint(), m_progressReporter, m_unicodeStrings, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 3820 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), ATRACK6::component, ConvertTracks6ToBoardItem(), ConvertTracks6ToFootprintItem(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), HelperGetFootprint(), m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 3745 of file altium_pcb.cpp.
References _, BOARD::Add(), checkpoint(), AVIA6::diameter, GetKicadLayer(), GetNetCode(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), AVIA6::holesize, AVIA6::is_locked, AVIA6::is_tent_bottom, AVIA6::is_tent_top, IsCopperLayer(), AVIA6::layer_end, AVIA6::layer_start, m_board, m_progressReporter, m_reporter, AVIA6::net, AVIA6::position, PROGRESS_REPORTER::Report(), REPORTER::Report(), RPT_SEVERITY_DEBUG, AVIA6::soldermask_expansion_manual, THROW_IO_ERROR, and via.
Referenced by Parse().
|
private |
Definition at line 4037 of file altium_pcb.cpp.
References _, ALTIUM_BINARY_PARSER::GetRemainingBytes(), m_progressReporter, m_unicodeStrings, ALTIUM_BINARY_PARSER::ReadWideStringTable(), PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1099 of file altium_pcb.cpp.
References LSET::AllBoardTechMask(), INPUT_LAYER_DESC::AutoMapLayer, BOARD::GetCopperLayerCount(), BOARD::GetEnabledLayers(), GetKicadLayer(), m_board, m_layermap, m_layerMappingHandler, m_layerNames, ABOARD6_LAYER_STACKUP::name, INPUT_LAYER_DESC::Name, INPUT_LAYER_DESC::PermittedLayers, INPUT_LAYER_DESC::Required, BOARD::SetEnabledLayers(), BOARD::SetVisibleLayers(), LSET::UserDefinedLayers(), and LSET::UserMask().
Referenced by ParseBoard6Data().
|
private |
Definition at line 268 of file altium_pcb.h.
Referenced by GetNetCode(), and ParseNets6Data().
|
private |
Definition at line 263 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(), ParseComponentsBodies6Data(), ParseFootprint(), ParseNets6Data(), ParsePolygons6Data(), ParseRules6Data(), ParseVias6Data(), and remapUnsureLayers().
|
private |
Definition at line 264 of file altium_pcb.h.
Referenced by HelperGetFootprint(), ParseComponents6Data(), and ParseComponentsBodies6Data().
|
private |
Definition at line 283 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), and checkpoint().
|
private |
Definition at line 272 of file altium_pcb.h.
Referenced by ParseComponentsBodies6Data(), and ParseModelsData().
|
private |
Definition at line 275 of file altium_pcb.h.
Referenced by ConvertShapeBasedRegions6ToFootprintItemOnLayer(), HelperGetSolderAndPasteMaskExpansions(), ParseExtendedPrimitiveInformationData(), and ParseFootprint().
|
private |
for footprint library loading error reporting
Definition at line 288 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), ConvertPads6ToFootprintItemOnCopper(), ConvertPads6ToFootprintItemOnNonCopper(), ConvertShapeBasedRegions6ToFootprintItem(), and ConvertTexts6ToFootprintItem().
|
private |
Altium stores pour order across all layers.
Definition at line 291 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), Parse(), and ParsePolygons6Data().
|
private |
Definition at line 284 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), and checkpoint().
|
private |
Definition at line 269 of file altium_pcb.h.
Referenced by GetKicadLayer(), ParseBoard6Data(), ParseFootprint(), and remapUnsureLayers().
|
private |
Definition at line 279 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), and remapUnsureLayers().
|
private |
Definition at line 270 of file altium_pcb.h.
Referenced by GetKicadLayersToIterate(), and remapUnsureLayers().
|
private |
for footprint library loading error reporting
Definition at line 287 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), ConvertPads6ToFootprintItemOnCopper(), ConvertPads6ToFootprintItemOnNonCopper(), ConvertShapeBasedRegions6ToFootprintItem(), and ConvertTexts6ToFootprintItem().
|
private |
Definition at line 277 of file altium_pcb.h.
Referenced by Parse(), and ParsePolygons6Data().
|
private |
Definition at line 265 of file altium_pcb.h.
Referenced by ConvertArcs6ToBoardItem(), ConvertTracks6ToBoardItem(), Parse(), ParsePolygons6Data(), and ParseRegions6Data().
|
private |
optional; may be nullptr
Definition at line 281 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), checkpoint(), ConvertComponentBody6ToFootprintItem(), 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 266 of file altium_pcb.h.
Referenced by HelperParseDimensions6Radial(), and Parse().
|
private |
optional; may be nullptr
Definition at line 282 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), ConvertComponentBody6ToFootprintItem(), ConvertPads6ToBoardItemOnNonCopper(), ConvertPads6ToFootprintItemOnCopper(), ConvertPads6ToFootprintItemOnNonCopper(), ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToFootprintItem(), ConvertTexts6ToBoardItem(), ConvertTexts6ToBoardItemOnLayer(), ConvertTexts6ToFootprintItem(), ConvertTexts6ToFootprintItemOnLayer(), ConvertTracks6ToBoardItem(), GetKicadLayersToIterate(), HelperParseDimensions6Center(), HelperParseDimensions6Datum(), HelperParseDimensions6Leader(), HelperParseDimensions6Linear(), HelperParseDimensions6Radial(), HelperParsePad6NonCopper(), Parse(), ParseClasses6Data(), ParseComponentsBodies6Data(), ParseDimensions6Data(), ParseFootprint(), ParseModelsData(), ParsePolygons6Data(), and ParseVias6Data().
|
private |
Definition at line 273 of file altium_pcb.h.
Referenced by GetRule(), GetRuleDefault(), and ParseRules6Data().
|
private |
for progress reporting
Definition at line 285 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), checkpoint(), and Parse().
|
private |
Definition at line 267 of file altium_pcb.h.
Referenced by ParseFootprint(), ParseTexts6Data(), and ParseWideStrings6Data().