KiCad PCB EDA Suite
Loading...
Searching...
No Matches
RECTWAVEGUIDE_UI Class Reference

UI wrapper for the rectangular waveguide calculator. More...

#include <rectwaveguide.h>

Inheritance diagram for RECTWAVEGUIDE_UI:
TRANSLINE

Public Member Functions

 RECTWAVEGUIDE_UI ()
 
void setProperty (enum PRMS_ID aPrmId, double aValue)
 
double getProperty (enum PRMS_ID aPrmId)
 
void SetExtraParameter (enum EXTRA_PRMS_ID aPrmId, double aValue)
 Setter for panel-level parameters that are shared across every calculator type.
 
void checkProperties ()
 @function checkProperties
 
void setResult (int, double, const char *)
 
void setResult (int, const char *)
 
bool isSelected (enum PRMS_ID aPrmId)
 
void Init ()
 
virtual void synthesize ()
 
void analyze ()
 

Public Attributes

const char * m_Name
 
KIGFX::COLOR4D errCol = KIGFX::COLOR4D( 1, 0.63, 0.63, 1 )
 
KIGFX::COLOR4D warnCol = KIGFX::COLOR4D( 1, 1, 0.57, 1 )
 
KIGFX::COLOR4D okCol = KIGFX::COLOR4D( 1, 1, 1, 1 )
 

Protected Member Functions

double skin_depth ()
 @function skin_depth calculate skin depth
 
void setErrorLevel (PRMS_ID, char)
 @function setErrorLevel
 
void pushSoldermaskParameters (TRANSLINE_CALCULATION_BASE &aCalc, bool aIncludeFillsGaps=false) const
 Push the mask-eligible subset of soldermask parameters (PRESENT, THICKNESS, EPSILONR, TAND) into the supplied calculator.
 

Static Protected Member Functions

static char convertParameterStatusCode (TRANSLINE_STATUS aStatus)
 Converts a TRANSLINE_PARAMETER status to a PCB Calculation status.
 

Protected Attributes

double m_parameters [EXTRA_PRMS_COUNT]
 

Private Member Functions

void getProperties () override
 @function getProperties
 
void show_results () override
 Shows results.
 
void showAnalyze () override
 Shows synthesis results and checks for errors / warnings.
 
void showSynthesize () override
 Shows analysis results and checks for errors / warnings.
 
void calcAnalyze () override
 Computation for analysis.
 
void calcSynthesize () override
 Computation for synthesis.
 

Private Attributes

RECTWAVEGUIDE m_calc
 

Detailed Description

UI wrapper for the rectangular waveguide calculator.

Shuttles parameters between the legacy pcb_calculator UI array and the shared RECTWAVEGUIDE math core, and surfaces the TE / TM mode strings the core produces as rows 4 and 5 of the results panel.

Definition at line 42 of file pcb_calculator/transline/rectwaveguide.h.

Constructor & Destructor Documentation

◆ RECTWAVEGUIDE_UI()

RECTWAVEGUIDE_UI::RECTWAVEGUIDE_UI ( )

Member Function Documentation

◆ analyze()

void TRANSLINE::analyze ( )
inherited

◆ calcAnalyze()

void RECTWAVEGUIDE_UI::calcAnalyze ( )
overrideprivatevirtual

Computation for analysis.

Reimplemented from TRANSLINE.

Definition at line 61 of file pcb_calculator/transline/rectwaveguide.cpp.

References m_calc.

◆ calcSynthesize()

void RECTWAVEGUIDE_UI::calcSynthesize ( )
overrideprivatevirtual

Computation for synthesis.

Reimplemented from TRANSLINE.

Definition at line 67 of file pcb_calculator/transline/rectwaveguide.cpp.

References DEFAULT, and m_calc.

◆ checkProperties()

void TRANSLINE::checkProperties ( )
inherited

@function checkProperties

Checks the input parameters (ie: negative length). Does not check for incompatibility between values as this depends on the line shape.

Definition at line 168 of file transline.cpp.

References EPSILONR_PRM, FREQUENCY_PRM, H_PRM, H_T_PRM, m_parameters, MUR_PRM, MURC_PRM, RHO_PRM, setErrorLevel(), STRIPLINE_A_PRM, T_PRM, TAND_PRM, TRANSLINE_WARNING, TWISTEDPAIR_EPSILONR_ENV_PRM, and TWISTEDPAIR_TWIST_PRM.

Referenced by analyze(), and synthesize().

◆ convertParameterStatusCode()

◆ getProperties()

void RECTWAVEGUIDE_UI::getProperties ( )
overrideprivatevirtual

◆ getProperty()

double TRANSLINE::getProperty ( enum PRMS_ID aPrmId)
inherited

Definition at line 139 of file transline.cpp.

References GetPropertyInDialog().

Referenced by getProperties().

◆ Init()

◆ isSelected()

◆ pushSoldermaskParameters()

void TRANSLINE::pushSoldermaskParameters ( TRANSLINE_CALCULATION_BASE & aCalc,
bool aIncludeFillsGaps = false ) const
protectedinherited

Push the mask-eligible subset of soldermask parameters (PRESENT, THICKNESS, EPSILONR, TAND) into the supplied calculator.

Callers that need the CPW-only FILLS_GAPS flag pass aIncludeFillsGaps = true. Mask-ineligible calculators (stripline, coax, waveguide, twisted pair) do not override GetSoldermaskFillingG so these writes are harmless no-ops on those backends; this helper is purely a deduplication aid for the four eligible subclasses (microstrip, c_microstrip, coplanar).

Definition at line 313 of file transline.cpp.

References m_parameters, TRANSLINE_CALCULATION_BASE::SetParameter(), SOLDERMASK_EPSILONR, SOLDERMASK_EPSILONR_PRM, SOLDERMASK_FILLS_GAPS, SOLDERMASK_FILLS_GAPS_PRM, SOLDERMASK_PRESENT, SOLDERMASK_PRESENT_PRM, SOLDERMASK_TAND, SOLDERMASK_TAND_PRM, SOLDERMASK_THICKNESS, and SOLDERMASK_THICKNESS_PRM.

Referenced by C_MICROSTRIP::getProperties(), COPLANAR_UI::getProperties(), and MICROSTRIP_UI::getProperties().

◆ setErrorLevel()

◆ SetExtraParameter()

void TRANSLINE::SetExtraParameter ( enum EXTRA_PRMS_ID aPrmId,
double aValue )
inlineinherited

Setter for panel-level parameters that are shared across every calculator type.

Definition at line 98 of file transline.h.

References m_parameters.

◆ setProperty()

◆ setResult() [1/2]

void TRANSLINE::setResult ( int line,
const char * text )
inherited

Definition at line 126 of file transline.cpp.

References SetResultInDialog(), and text.

◆ setResult() [2/2]

◆ show_results()

void RECTWAVEGUIDE_UI::show_results ( )
overrideprivatevirtual

Shows results.

Reimplemented from TRANSLINE.

Definition at line 112 of file pcb_calculator/transline/rectwaveguide.cpp.

References EPSILON_EFF, LOSS_CONDUCTOR, LOSS_DIELECTRIC, m_calc, and TRANSLINE::setResult().

◆ showAnalyze()

void RECTWAVEGUIDE_UI::showAnalyze ( )
overrideprivatevirtual

Shows synthesis results and checks for errors / warnings.

Reimplemented from TRANSLINE.

Definition at line 73 of file pcb_calculator/transline/rectwaveguide.cpp.

References ANG_L, ANG_L_PRM, TRANSLINE::convertParameterStatusCode(), m_calc, PHYS_A_PRM, PHYS_B_PRM, PHYS_LEN, PHYS_LEN_PRM, PHYS_S, PHYS_WIDTH, TRANSLINE::setErrorLevel(), TRANSLINE::setProperty(), Z0, and Z0_PRM.

◆ showSynthesize()

void RECTWAVEGUIDE_UI::showSynthesize ( )
overrideprivatevirtual

◆ skin_depth()

double TRANSLINE::skin_depth ( )
protectedinherited

@function skin_depth calculate skin depth

$ \frac{1}{\sqrt{ \pi \cdot f \cdot \mu \cdot \sigma }} $

Definition at line 267 of file transline.cpp.

References FREQUENCY_PRM, m_parameters, M_PI, MU0, MURC_PRM, and SIGMA_PRM.

Referenced by getProperties().

◆ synthesize()

void TRANSLINE::synthesize ( )
virtualinherited

Member Data Documentation

◆ errCol

KIGFX::COLOR4D TRANSLINE::errCol = KIGFX::COLOR4D( 1, 0.63, 0.63, 1 )
inherited

Definition at line 137 of file transline.h.

Referenced by setErrorLevel().

◆ m_calc

RECTWAVEGUIDE RECTWAVEGUIDE_UI::m_calc
private

◆ m_Name

◆ m_parameters

◆ okCol

KIGFX::COLOR4D TRANSLINE::okCol = KIGFX::COLOR4D( 1, 1, 1, 1 )
inherited

Definition at line 139 of file transline.h.

Referenced by Init(), and setErrorLevel().

◆ warnCol

KIGFX::COLOR4D TRANSLINE::warnCol = KIGFX::COLOR4D( 1, 1, 0.57, 1 )
inherited

Definition at line 138 of file transline.h.

Referenced by setErrorLevel().


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