26#ifndef BOARD_CONNECTED_ITEM_H 
   27#define BOARD_CONNECTED_ITEM_H 
   55        if( aItem == 
nullptr )
 
   58        switch( aItem->
Type() )
 
   99    void UnpackNet( 
const kiapi::board::types::Net& aProto );
 
  100    void PackNet( kiapi::board::types::Net* aProto ) 
const;
 
  118    bool SetNetCode( 
int aNetCode, 
bool aNoAssert );
 
  163        return std::optional<int>();
 
 
  173        return std::optional<int>();
 
 
  184        return std::optional<int>();
 
 
 
virtual std::optional< int > GetClearanceOverrides(wxString *aSource) const
Return any clearance overrides set in the "classic" (ie: pre-rule) system.
 
wxString GetNetnameMsg() const
 
bool GetTeardropPreferZoneConnections() const
 
virtual NETCLASS * GetEffectiveNetClass() const
Return the NETCLASS for this item.
 
double GetTeardropBestLengthRatio() const
 
const TEARDROP_PARAMETERS & GetTeardropParams() const
 
bool SetNetCode(int aNetCode, bool aNoAssert)
Set net using a net code.
 
virtual std::optional< int > GetLocalClearance() const
Return any local clearances set in the "classic" (ie: pre-rule) system.
 
void SetTeardropBestWidthRatio(double aRatio)
 
wxString GetNetname() const
 
void SetTeardropMaxTrackWidth(double aRatio)
 
bool GetLocalRatsnestVisible() const
 
int GetTeardropMaxLength() const
 
BOARD_CONNECTED_ITEM(BOARD_ITEM *aParent, KICAD_T idtype)
 
void SetLocalRatsnestVisible(bool aVisible)
 
void SetNetCode(int aNetCode)
 
void PackNet(kiapi::board::types::Net *aProto) const
 
double GetTeardropMaxTrackWidth() const
 
static bool ClassOf(const EDA_ITEM *aItem)
Returns information if the object is derived from BOARD_CONNECTED_ITEM.
 
bool GetTeardropsEnabled() const
 
TEARDROP_PARAMETERS m_teardropParams
Not all BOARD_CONNECTED_ITEMs support teardrops, but we want those that do to share a single section ...
 
NETINFO_ITEM * GetNet() const
Return #NET_INFO object for a given item.
 
bool GetTeardropCurved() const
 
void SetTeardropAllowSpanTwoTracks(bool aAllow)
 
const wxString & GetDisplayNetname() const
 
const wxString & GetShortNetname() const
 
void SetNet(NETINFO_ITEM *aNetInfo)
Set a NET_INFO object for the item.
 
virtual std::optional< int > GetLocalClearance(wxString *aSource) const
Return any local clearances set in the "classic" (ie: pre-rule) system.
 
bool IsConnected() const override
Returns information if the object is derived from BOARD_CONNECTED_ITEM.
 
double GetTeardropBestWidthRatio() const
 
wxString GetNetClassName() const
Returns the name of the effective netclass.
 
void SetTeardropCurved(bool aCurve)
 
NETINFO_ITEM * m_netinfo
Store all information about the net that item belongs to.
 
virtual int GetOwnClearance(PCB_LAYER_ID aLayer, wxString *aSource=nullptr) const
Return an item's "own" clearance in internal units.
 
void SetTeardropMaxWidth(int aMaxWidth)
 
int GetTeardropMaxWidth() const
 
void SetTeardropPreferZoneConnections(bool aPrefer)
 
void SetTeardropBestLengthRatio(double aRatio)
 
void SetTeardropMaxLength(int aMaxLength)
 
void UnpackNet(const kiapi::board::types::Net &aProto)
Assigns a net to this item from an API message.
 
bool GetTeardropAllowSpanTwoTracks() const
 
TEARDROP_PARAMETERS & GetTeardropParams()
 
bool m_localRatsnestVisible
 
void SetTeardropsEnabled(bool aEnable)
 
BOARD_ITEM(BOARD_ITEM *aParent, KICAD_T idtype, PCB_LAYER_ID aLayer=F_Cu)
 
KICAD_T Type() const
Returns the type of object.
 
EDA_ITEM(EDA_ITEM *parent, KICAD_T idType, bool isSCH_ITEM=false, bool isBOARD_ITEM=false)
 
A collection of nets and the parameters used to route or test these nets.
 
Handle the data for a net.
 
TEARDROP_PARAMETARS is a helper class to handle parameters needed to build teardrops for a board thes...
 
PCB_LAYER_ID
A quick note on layer IDs:
 
KICAD_T
The set of class identification values stored in EDA_ITEM::m_structType.
 
@ PCB_SHAPE_T
class PCB_SHAPE, a segment not on copper layers
 
@ PCB_VIA_T
class PCB_VIA, a via (like a track segment on a copper layer)
 
@ PCB_ZONE_T
class ZONE, a copper pour area
 
@ PCB_PAD_T
class PAD, a pad in a footprint
 
@ PCB_ARC_T
class PCB_ARC, an arc track segment on a copper layer
 
@ PCB_TRACE_T
class PCB_TRACK, a track segment (segment on a copper layer)