22#ifndef __PNS_KICAD_IFACE_H 
   23#define __PNS_KICAD_IFACE_H 
   25#include <unordered_set> 
   26#include <unordered_map> 
   74                      int aFlags = 0 )
 override {}
 
 
   83    int StackupHeight( 
int aFirstLayer, 
int aSecondLayer ) 
const override;
 
   97                                           int aDiffPairCouplingGap, 
int aPNSLayer, 
const NETCLASS* aNetClass ) 
override;
 
   99                                                   int aDiffPairCouplingGap, 
int aPNSLayer,
 
  100                                                   const NETCLASS* aNetClass ) 
override;
 
  123    std::vector<std::unique_ptr<PNS::SOLID>> 
syncPad( 
PAD* aPad );
 
 
  155                      int aFlags = 0 ) 
override;
 
 
A base class derived from BOARD_ITEM for items that can be connected and have a net,...
 
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
 
Information pertinent to a Pcbnew printed circuit board.
 
A set of EDA_ITEMs (i.e., without duplicates).
 
A mix-in class (via multiple inheritance) that handles texts such as labels, parts,...
 
Extend VIEW_ITEM by possibility of grouping items into a single object.
 
Hold a (potentially large) number of VIEW_ITEMs and renders them on a graphics device provided by the...
 
Lightweight class which holds a pad, via, or a routed trace outline.
 
A collection of nets and the parameters used to route or test these nets.
 
Base class for PNS router board items.
 
Keep the router "world" - i.e.
 
void DisplayItem(const PNS::ITEM *aItem, int aClearance, bool aEdit=false, int aFlags=0) override
 
bool syncGraphicalItem(PNS::NODE *aWorld, PCB_SHAPE *aItem)
 
void DisplayRatline(const SHAPE_LINE_CHAIN &aRatline, PNS::NET_HANDLE aNet) override
 
bool inheritTrackWidth(PNS::ITEM *aItem, int *aInheritedWidth)
 
void AddItem(PNS::ITEM *aItem) override
 
wxString GetNetName(PNS::NET_HANDLE aNet) const override
 
virtual EDA_UNITS GetUnits() const
 
PNS::DEBUG_DECORATOR * m_debugDecorator
 
void SetDebugDecorator(PNS::DEBUG_DECORATOR *aDec)
 
bool syncZone(PNS::NODE *aWorld, ZONE *aZone, SHAPE_POLY_SET *aBoardOutline)
 
void SetBoard(BOARD *aBoard)
 
long long int CalculateRoutedPathLength(const PNS::ITEM_SET &aLine, const PNS::SOLID *aStartPad, const PNS::SOLID *aEndPad, const NETCLASS *aNetClass) override
 
virtual PNS::NODE * GetWorld() const override
 
int64_t CalculateRoutedPathDelay(const PNS::ITEM_SET &aLine, const PNS::SOLID *aStartPad, const PNS::SOLID *aEndPad, const NETCLASS *aNetClass) override
 
~PNS_KICAD_IFACE_BASE() override
 
std::unique_ptr< PNS::ARC > syncArc(PCB_ARC *aArc)
 
void RemoveItem(PNS::ITEM *aItem) override
 
bool IsPNSCopperLayer(int aPNSLayer) const override
 
int64_t CalculateLengthForDelay(int64_t aDesiredDelay, int aWidth, bool aIsDiffPairCoupled, int aDiffPairCouplingGap, int aPNSLayer, const NETCLASS *aNetClass) override
 
void DisplayPathLine(const SHAPE_LINE_CHAIN &aLine, int aImportance) override
 
PNS::RULE_RESOLVER * GetRuleResolver() override
 
bool syncTextItem(PNS::NODE *aWorld, BOARD_ITEM *aItem, PCB_LAYER_ID aLayer)
 
std::vector< LENGTH_DELAY_CALCULATION_ITEM > getLengthDelayCalculationItems(const PNS::ITEM_SET &aLine, const NETCLASS *aNetClass) const
 
bool IsAnyLayerVisible(const PNS_LAYER_RANGE &aLayer) const override
 
bool IsKicadCopperLayer(PCB_LAYER_ID aPcbnewLayer) const
 
std::vector< std::unique_ptr< PNS::SOLID > > syncPad(PAD *aPad)
 
int GetNetCode(PNS::NET_HANDLE aNet) const override
 
void HideItem(PNS::ITEM *aItem) override
 
