20#ifndef PCBNEW_LENGTH_DELAY_CALCULATION_ITEM_H
21#define PCBNEW_LENGTH_DELAY_CALCULATION_ITEM_H
Information pertinent to a Pcbnew printed circuit board.
Lightweight class which holds a pad, via, or a routed trace outline.
const PCB_VIA * m_via
A proxied PCB_VIA object. Set to nullptr if not proxying a VIA.
MERGE_STATUS GetMergeStatus() const
Gets the MERGE_STATUS of this item.
void SetLine(const SHAPE_LINE_CHAIN &aLine)
Sets the source SHAPE_LINE_CHAIN of this item.
void SetVia(const PCB_VIA *aVia)
Sets the VIA associated with this item.
TYPE
The type of routing object this item proxies.
TYPE Type() const
Gets the routing item type.
int GetWidth() const
Gets the line width.
const PCB_VIA * GetVia() const
Gets the VIA associated with this item.
const NETCLASS * m_netClass
The net class of the object.
PCB_LAYER_ID m_layerStart
The start board layer for the proxied object.
std::tuple< PCB_LAYER_ID, PCB_LAYER_ID > GetLayers() const
Gets the upper and lower layers for the proxied item.
void SetPad(const PAD *aPad)
Sets the parent PAD associated with this item.
int m_width
The width of a line segment.
void SetMergeStatus(const MERGE_STATUS aStatus)
Sets the MERGE_STATUS of this item.
SHAPE_LINE_CHAIN m_line
A proxied SHAPE_LINE_CHAIN object. Line is empty if not proxying a SHAPE_LINE_CHAIN.
const NETCLASS * GetEffectiveNetClass() const
Returns the effective net class for the item.
TYPE m_type
The routing object type of the proxied parent.
void SetWidth(const int aWidth)
Sets the line width.
SHAPE_LINE_CHAIN & GetLine() const
Gets the SHAPE_LINE_CHAIN associated with this item.
PCB_LAYER_ID GetEndLayer() const
Gets the end board layer for the proxied item.
MERGE_STATUS m_mergeStatus
Flags whether this item has already been merged with another.
const PAD * GetPad() const
Gets the parent PAD associated with this item.
PCB_LAYER_ID GetStartLayer() const
Gets the start board layer for the proxied item.
void SetEffectiveNetClass(const NETCLASS *aNetClass)
Sets the effective net class for the item.
void CalculateViaLayers(const BOARD *aBoard)
Calculates active via payers for a proxied VIA object.
PCB_LAYER_ID m_layerEnd
The end board layer for the proxied object.
void SetLayers(const PCB_LAYER_ID aStart, const PCB_LAYER_ID aEnd=PCB_LAYER_ID::UNDEFINED_LAYER)
Sets the first and last layers associated with this item.
const PAD * m_pad
A proxied PAD object. Set to nullptr if not proxying a PAD.
MERGE_STATUS
Whether this item is UNMERGED, it has been merged and should be used (MERGED_IN_USE),...
A collection of nets and the parameters used to route or test these nets.
Represent a polyline containing arcs as well as line segments: A chain of connected line and/or arc s...
bool IsCopperLayerLowerThan(PCB_LAYER_ID aLayerA, PCB_LAYER_ID aLayerB)
Return true if copper aLayerA is placed lower than aLayerB, false otherwise.
PCB_LAYER_ID
A quick note on layer IDs:
Declarations of types for tracks and vias.