KiCad PCB EDA Suite
|
Interface for providers of time domain parameter information. More...
#include <time_domain_parameters_iface.h>
Public Member Functions | |
TIME_DOMAIN_PARAMETERS_IFACE (BOARD *aBoard, LENGTH_DELAY_CALCULATION *aCalculation) | |
virtual | ~TIME_DOMAIN_PARAMETERS_IFACE ()=default |
virtual void | OnStackupChanged () |
Event called by the length and time calculation architecture if the board stackup has changed. | |
virtual void | OnSettingsChanged () |
Event called by the length and time calculation architecture if netclass definitions have changed. | |
virtual std::vector< int64_t > | GetPropagationDelays (const std::vector< LENGTH_DELAY_CALCULATION_ITEM > &aItems, const TIME_DOMAIN_GEOMETRY_CONTEXT &aContext)=0 |
Gets the propagation delays (in internal units) for the given items in the given geometry context. | |
virtual int64_t | GetPropagationDelay (const LENGTH_DELAY_CALCULATION_ITEM &aItem, const TIME_DOMAIN_GEOMETRY_CONTEXT &aContext)=0 |
Gets the propagation delay (in internal units) for the given item in the given geometry context. | |
virtual int64_t | GetTrackLengthForPropagationDelay (int64_t aDelay, const TIME_DOMAIN_GEOMETRY_CONTEXT &aContext)=0 |
Gets the track length (in internal distance units) required for the given propagation delay (in internal time units). | |
virtual int64_t | CalculatePropagationDelayForShapeLineChain (const SHAPE_LINE_CHAIN &aShape, const TIME_DOMAIN_GEOMETRY_CONTEXT &aContext)=0 |
Gets the propagation delay for the given shape line chain. | |
Protected Attributes | |
BOARD * | m_board |
The board all calculations are for. | |
LENGTH_DELAY_CALCULATION * | m_lengthCalculation |
The parent length / delay calculation object. | |
Interface for providers of time domain parameter information.
This interface is consumed by the LENGTH_TIME_CALCULATOR object to convert space-domain physical layout informaton (e.g. track lengths) in to time-domain propagation information.
Definition at line 59 of file time_domain_parameters_iface.h.
|
inlineexplicit |
Definition at line 62 of file time_domain_parameters_iface.h.
References m_board, and m_lengthCalculation.
Referenced by TIME_DOMAIN_PARAMETERS_USER_DEFINED::TIME_DOMAIN_PARAMETERS_USER_DEFINED().
|
virtualdefault |
|
pure virtual |
Gets the propagation delay for the given shape line chain.
aShape | is the shape to calculate delay for |
aContext | is the geometry context for which to query to propagation delay |
Implemented in TIME_DOMAIN_PARAMETERS_USER_DEFINED.
|
pure virtual |
Gets the propagation delay (in internal units) for the given item in the given geometry context.
aItem | the board item to query propagation delay for |
aContext | is the geometry context in which to query to propagation delay |
Implemented in TIME_DOMAIN_PARAMETERS_USER_DEFINED.
|
pure virtual |
Gets the propagation delays (in internal units) for the given items in the given geometry context.
aItems | the board items to query propagation delay for |
aContext | the geometry context in which to query to propagation delay |
Implemented in TIME_DOMAIN_PARAMETERS_USER_DEFINED.
|
pure virtual |
Gets the track length (in internal distance units) required for the given propagation delay (in internal time units).
The track length should be calculated with the given geometry context.
aContext | the geometry context in which to query to propagation delay |
aDelay | the propagation delay for which a length should be calculated |
Implemented in TIME_DOMAIN_PARAMETERS_USER_DEFINED.
|
inlinevirtual |
Event called by the length and time calculation architecture if netclass definitions have changed.
This can be used to invalidate any calculation / simulation caches.
Reimplemented in TIME_DOMAIN_PARAMETERS_USER_DEFINED.
Definition at line 79 of file time_domain_parameters_iface.h.
|
inlinevirtual |
Event called by the length and time calculation architecture if the board stackup has changed.
This can be used to invalidate any calculation / simulation caches.
Definition at line 73 of file time_domain_parameters_iface.h.
|
protected |
The board all calculations are for.
Definition at line 120 of file time_domain_parameters_iface.h.
Referenced by TIME_DOMAIN_PARAMETERS_USER_DEFINED::rebuildCaches(), and TIME_DOMAIN_PARAMETERS_IFACE().
|
protected |
The parent length / delay calculation object.
Definition at line 123 of file time_domain_parameters_iface.h.
Referenced by TIME_DOMAIN_PARAMETERS_USER_DEFINED::getPropagationDelay(), and TIME_DOMAIN_PARAMETERS_IFACE().