|
KiCad PCB EDA Suite
|
#include <pcb_io_easyedapro_v3_parser.h>
Public Member Functions | |
| PCB_IO_EASYEDAPRO_V3_PARSER (BOARD *aBoard, PROGRESS_REPORTER *aProgressReporter) | |
| std::unique_ptr< FOOTPRINT > | ParseFootprint (const std::map< wxString, EASYEDAPRO::BLOB > &aBlobMap, const EASYEDAPRO::V3_DOC_RAW &aDoc) |
| void | ParseBoard (BOARD *aBoard, const nlohmann::json &aProject, std::map< wxString, std::unique_ptr< FOOTPRINT > > &aFootprintMap, const std::map< wxString, EASYEDAPRO::BLOB > &aBlobMap, const std::multimap< wxString, EASYEDAPRO::POURED > &aPouredMap, const EASYEDAPRO::V3_DOC_RAW &aDoc, const wxString &aFpLibName) |
| wxString | GenerateSafeSpacingRules () const |
Static Public Member Functions | |
| static wxString | GenerateSafeSpacingRules (const nlohmann::json &aSafeSpacing) |
Private Member Functions | |
| std::unique_ptr< PAD > | createV3PAD (FOOTPRINT *aFootprint, const EASYEDAPRO::V3_ROW &aRow) |
| PCB_TEXT * | createV3Text (BOARD_ITEM_CONTAINER *aContainer, const EASYEDAPRO::V3_ROW &aRow) |
Private Attributes | |
| BOARD * | m_board |
| PCB_IO_EASYEDAPRO_PARSER | m_v2Parser |
| nlohmann::json | m_safeSpacing |
Definition at line 37 of file pcb_io_easyedapro_v3_parser.h.
|
explicit |
Definition at line 181 of file pcb_io_easyedapro_v3_parser.cpp.
References m_board, and m_v2Parser.
|
private |
Definition at line 192 of file pcb_io_easyedapro_v3_parser.cpp.
References std::abs(), PADSTACK::ALL_LAYERS, ANGLE_90, EDA_ANGLE::AsDegrees(), B_Cu, center, CIRCLE, CUSTOM, DEGREES_T, F_Cu, EASYEDAPRO::V3_ROW::inner, m_v2Parser, PADSTACK::NORMAL, EDA_ANGLE::Normalize90(), OBLONG, OVAL, pad, PTH, PAD::PTHMask(), radius, RECTANGLE, ROUNDRECT, PCB_IO_EASYEDAPRO_PARSER::ScalePos(), PCB_IO_EASYEDAPRO_PARSER::ScaleSize(), SMD, PAD::SMDMask(), EASYEDAPRO::V3GetDouble(), EASYEDAPRO::V3GetInt(), EASYEDAPRO::V3GetString(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ParseBoard(), and ParseFootprint().
|
private |
Definition at line 334 of file pcb_io_easyedapro_v3_parser.cpp.
References KIFONT::FONT::GetFont(), EASYEDAPRO::V3_ROW::inner, IsBackLayer(), location, m_v2Parser, PCB_IO_EASYEDAPRO_PARSER::ScalePos(), PCB_IO_EASYEDAPRO_PARSER::ScaleSize(), text, V3AlignText(), V3AlignToOriginCode(), EASYEDAPRO::V3GetBool(), EASYEDAPRO::V3GetDouble(), EASYEDAPRO::V3GetInt(), and EASYEDAPRO::V3GetString().
Referenced by ParseBoard(), and ParseFootprint().
| wxString PCB_IO_EASYEDAPRO_V3_PARSER::GenerateSafeSpacingRules | ( | ) | const |
Definition at line 99 of file pcb_io_easyedapro_v3_parser.cpp.
References GenerateSafeSpacingRules(), and m_safeSpacing.
Referenced by GenerateSafeSpacingRules(), PCB_IO_EASYEDAPRO_PARSER::GetSafeSpacingRules(), and PCB_IO_EASYEDAPRO_V3::loadBoard().
|
static |
Definition at line 105 of file pcb_io_easyedapro_v3_parser.cpp.
References empty(), FormatDouble2Str(), index, safeSpacingConditions, safeSpacingNames, and safeSpacingToMm().
| void PCB_IO_EASYEDAPRO_V3_PARSER::ParseBoard | ( | BOARD * | aBoard, |
| const nlohmann::json & | aProject, | ||
| std::map< wxString, std::unique_ptr< FOOTPRINT > > & | aFootprintMap, | ||
| const std::map< wxString, EASYEDAPRO::BLOB > & | aBlobMap, | ||
| const std::multimap< wxString, EASYEDAPRO::POURED > & | aPouredMap, | ||
| const EASYEDAPRO::V3_DOC_RAW & | aDoc, | ||
| const wxString & | aFpLibName ) |
Definition at line 862 of file pcb_io_easyedapro_v3_parser.cpp.
References SEG::A, BOARD::Add(), SHAPE_POLY_SET::AddOutline(), PADSTACK::ALL_LAYERS, ANGLE_0, APPEND, SHAPE_POLY_SET::Append(), ARC_HIGH_DEF, EASYEDAPRO::V3_DEVICE_DATA::attributes, SEG::B, B_Cu, SHAPE_LINE_CHAIN::BBox(), SHAPE_POLY_SET::BBox(), SHAPE_POLY_SET::BooleanAdd(), SHAPE_POLY_SET::BooleanSubtract(), center, clearance, comp, BOARD::ComputeBoundingBox(), ConnectBoardShapes(), SHAPE_ARC::ConstructFromStartEndCenter(), SHAPE_POLY_SET::CPolygons(), createV3PAD(), createV3Text(), SHAPE_LINE_CHAIN::CSegment(), DATASHEET, DEG2RAD(), DEGREES_T, delta, DESCRIPTION, EASYEDAPRO::V3_DEVICE_DATA::description, BOARD::Drawings(), Edge_Cuts, end, ERROR_INSIDE, BOARD::FindNet(), EASYEDAPRO::ForEachImportedDeviceField(), SHAPE_POLY_SET::Fracture(), get_def(), get_opt(), BOX2< Vec >::GetCenter(), NET_SETTINGS::GetDefaultNetclass(), BOARD_DESIGN_SETTINGS::GetDefaultZoneSettings(), BOARD::GetDesignSettings(), BOARD::GetEnabledLayers(), KIFONT::FONT::GetFont(), PAGE_INFO::GetHeightMils(), BOARD::GetNetCount(), BOX2< Vec >::GetOrigin(), BOARD::GetPageSettings(), SHAPE_LINE_CHAIN::GetPoint(), BOX2< Vec >::GetSize(), REFERENCE_IMAGE::GetSize(), EASYEDAPRO::GetV3DeviceData(), PAGE_INFO::GetWidthMils(), group, EASYEDAPRO::V3_ROW::id, EASYEDAPRO::IMPORT_POURED, SHAPE_POLY_SET::Inflate(), EASYEDAPRO::V3_ROW::inner, IsBackLayer(), SHAPE_POLY_SET::IsEmpty(), EASYEDAPRO::POURED::isPoly, KiROUND(), LEFT_RIGHT, BOARD_DESIGN_SETTINGS::m_CopperEdgeClearance, BOARD::m_LegacyDesignSettingsLoaded, BOARD::m_LegacyNetclassesLoaded, BOARD_DESIGN_SETTINGS::m_MinClearance, BOARD_DESIGN_SETTINGS::m_NetSettings, m_safeSpacing, BOARD_DESIGN_SETTINGS::m_TrackMinWidth, m_v2Parser, ZONE_SETTINGS::m_ZoneMinThickness, BOX2< Vec >::Merge(), MIRROR(), BITMAP_BASE::Mirror(), BOARD::Move(), REFERENCE_IMAGE::MutableImage(), PADSTACK::NORMAL, EASYEDAPRO::NormalizeEasyEDAText(), PCB_IO_EASYEDAPRO_PARSER::NormalizeSafeSpacing(), SHAPE_RECT::Outline(), SHAPE_POLY_SET::OutlineCount(), pad, EASYEDAPRO::POURED::parentId, PCB_SHAPE_T, pcbIUScale, SHAPE_LINE_CHAIN::PointCount(), POLY, EASYEDAPRO::POURED::polyData, EASYEDAPRO::POURED::pouredId, REFERENCE_IMAGE::ReadImageFile(), SHAPE_POLY_SET::RebuildHolesFromContours(), REFERENCE, EASYEDAPRO::ResolveDeviceFieldVariables(), EASYEDAPRO::ResolveV3DeviceValueText(), ROUND_ALL_CORNERS, EASYEDAPRO::V3_DOC_RAW::rows, scale, PCB_IO_EASYEDAPRO_PARSER::ScalePos(), PCB_IO_EASYEDAPRO_PARSER::ScaleSize(), SHAPE_LINE_CHAIN::SegmentCount(), BASE_SET::set(), BOARD_DESIGN_SETTINGS::SetAuxOrigin(), NETCLASS::SetClearance(), SHAPE_LINE_CHAIN::SetClosed(), BOARD::SetEnabledLayers(), EDA_TEXT::SetFont(), REFERENCE_IMAGE::SetImageScale(), BOARD_ITEM::SetIsKnockout(), EDA_TEXT::SetKeepUpright(), BOARD_ITEM::SetLayer(), BOARD::SetLayerName(), SHAPE_LINE_CHAIN::SetPoint(), PCB_TEXT::SetPosition(), EDA_TEXT::SetText(), EDA_TEXT::SetTextAngleDegrees(), PCB_TEXT::SetTextSize(), PCB_TEXT::SetTextThickness(), EDA_TEXT::SetVisible(), SHAPE_JOIN_DISTANCE, SHAPE_POLY_SET::Simplify(), TD_VIAPAD, EASYEDAPRO::ToKiCadLibID(), TOP_BOTTOM, traceEasyEdaIo, TransformOvalToPolygon(), EASYEDAPRO::V3_ROW::type, EASYEDAPRO::POURED::unki, USER, V3AlignText(), V3AlignToOriginCode(), EASYEDAPRO::V3GetBool(), EASYEDAPRO::V3GetDouble(), EASYEDAPRO::V3GetInt(), EASYEDAPRO::V3GetString(), EASYEDAPRO::V3IsNullOrMissing(), EASYEDAPRO::V3JsonToString(), EASYEDAPRO::V3ParseIdArray(), via, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by PCB_IO_EASYEDAPRO_V3::loadBoard().
| std::unique_ptr< FOOTPRINT > PCB_IO_EASYEDAPRO_V3_PARSER::ParseFootprint | ( | const std::map< wxString, EASYEDAPRO::BLOB > & | aBlobMap, |
| const EASYEDAPRO::V3_DOC_RAW & | aDoc ) |
Definition at line 385 of file pcb_io_easyedapro_v3_parser.cpp.
References FOOTPRINT::Add(), SHAPE_POLY_SET::AddOutline(), APPEND, ARC_HIGH_DEF, SHAPE_LINE_CHAIN::BBox(), SHAPE_POLY_SET::BBox(), ConnectBoardShapes(), SHAPE_POLY_SET::CPolygons(), createV3PAD(), createV3Text(), DEFAULT_COURTYARD_WIDTH, DEGREES_T, Edge_Cuts, ERROR_INSIDE, F_CrtYd, F_Cu, F_Fab, F_Mask, F_Paste, get_opt(), BOX2< Vec >::GetEnd(), FOOTPRINT::GetField(), FOOTPRINT::GetFields(), FOOTPRINT::GetLayerBoundingBox(), BOX2< Vec >::GetOrigin(), BOX2< Vec >::GetSize(), REFERENCE_IMAGE::GetSize(), FOOTPRINT::GraphicalItems(), group, BOX2< Vec >::Inflate(), EASYEDAPRO::V3_ROW::inner, IsBackLayer(), FOOTPRINT::IsOnLayer(), KiROUND(), LEFT_RIGHT, m_board, m_v2Parser, BOX2< Vec >::Merge(), MIRROR(), BITMAP_BASE::Mirror(), FOOTPRINT::MoveAnchorPosition(), REFERENCE_IMAGE::MutableImage(), SHAPE_POLY_SET::OutlineCount(), pad, PCB_SHAPE_T, PCB_TEXT_T, pcbIUScale, POLY, REFERENCE_IMAGE::ReadImageFile(), SHAPE_POLY_SET::RebuildHolesFromContours(), RECTANGLE, REFERENCE, EASYEDAPRO::V3_DOC_RAW::rows, scale, PCB_IO_EASYEDAPRO_PARSER::ScalePos(), PCB_IO_EASYEDAPRO_PARSER::ScaleSize(), SHAPE_LINE_CHAIN::SetClosed(), REFERENCE_IMAGE::SetImageScale(), EDA_TEXT::SetText(), SHAPE_JOIN_DISTANCE, SHAPE_POLY_SET::Simplify(), EASYEDAPRO::V3_ROW::type, EASYEDAPRO::V3GetBool(), EASYEDAPRO::V3GetDouble(), EASYEDAPRO::V3GetInt(), EASYEDAPRO::V3GetString(), EASYEDAPRO::V3JsonToString(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by PCB_IO_EASYEDAPRO_V3::FootprintLoad(), and PCB_IO_EASYEDAPRO_V3::loadBoard().
|
private |
Definition at line 56 of file pcb_io_easyedapro_v3_parser.h.
Referenced by ParseFootprint(), and PCB_IO_EASYEDAPRO_V3_PARSER().
|
private |
Definition at line 59 of file pcb_io_easyedapro_v3_parser.h.
Referenced by GenerateSafeSpacingRules(), and ParseBoard().
|
private |
Definition at line 58 of file pcb_io_easyedapro_v3_parser.h.
Referenced by createV3PAD(), createV3Text(), ParseBoard(), ParseFootprint(), and PCB_IO_EASYEDAPRO_V3_PARSER().