KiCad PCB EDA Suite
|
#include <pns_kicad_iface.h>
Public Member Functions | |
PNS_KICAD_IFACE_BASE () | |
~PNS_KICAD_IFACE_BASE () | |
void | EraseView () override |
void | SetBoard (BOARD *aBoard) |
void | SyncWorld (PNS::NODE *aWorld) override |
bool | IsAnyLayerVisible (const LAYER_RANGE &aLayer) const override |
bool | IsFlashedOnLayer (const PNS::ITEM *aItem, int aLayer) const override |
bool | IsItemVisible (const PNS::ITEM *aItem) const override |
void | HideItem (PNS::ITEM *aItem) override |
void | DisplayItem (const PNS::ITEM *aItem, int aClearance, bool aEdit=false, bool aIsHeadTrace=false) override |
void | DisplayRatline (const SHAPE_LINE_CHAIN &aRatline, int aNetCode) override |
void | AddItem (PNS::ITEM *aItem) override |
void | UpdateItem (PNS::ITEM *aItem) override |
void | RemoveItem (PNS::ITEM *aItem) override |
void | Commit () override |
bool | ImportSizes (PNS::SIZES_SETTINGS &aSizes, PNS::ITEM *aStartItem, int aNet) override |
int | StackupHeight (int aFirstLayer, int aSecondLayer) const override |
void | UpdateNet (int aNetCode) override |
void | SetDebugDecorator (PNS::DEBUG_DECORATOR *aDec) |
void | SetStartLayer (int aLayer) |
virtual PNS::NODE * | GetWorld () const override |
BOARD * | GetBoard () const |
virtual EDA_UNITS | GetUnits () const |
PNS::RULE_RESOLVER * | GetRuleResolver () override |
PNS::DEBUG_DECORATOR * | GetDebugDecorator () override |
Protected Member Functions | |
std::unique_ptr< PNS::SOLID > | syncPad (PAD *aPad) |
std::unique_ptr< PNS::SEGMENT > | syncTrack (PCB_TRACK *aTrack) |
std::unique_ptr< PNS::ARC > | syncArc (PCB_ARC *aArc) |
std::unique_ptr< PNS::VIA > | syncVia (PCB_VIA *aVia) |
bool | syncTextItem (PNS::NODE *aWorld, EDA_TEXT *aText, PCB_LAYER_ID aLayer) |
bool | syncGraphicalItem (PNS::NODE *aWorld, PCB_SHAPE *aItem) |
bool | syncZone (PNS::NODE *aWorld, ZONE *aZone, SHAPE_POLY_SET *aBoardOutline) |
bool | inheritTrackWidth (PNS::ITEM *aItem, int *aInheritedWidth) |
Protected Attributes | |
PNS_PCBNEW_RULE_RESOLVER * | m_ruleResolver |
PNS::DEBUG_DECORATOR * | m_debugDecorator |
PNS::NODE * | m_world |
BOARD * | m_board |
int | m_startLayer |
Definition at line 49 of file pns_kicad_iface.h.
PNS_KICAD_IFACE_BASE::PNS_KICAD_IFACE_BASE | ( | ) |
Definition at line 1030 of file pns_kicad_iface.cpp.
References m_board, m_debugDecorator, m_ruleResolver, m_startLayer, and m_world.
PNS_KICAD_IFACE_BASE::~PNS_KICAD_IFACE_BASE | ( | ) |
Definition at line 1049 of file pns_kicad_iface.cpp.
|
overridevirtual |
Implements PNS::ROUTER_IFACE.
Reimplemented in PNS_KICAD_IFACE.
Definition at line 1796 of file pns_kicad_iface.cpp.
|
inlineoverridevirtual |
Implements PNS::ROUTER_IFACE.
Reimplemented in PNS_KICAD_IFACE.
Definition at line 67 of file pns_kicad_iface.h.
|
inlineoverridevirtual |
Implements PNS::ROUTER_IFACE.
Reimplemented in PNS_KICAD_IFACE, and PNS_LOG_PLAYER_KICAD_IFACE.
Definition at line 62 of file pns_kicad_iface.h.
|
inlineoverridevirtual |
Implements PNS::ROUTER_IFACE.
Reimplemented in PNS_KICAD_IFACE.
Definition at line 63 of file pns_kicad_iface.h.
|
inlineoverridevirtual |
Implements PNS::ROUTER_IFACE.
Reimplemented in PNS_KICAD_IFACE.
Definition at line 55 of file pns_kicad_iface.h.
|
inline |
Definition at line 79 of file pns_kicad_iface.h.
References m_board.
Referenced by ROUTER_TOOL::saveRouterDebugLog().
|
overridevirtual |
Implements PNS::ROUTER_IFACE.
Definition at line 1024 of file pns_kicad_iface.cpp.
References m_debugDecorator.
|
overridevirtual |
Implements PNS::ROUTER_IFACE.
Definition at line 1942 of file pns_kicad_iface.cpp.
References m_ruleResolver.
Referenced by ROUTER_TOOL::UpdateMessagePanel().
|
inlinevirtual |
Reimplemented in PNS_KICAD_IFACE.
Definition at line 81 of file pns_kicad_iface.h.
References MILLIMETRES.
Referenced by syncZone().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements PNS::ROUTER_IFACE.
Reimplemented in PNS_KICAD_IFACE, and PNS_LOG_PLAYER_KICAD_IFACE.
Definition at line 61 of file pns_kicad_iface.h.
|
overridevirtual |
Implements PNS::ROUTER_IFACE.
Definition at line 590 of file pns_kicad_iface.cpp.
References _, PNS::CT_CLEARANCE, PNS::CT_DIFF_PAIR_GAP, PNS::CT_HOLE_TO_HOLE, PNS::CT_VIA_DIAMETER, PNS::CT_VIA_HOLE, PNS::CT_WIDTH, BOARD_DESIGN_SETTINGS::GetCurrentDiffPairGap(), BOARD_DESIGN_SETTINGS::GetCurrentDiffPairViaGap(), BOARD_DESIGN_SETTINGS::GetCurrentDiffPairWidth(), BOARD_DESIGN_SETTINGS::GetCurrentTrackWidth(), BOARD_DESIGN_SETTINGS::GetCurrentViaDrill(), BOARD_DESIGN_SETTINGS::GetCurrentViaSize(), BOARD::GetDesignSettings(), inheritTrackWidth(), PNS::ITEM::Layer(), m_board, BOARD_DESIGN_SETTINGS::m_HoleToHoleMin, BOARD_DESIGN_SETTINGS::m_MinClearance, BOARD_DESIGN_SETTINGS::m_MinThroughDrill, PNS::CONSTRAINT::m_RuleName, m_ruleResolver, m_startLayer, BOARD_DESIGN_SETTINGS::m_TempOverrideTrackWidth, BOARD_DESIGN_SETTINGS::m_TrackMinWidth, BOARD_DESIGN_SETTINGS::m_UseConnectedTrackWidth, PNS::CONSTRAINT::m_Value, BOARD_DESIGN_SETTINGS::m_ViasMinSize, MINOPTMAX< T >::Min(), MINOPTMAX< T >::Opt(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), PNS::SIZES_SETTINGS::SetClearanceSource(), PNS::SIZES_SETTINGS::SetDiffPairGap(), PNS::SIZES_SETTINGS::SetDiffPairGapSource(), PNS::SIZES_SETTINGS::SetDiffPairViaGap(), PNS::SIZES_SETTINGS::SetDiffPairViaGapSameAsTraceGap(), PNS::SIZES_SETTINGS::SetDiffPairWidth(), PNS::SIZES_SETTINGS::SetDiffPairWidthSource(), PNS::SIZES_SETTINGS::SetHoleToHole(), PNS::SIZES_SETTINGS::SetMinClearance(), PNS::SIZES_SETTINGS::SetTrackWidth(), PNS::SIZES_SETTINGS::SetTrackWidthIsExplicit(), PNS::SIZES_SETTINGS::SetViaDiameter(), PNS::SIZES_SETTINGS::SetViaDrill(), PNS::SIZES_SETTINGS::SetWidthSource(), UNDEFINED_LAYER, BOARD_DESIGN_SETTINGS::UseNetClassDiffPair(), BOARD_DESIGN_SETTINGS::UseNetClassTrack(), and BOARD_DESIGN_SETTINGS::UseNetClassVia().
Referenced by ROUTER_TOOL::onTrackViaSizeChanged(), and ROUTER_TOOL::prepareInteractive().
|
protected |
Definition at line 527 of file pns_kicad_iface.cpp.
References PNS::ITEM::ARC_T, PNS::ITEM_SET::ExcludeItem(), PNS::ITEM_SET::FilterKinds(), PNS::ITEM_SET::Items(), PNS::ITEM::Kind(), PNS::JOINT::Links(), PNS::ITEM::Owner(), PNS::ITEM::SEGMENT_T, PNS::ITEM::SOLID_T, and PNS::ITEM::VIA_T.
Referenced by ImportSizes().
|
inlineoverridevirtual |
Implements PNS::ROUTER_IFACE.
Reimplemented in PNS_KICAD_IFACE.
Definition at line 58 of file pns_kicad_iface.h.
|
overridevirtual |
Default is all layers
Implements PNS::ROUTER_IFACE.
Definition at line 1417 of file pns_kicad_iface.cpp.
References PNS::ITEM::Layers(), LAYER_RANGE::Overlaps(), pad, PNS::ITEM::Parent(), PCB_PAD_T, PCB_VIA_T, ToLAYER_ID(), EDA_ITEM::Type(), and via.
|
inlineoverridevirtual |
Implements PNS::ROUTER_IFACE.
Reimplemented in PNS_KICAD_IFACE.
Definition at line 60 of file pns_kicad_iface.h.
|
overridevirtual |
Implements PNS::ROUTER_IFACE.
Reimplemented in PNS_KICAD_IFACE.
Definition at line 1704 of file pns_kicad_iface.cpp.
void PNS_KICAD_IFACE_BASE::SetBoard | ( | BOARD * | aBoard | ) |
Definition at line 1395 of file pns_kicad_iface.cpp.
References m_board.
Referenced by PNS::TOOL_BASE::Reset().
void PNS_KICAD_IFACE_BASE::SetDebugDecorator | ( | PNS::DEBUG_DECORATOR * | aDec | ) |
Definition at line 1601 of file pns_kicad_iface.cpp.
References m_debugDecorator.
|
inline |
Definition at line 75 of file pns_kicad_iface.h.
References m_startLayer.
Referenced by ROUTER_TOOL::prepareInteractive().
|
overridevirtual |
Implements PNS::ROUTER_IFACE.
Definition at line 741 of file pns_kicad_iface.cpp.
References BOARD::GetDesignSettings(), BOARD_STACKUP::GetLayerDistance(), BOARD_DESIGN_SETTINGS::GetStackupDescriptor(), m_board, BOARD_DESIGN_SETTINGS::m_UseHeightForLengthCalcs, and ToLAYER_ID().
Definition at line 1175 of file pns_kicad_iface.cpp.
References PCB_TRACK::GetEnd(), BOARD_ITEM::GetLayer(), PCB_ARC::GetMid(), BOARD_CONNECTED_ITEM::GetNetCode(), PCB_TRACK::GetStart(), PCB_TRACK::GetWidth(), BOARD_ITEM::IsLocked(), and PNS::MK_LOCKED.
Referenced by SyncWorld().
Definition at line 1348 of file pns_kicad_iface.cpp.
References PNS::NODE::Add(), B_Cu, Edge_Cuts, F_Cu, BOARD_ITEM::GetLayer(), IsCopperLayer(), EDA_SHAPE::MakeEffectiveShapes(), Margin, PCAD2KICAD::SetWidth(), SH_ARC, SH_LINE_CHAIN, and SH_SEGMENT.
Referenced by SyncWorld().
|
protected |
Definition at line 1067 of file pns_kicad_iface.cpp.
References LSET::AllCuMask(), ALWAYS_FLASHED, PNS::Clone(), CONN, PAD::GetAttribute(), PAD::GetDrillSize(), PAD::GetEffectiveHoleShape(), PAD::GetEffectiveShape(), PAD::GetLayerSet(), BOARD_CONNECTED_ITEM::GetNetCode(), PAD::GetOffset(), PAD::GetOrientation(), PAD::GetPadToDieLength(), PAD::IsFreePad(), MAX_CU_LAYERS, NPTH, PTH, RotatePoint(), PAD::ShapePos(), SMD, UNDEFINED_LAYER, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by SyncWorld().
|
protected |
Definition at line 1287 of file pns_kicad_iface.cpp.
References PNS::NODE::Add(), SHAPE_SIMPLE::Append(), SHAPE_LINE_CHAIN::CPoint(), EDA_TEXT::GetAttributes(), EDA_TEXT::GetEffectiveTextShape(), GetKnockoutTextMargin(), IsCopperLayer(), BOARD_ITEM::IsKnockout(), TEXT_ATTRIBUTES::m_Size, TEXT_ATTRIBUTES::m_StrokeWidth, SHAPE_POLY_SET::Outline(), and EDA_TEXT::TransformBoundingBoxToPolygon().
Referenced by SyncWorld().
|
protected |
Definition at line 1159 of file pns_kicad_iface.cpp.
References PCB_TRACK::GetEnd(), BOARD_ITEM::GetLayer(), BOARD_CONNECTED_ITEM::GetNetCode(), PCB_TRACK::GetStart(), PCB_TRACK::GetWidth(), BOARD_ITEM::IsLocked(), and PNS::MK_LOCKED.
Referenced by SyncWorld().
Definition at line 1191 of file pns_kicad_iface.cpp.
References PCB_VIA::BottomLayer(), BOARD::GetDesignSettings(), PCB_VIA::GetDrillValue(), PCB_VIA::GetIsFree(), BOARD_CONNECTED_ITEM::GetNetCode(), PCB_VIA::GetPosition(), PCB_VIA::GetViaType(), PCB_TRACK::GetWidth(), BOARD_ITEM::IsLocked(), PCB_VIA::LayerPair(), m_board, PNS::MK_LOCKED, PCB_VIA::TopLayer(), and via.
Referenced by SyncWorld().
|
overridevirtual |
Implements PNS::ROUTER_IFACE.
Definition at line 1481 of file pns_kicad_iface.cpp.
References PNS::NODE::Add(), PNS::NODE::AddEdgeExclusion(), CASTELLATED, PNS_PCBNEW_RULE_RESOLVER::ClearanceEpsilon(), BOARD::Drawings(), BOARD::Footprints(), BOARD_DESIGN_SETTINGS::GetBiggestClearanceValue(), BOARD::GetBoardPolygonOutlines(), BOARD::GetDesignSettings(), BOARD_ITEM::GetLayer(), m_board, m_ruleResolver, m_world, pad, PCB_ARC_T, PCB_FP_SHAPE_T, PCB_FP_TEXT_T, PCB_FP_TEXTBOX_T, PCB_SHAPE_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_TRACE_T, PCB_VIA_T, PNS::NODE::SetMaxClearance(), PNS::NODE::SetRuleResolver(), syncArc(), syncGraphicalItem(), syncPad(), syncTextItem(), syncTrack(), syncVia(), syncZone(), BOARD::Tracks(), via, and BOARD::Zones().
|
protected |
Definition at line 1218 of file pns_kicad_iface.cpp.
References _, PNS::NODE::Add(), SHAPE_SIMPLE::Append(), B_Cu, SHAPE_POLY_SET::CacheTriangulation(), KIDIALOG::DoNotShowCheckbox(), F_Cu, Format(), ZONE::GetDoNotAllowTracks(), ZONE::GetIsRuleArea(), ZONE::GetItemDescription(), ZONE::GetLayerSet(), SHAPE_POLY_SET::TRIANGULATED_POLYGON::GetTriangle(), SHAPE_POLY_SET::TRIANGULATED_POLYGON::GetTriangleCount(), GetUnits(), ZONE::GetZoneName(), SHAPE_POLY_SET::IsTriangulationUpToDate(), KIDIALOG::KD_WARNING, ZONE::Outline(), SHAPE_POLY_SET::OutlineCount(), pcbIUScale, KIDIALOG::ShowModal(), and SHAPE_POLY_SET::TriangulatedPolygon().
Referenced by SyncWorld().
|
overridevirtual |
Implements PNS::ROUTER_IFACE.
Reimplemented in PNS_KICAD_IFACE.
Definition at line 1729 of file pns_kicad_iface.cpp.
|
inlineoverridevirtual |
Implements PNS::ROUTER_IFACE.
Reimplemented in PNS_KICAD_IFACE.
Definition at line 71 of file pns_kicad_iface.h.
|
protected |
Definition at line 101 of file pns_kicad_iface.h.
Referenced by PNS_KICAD_IFACE::AddItem(), PNS_KICAD_IFACE::DisplayRatline(), GetBoard(), ImportSizes(), PNS_KICAD_IFACE_BASE(), SetBoard(), StackupHeight(), syncVia(), and SyncWorld().
|
protected |
Definition at line 88 of file pns_kicad_iface.h.
Referenced by PNS_KICAD_IFACE::EraseView(), GetDebugDecorator(), PNS_KICAD_IFACE_BASE(), SetDebugDecorator(), PNS_KICAD_IFACE::SetView(), and PNS_KICAD_IFACE::~PNS_KICAD_IFACE().
|
protected |
Definition at line 87 of file pns_kicad_iface.h.
Referenced by GetRuleResolver(), ImportSizes(), PNS_KICAD_IFACE_BASE(), SyncWorld(), and PNS_KICAD_IFACE::~PNS_KICAD_IFACE().
|
protected |
Definition at line 102 of file pns_kicad_iface.h.
Referenced by ImportSizes(), PNS_KICAD_IFACE_BASE(), and SetStartLayer().
|
protected |
Definition at line 100 of file pns_kicad_iface.h.
Referenced by GetWorld(), PNS_KICAD_IFACE_BASE(), and SyncWorld().