24#ifndef PCB_NEW_TIME_DOMAIN_PARAMETERS_USER_DEFINED_H
25#define PCB_NEW_TIME_DOMAIN_PARAMETERS_USER_DEFINED_H
52 std::vector<int64_t>
GetPropagationDelays(
const std::vector<LENGTH_DELAY_CALCULATION_ITEM>& aItems,
Information pertinent to a Pcbnew printed circuit board.
Lightweight class which holds a pad, via, or a routed trace outline.
Class which calculates lengths (and associated routing statistics) in a BOARD context.
Represent a polyline containing arcs as well as line segments: A chain of connected line and/or arc s...
Interface for providers of time domain parameter information.
int64_t GetPropagationDelay(const LENGTH_DELAY_CALCULATION_ITEM &aItem, const TIME_DOMAIN_GEOMETRY_CONTEXT &aContext) override
Gets the propagation delay (in internal units) for the given item in the given geometry context.
const DELAY_PROFILE * GetDelayProfile(const wxString &aDelayProfileName)
Gets the tuning profile pointer for the given tuning profile name.
void OnSettingsChanged() override
Event called by the length and time calculation architecture if netclass definitions have changed.
std::map< wxString, const DELAY_PROFILE * > m_delayProfilesCache
Cached map of tuning profile names to per-layer time domain parameters.
TIME_DOMAIN_PARAMETERS_USER_DEFINED(BOARD *aBoard, LENGTH_DELAY_CALCULATION *aCalculation)
int64_t GetTrackLengthForPropagationDelay(int64_t aDelay, const TIME_DOMAIN_GEOMETRY_CONTEXT &aContext) override
Gets the track length (in internal distance units) required for the given propagation delay (in inter...
std::map< wxString, std::map< VIA_OVERRIDE_CACHE_KEY, int64_t > > m_viaOverridesCache
Cached per-tuning profile via overrides.
int64_t CalculatePropagationDelayForShapeLineChain(const SHAPE_LINE_CHAIN &aShape, const TIME_DOMAIN_GEOMETRY_CONTEXT &aContext) override
Gets the propagation delay for the given shape line chain.
int64_t getPropagationDelay(const LENGTH_DELAY_CALCULATION_ITEM &aItem, const TIME_DOMAIN_GEOMETRY_CONTEXT &aContext, const DELAY_PROFILE *aDelayProfile) const
Gets the propagation delay (in internal units) for the given item in the given geometry context,...
std::vector< int64_t > GetPropagationDelays(const std::vector< LENGTH_DELAY_CALCULATION_ITEM > &aItems, const TIME_DOMAIN_GEOMETRY_CONTEXT &aContext) override
Gets the propagation delays (in internal units) for the given items in the given geometry context.
PCB_LAYER_ID
A quick note on layer IDs:
Represents a single line in the time domain configuration net class configuration grid.
A data structure to contain basic geometry data which can affect signal propagation calculations.
Cache key for use with std::map.
bool operator<(const VIA_OVERRIDE_CACHE_KEY &aOther) const