24#ifndef PCBNEW_LENGTH_DELAY_CALCULATION_ITEM_H 
   25#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.
 
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.
 
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.
 
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: