KiCad PCB EDA Suite
Loading...
Searching...
No Matches
TIME_DOMAIN_PARAMETERS_IFACE Class Referenceabstract

Interface for providers of time domain parameter information. More...

#include <time_domain_parameters_iface.h>

Inheritance diagram for TIME_DOMAIN_PARAMETERS_IFACE:
TIME_DOMAIN_PARAMETERS_USER_DEFINED

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

BOARDm_board
 The board all calculations are for.
 
LENGTH_DELAY_CALCULATIONm_lengthCalculation
 The parent length / delay calculation object.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ TIME_DOMAIN_PARAMETERS_IFACE()

TIME_DOMAIN_PARAMETERS_IFACE::TIME_DOMAIN_PARAMETERS_IFACE ( BOARD * aBoard,
LENGTH_DELAY_CALCULATION * aCalculation )
inlineexplicit

◆ ~TIME_DOMAIN_PARAMETERS_IFACE()

virtual TIME_DOMAIN_PARAMETERS_IFACE::~TIME_DOMAIN_PARAMETERS_IFACE ( )
virtualdefault

Member Function Documentation

◆ CalculatePropagationDelayForShapeLineChain()

virtual int64_t TIME_DOMAIN_PARAMETERS_IFACE::CalculatePropagationDelayForShapeLineChain ( const SHAPE_LINE_CHAIN & aShape,
const TIME_DOMAIN_GEOMETRY_CONTEXT & aContext )
pure virtual

Gets the propagation delay for the given shape line chain.

Parameters
aShapeis the shape to calculate delay for
aContextis the geometry context for which to query to propagation delay

Implemented in TIME_DOMAIN_PARAMETERS_USER_DEFINED.

◆ GetPropagationDelay()

virtual int64_t TIME_DOMAIN_PARAMETERS_IFACE::GetPropagationDelay ( const LENGTH_DELAY_CALCULATION_ITEM & aItem,
const TIME_DOMAIN_GEOMETRY_CONTEXT & aContext )
pure virtual

Gets the propagation delay (in internal units) for the given item in the given geometry context.

Parameters
aItemthe board item to query propagation delay for
aContextis the geometry context in which to query to propagation delay

Implemented in TIME_DOMAIN_PARAMETERS_USER_DEFINED.

◆ GetPropagationDelays()

virtual std::vector< int64_t > TIME_DOMAIN_PARAMETERS_IFACE::GetPropagationDelays ( const std::vector< LENGTH_DELAY_CALCULATION_ITEM > & aItems,
const TIME_DOMAIN_GEOMETRY_CONTEXT & aContext )
pure virtual

Gets the propagation delays (in internal units) for the given items in the given geometry context.

Parameters
aItemsthe board items to query propagation delay for
aContextthe geometry context in which to query to propagation delay

Implemented in TIME_DOMAIN_PARAMETERS_USER_DEFINED.

◆ GetTrackLengthForPropagationDelay()

virtual int64_t TIME_DOMAIN_PARAMETERS_IFACE::GetTrackLengthForPropagationDelay ( int64_t aDelay,
const TIME_DOMAIN_GEOMETRY_CONTEXT & aContext )
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.

Parameters
aContextthe geometry context in which to query to propagation delay
aDelaythe propagation delay for which a length should be calculated

Implemented in TIME_DOMAIN_PARAMETERS_USER_DEFINED.

◆ OnSettingsChanged()

virtual void TIME_DOMAIN_PARAMETERS_IFACE::OnSettingsChanged ( )
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.

◆ OnStackupChanged()

virtual void TIME_DOMAIN_PARAMETERS_IFACE::OnStackupChanged ( )
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.

Member Data Documentation

◆ m_board

BOARD* TIME_DOMAIN_PARAMETERS_IFACE::m_board
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().

◆ m_lengthCalculation

LENGTH_DELAY_CALCULATION* TIME_DOMAIN_PARAMETERS_IFACE::m_lengthCalculation
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().


The documentation for this class was generated from the following file: