22 #ifndef __PNS_KICAD_IFACE_H 23 #define __PNS_KICAD_IFACE_H 25 #include <unordered_set> 69 int StackupHeight(
int aFirstLayer,
int aSecondLayer )
const override;
92 std::unique_ptr<PNS::SOLID>
syncPad(
PAD* aPad );
94 std::unique_ptr<PNS::ARC>
syncArc(
ARC* aArc );
95 std::unique_ptr<PNS::VIA>
syncVia(
VIA* aVia );
void SetHostTool(PCB_TOOL_BASE *aTool)
std::unique_ptr< PNS::VIA > syncVia(VIA *aVia)
Base class for PNS router board items.
void DisplayRatline(const SHAPE_LINE_CHAIN &aRatline, int aColor=-1) override
bool syncTextItem(PNS::NODE *aWorld, EDA_TEXT *aText, PCB_LAYER_ID aLayer)
void SetView(KIGFX::VIEW *aView)
void DisplayItem(const PNS::ITEM *aItem, int aClearance, bool aEdit=false) override
PNS::RULE_RESOLVER * GetRuleResolver() override
Keep the router "world" - i.e.
bool syncGraphicalItem(PNS::NODE *aWorld, PCB_SHAPE *aItem)
The Cairo implementation of the graphics abstraction layer.
void UpdateItem(PNS::ITEM *aItem) override
bool inheritTrackWidth(PNS::ITEM *aItem, int *aInheritedWidth)
PNS::DEBUG_DECORATOR * m_debugDecorator
void UpdateNet(int aNetCode) override
bool IsItemVisible(const PNS::ITEM *aItem) const override
void SetDebugDecorator(PNS::DEBUG_DECORATOR *aDec)
void HideItem(PNS::ITEM *aItem) override
std::unordered_set< BOARD_ITEM * > m_hiddenItems
void DisplayItem(const PNS::ITEM *aItem, int aClearance, bool aEdit=false) override
A mix-in class (via multiple inheritance) that handles texts such as labels, parts,...
Container for display options like enable/disable some optional drawings.
PCB_LAYER_ID
A quick note on layer IDs:
void UpdateNet(int aNetCode) override
Represent a set of closed polygons.
void DisplayRatline(const SHAPE_LINE_CHAIN &aRatline, int aColor=-1) override
std::unique_ptr< BOARD_COMMIT > m_commit
bool IsItemVisible(const PNS::ITEM *aItem) const override
virtual PNS::NODE * GetWorld() const override
PNS::DEBUG_DECORATOR * GetDebugDecorator() override
bool IsFlashedOnLayer(const PNS::ITEM *aItem, int aLayer) const override
Extend VIEW_ITEM by possibility of grouping items into a single object.
KIGFX::VIEW_GROUP * m_previewItems
void UpdateItem(PNS::ITEM *aItem) override
Handle a list of polygons defining a copper zone.
void SyncWorld(PNS::NODE *aWorld) override
int StackupHeight(int aFirstLayer, int aSecondLayer) const override
void AddItem(PNS::ITEM *aItem) override
const PCB_DISPLAY_OPTIONS * m_dispOptions
void SetBoard(BOARD *aBoard)
void EraseView() override
std::unique_ptr< PNS::ARC > syncArc(ARC *aArc)
Information pertinent to a Pcbnew printed circuit board.
void RemoveItem(PNS::ITEM *aItem) override
void AddItem(PNS::ITEM *aItem) override
void EraseView() override
bool IsFlashedOnLayer(const PNS::ITEM *aItem, int aLayer) const override
PNS_PCBNEW_RULE_RESOLVER * m_ruleResolver
Hold a (potentially large) number of VIEW_ITEMs and renders them on a graphics device provided by the...
Push and Shove diff pair dimensions (gap) settings dialog.
bool ImportSizes(PNS::SIZES_SETTINGS &aSizes, PNS::ITEM *aStartItem, int aNet) override
void SetDisplayOptions(const PCB_DISPLAY_OPTIONS *aDispOptions)
std::map< PAD *, OFFSET > m_fpOffsets
std::unique_ptr< PNS::SEGMENT > syncTrack(TRACK *aTrack)
Represent a contiguous set of PCB layers.
void RemoveItem(PNS::ITEM *aItem) override
std::unique_ptr< PNS::SOLID > syncPad(PAD *aPad)
bool syncZone(PNS::NODE *aWorld, ZONE *aZone, SHAPE_POLY_SET *aBoardOutline)
void HideItem(PNS::ITEM *aItem) override
bool IsAnyLayerVisible(const LAYER_RANGE &aLayer) const override
bool IsAnyLayerVisible(const LAYER_RANGE &aLayer) const override