void SetStartLayerFromPCBNew(PCB_LAYER_ID aLayer)
 
bool syncBarcode(PNS::NODE *aWorld, PCB_BARCODE *aBarcode)
 
bool IsItemVisible(const PNS::ITEM *aItem) const override
 
bool IsFlashedOnLayer(const PNS::ITEM *aItem, int aLayer) const override
 
PCB_LAYER_ID GetBoardLayerFromPNSLayer(int aLayer) const override
 
void UpdateNet(PNS::NET_HANDLE aNet) override
 
void SyncWorld(PNS::NODE *aWorld) override
 
int StackupHeight(int aFirstLayer, int aSecondLayer) const override
 
int64_t CalculateDelayForShapeLineChain(const SHAPE_LINE_CHAIN &aShape, int aWidth, bool aIsDiffPairCoupled, int aDiffPairCouplingGap, int aPNSLayer, const NETCLASS *aNetClass) override
 
PNS::DEBUG_DECORATOR * GetDebugDecorator() override
 
std::unique_ptr< PNS::SEGMENT > syncTrack(PCB_TRACK *aTrack)
 
PNS_PCBNEW_RULE_RESOLVER * m_ruleResolver
 
PNS::NET_HANDLE GetOrphanedNetHandle() override
 
std::unique_ptr< PNS::VIA > syncVia(PCB_VIA *aVia)
 
int GetPNSLayerFromBoardLayer(PCB_LAYER_ID aLayer) const override
 
void SetStartLayerFromPNS(int aLayer)
 
PNS_LAYER_RANGE SetLayersFromPCBNew(PCB_LAYER_ID aStartLayer, PCB_LAYER_ID aEndLayer)
 
void EraseView() override
 
void UpdateItem(PNS::ITEM *aItem) override
 
bool ImportSizes(PNS::SIZES_SETTINGS &aSizes, PNS::ITEM *aStartItem, PNS::NET_HANDLE aNet, VECTOR2D aStartPosition) override
 
void SetView(KIGFX::VIEW *aView)
 
void RemoveItem(PNS::ITEM *aItem) override
 
void AddItem(PNS::ITEM *aItem) override
 
void UpdateItem(PNS::ITEM *aItem) override
 
std::map< PAD *, OFFSET > m_fpOffsets
 
int GetNetCode(PNS::NET_HANDLE aNet) const override
 
virtual void SetHostTool(PCB_TOOL_BASE *aTool)
 
void DisplayItem(const PNS::ITEM *aItem, int aClearance, bool aEdit=false, int aFlags=0) override
 
std::unique_ptr< BOARD_COMMIT > m_commit
 
void EraseView() override
 
void HideItem(PNS::ITEM *aItem) override
 
void UpdateNet(PNS::NET_HANDLE aNet) override
 
BOARD_CONNECTED_ITEM * createBoardItem(PNS::ITEM *aItem)
 
void DisplayPathLine(const SHAPE_LINE_CHAIN &aLine, int aImportance) override
 
std::unordered_map< BOARD_ITEM *, EDA_GROUP * > m_itemGroups
 
bool IsItemVisible(const PNS::ITEM *aItem) const override
 
std::unordered_set< BOARD_ITEM * > m_hiddenItems
 
EDA_UNITS GetUnits() const override
 
bool IsAnyLayerVisible(const PNS_LAYER_RANGE &aLayer) const override
 
void modifyBoardItem(PNS::ITEM *aItem)
 
KIGFX::VIEW_GROUP * m_previewItems
 
void DisplayRatline(const SHAPE_LINE_CHAIN &aRatline, PNS::NET_HANDLE aNet) override
 
void SetCommitFlags(int aCommitFlags)
 
std::unordered_map< BOARD_ITEM *, std::vector< BOARD_ITEM * > > m_replacementMap
 
wxString GetNetName(PNS::NET_HANDLE aNet) const override
 
~PNS_KICAD_IFACE() override
 
Represent a contiguous set of PCB layers.
 
Represent a polyline containing arcs as well as line segments: A chain of connected line and/or arc s...
 
Represent a set of closed polygons.
 
Handle a list of polygons defining a copper zone.
 
PCB_LAYER_ID
A quick note on layer IDs:
 
The Cairo implementation of the graphics abstraction layer.
 
Push and Shove diff pair dimensions (gap) settings dialog.
 
VECTOR2< int32_t > VECTOR2I
 
VECTOR2< double > VECTOR2D