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

A collection of nets and the parameters used to route or test these nets. More...

#include <netclass.h>

Inheritance diagram for NETCLASS:
SERIALIZABLE

Public Member Functions

 NETCLASS (const wxString &aName, bool aInitWithDefaults=true)
 Create a NETCLASS instance with aName.
 
 ~NETCLASS ()
 
 NETCLASS (const NETCLASS &)=delete
 
NETCLASSoperator= (const NETCLASS &)=delete
 
bool operator== (const NETCLASS &other) const
 
wxString GetClass () const
 
void Serialize (google::protobuf::Any &aContainer) const override
 Serializes this object to the given Any message.
 
bool Deserialize (const google::protobuf::Any &aContainer) override
 Deserializes the given protobuf message into this object.
 
void ResetParents ()
 Resets all parent fields to point to this netclass.
 
void ResetParameters ()
 Resets all parameters (except Name and Description)
 
const std::vector< NETCLASS * > & GetConstituentNetclasses () const
 Gets the netclasses which make up this netclass.
 
void SetConstituentNetclasses (std::vector< NETCLASS * > &&constituents)
 Sets the netclasses which make up this netclass.
 
bool ContainsNetclassWithName (const wxString &netclass) const
 Determines if the given netclass name is a constituent of this (maybe aggregate) netclass.
 
bool IsDefault () const
 @ brief Determines if this is marked as the default netclass
 
void SetName (const wxString &aName)
 Set the name of this netclass.
 
const wxString GetName () const
 Gets the name of this (maybe aggregate) netclass in a format for internal usage or for export to external tools / netlists.
 
const wxString GetHumanReadableName () const
 Gets the consolidated name of this netclass (which may be an aggregate).
 
const wxString & GetDescription () const
 
void SetDescription (const wxString &aDesc)
 
bool HasClearance () const
 
int GetClearance () const
 
std::optional< int > GetClearanceOpt () const
 
void SetClearance (int aClearance)
 
void SetClearance (std::optional< int > aClearance)
 
void SetClearanceParent (NETCLASS *parent)
 
NETCLASSGetClearanceParent () const
 
bool HasTrackWidth () const
 
int GetTrackWidth () const
 
std::optional< int > GetTrackWidthOpt () const
 
void SetTrackWidth (int aWidth)
 
void SetTrackWidth (std::optional< int > aWidth)
 
void SetTrackWidthParent (NETCLASS *parent)
 
NETCLASSGetTrackWidthParent () const
 
bool HasViaDiameter () const
 
int GetViaDiameter () const
 
std::optional< int > GetViaDiameterOpt () const
 
void SetViaDiameter (int aDia)
 
void SetViaDiameter (std::optional< int > aDia)
 
void SetViaDiameterParent (NETCLASS *parent)
 
NETCLASSGetViaDiameterParent () const
 
int HasViaDrill () const
 
int GetViaDrill () const
 
std::optional< int > GetViaDrillOpt () const
 
void SetViaDrill (int aSize)
 
void SetViaDrill (std::optional< int > aSize)
 
void SetViaDrillParent (NETCLASS *parent)
 
NETCLASSGetViaDrillParent () const
 
bool HasuViaDiameter () const
 
int GetuViaDiameter () const
 
std::optional< int > GetuViaDiameterOpt () const
 
void SetuViaDiameter (int aSize)
 
void SetuViaDiameter (std::optional< int > aSize)
 
void SetuViaDiameterParent (NETCLASS *parent)
 
NETCLASSGetuViaDiameterParent () const
 
bool HasuViaDrill () const
 
int GetuViaDrill () const
 
std::optional< int > GetuViaDrillOpt () const
 
void SetuViaDrill (int aSize)
 
void SetuViaDrill (std::optional< int > aSize)
 
void SetuViaDrillParent (NETCLASS *parent)
 
NETCLASSGetuViaDrillParent () const
 
bool HasDiffPairWidth () const
 
int GetDiffPairWidth () const
 
std::optional< int > GetDiffPairWidthOpt () const
 
void SetDiffPairWidth (int aSize)
 
void SetDiffPairWidth (std::optional< int > aSize)
 
void SetDiffPairWidthParent (NETCLASS *parent)
 
NETCLASSGetDiffPairWidthParent () const
 
bool HasDiffPairGap () const
 
int GetDiffPairGap () const
 
std::optional< int > GetDiffPairGapOpt () const
 
void SetDiffPairGap (int aSize)
 
void SetDiffPairGap (std::optional< int > aSize)
 
void SetDiffPairGapParent (NETCLASS *parent)
 
NETCLASSGetDiffPairGapParent () const
 
bool HasDiffPairViaGap () const
 
int GetDiffPairViaGap () const
 
std::optional< int > GetDiffPairViaGapOpt () const
 
void SetDiffPairViaGap (int aSize)
 
void SetDiffPairViaGap (std::optional< int > aSize)
 
void SetDiffPairViaGapParent (NETCLASS *parent)
 
NETCLASSGetDiffPairViaGapParent () const
 
bool HasPcbColor () const
 
COLOR4D GetPcbColor (bool aIsForSave=false) const
 
void SetPcbColor (const COLOR4D &aColor)
 
void SetPcbColorParent (NETCLASS *parent)
 
NETCLASSGetPcbColorParent () const
 
bool HasWireWidth () const
 
int GetWireWidth () const
 
std::optional< int > GetWireWidthOpt () const
 
void SetWireWidth (int aWidth)
 
void SetWireWidth (std::optional< int > aWidth)
 
void SetWireWidthParent (NETCLASS *parent)
 
NETCLASSGetWireWidthParent () const
 
bool HasBusWidth () const
 
int GetBusWidth () const
 
std::optional< int > GetBusWidthOpt () const
 
void SetBusWidth (int aWidth)
 
void SetBusWidth (std::optional< int > aWidth)
 
void SetBusWidthParent (NETCLASS *parent)
 
NETCLASSGetBusWidthParent () const
 
COLOR4D GetSchematicColor (bool aIsForSave=false) const
 
void SetSchematicColor (COLOR4D aColor)
 
void SetSchematicColorParent (NETCLASS *parent)
 
NETCLASSGetSchematicColorParent () const
 
bool HasLineStyle () const
 
int GetLineStyle () const
 
std::optional< int > GetLineStyleOpt () const
 
void SetLineStyle (int aStyle)
 
void SetLineStyle (std::optional< int > aStyle)
 
void SetLineStyleParent (NETCLASS *parent)
 
NETCLASSGetLineStyleParent () const
 
void SetPriority (int aPriority)
 
int GetPriority () const
 
bool HasDelayProfile () const
 
void SetDelayProfile (const wxString &aDelayProfile)
 
wxString GetDelayProfile () const
 
void SetDelayProfileParent (NETCLASS *aParent)
 
NETCLASSGetDelayProfileParent () const
 

Static Public Attributes

static const char Default [] = "Default"
 the name of the default NETCLASS
 

Protected Attributes

bool m_isDefault
 Mark if this instance is the default netclass.
 
std::vector< NETCLASS * > m_constituents
 NETCLASSes contributing to an aggregate.
 
wxString m_Name
 Name of the net class.
 
int m_Priority
 The priority for multiple netclass resolution.
 
wxString m_Description
 what this NETCLASS is for.
 
std::optional< int > m_Clearance
 clearance when routing
 
std::optional< int > m_TrackWidth
 track width used to route nets
 
std::optional< int > m_ViaDia
 via diameter
 
std::optional< int > m_ViaDrill
 via drill hole diameter
 
std::optional< int > m_uViaDia
 microvia diameter
 
std::optional< int > m_uViaDrill
 microvia drill hole diameter
 
std::optional< int > m_diffPairWidth
 
std::optional< int > m_diffPairGap
 
std::optional< int > m_diffPairViaGap
 
std::optional< int > m_wireWidth
 
std::optional< int > m_busWidth
 
COLOR4D m_schematicColor
 
std::optional< int > m_lineStyle
 
COLOR4D m_pcbColor
 Optional PCB color override for this netclass.
 
wxString m_DelayProfile
 The tuning profile name being used by this netclass.
 
NETCLASSm_clearanceParent
 
NETCLASSm_trackWidthParent
 
NETCLASSm_viaDiameterParent
 
NETCLASSm_viaDrillParent
 
NETCLASSm_uViaDiaParent
 
NETCLASSm_uViaDrillParent
 
NETCLASSm_diffPairWidthParent
 
NETCLASSm_diffPairGapParent
 
NETCLASSm_diffPairViaGapParent
 
NETCLASSm_pcbColorParent
 
NETCLASSm_wireWidthParent
 
NETCLASSm_busWidthParent
 
NETCLASSm_schematicColorParent
 
NETCLASSm_lineStyleParent
 
NETCLASSm_delayProfileParent
 

Detailed Description

A collection of nets and the parameters used to route or test these nets.

Definition at line 44 of file netclass.h.

Constructor & Destructor Documentation

◆ NETCLASS() [1/2]

NETCLASS::NETCLASS ( const wxString & aName,
bool aInitWithDefaults = true )

Create a NETCLASS instance with aName.

The units on the optional parameters are Internal Units (1 nm)

Parameters
aNameis the name of this new netclass.
aInitWithDefaultsif true, initalise the netclass with default values

Definition at line 56 of file netclass.cpp.

References DEFAULT_BUS_WIDTH, DEFAULT_CLEARANCE, DEFAULT_DIFF_PAIR_GAP, DEFAULT_DIFF_PAIR_VIAGAP, DEFAULT_DIFF_PAIR_WIDTH, DEFAULT_LINE_STYLE, DEFAULT_TRACK_WIDTH, DEFAULT_UVIA_DIAMETER, DEFAULT_UVIA_DRILL, DEFAULT_VIA_DIAMETER, DEFAULT_VIA_DRILL, DEFAULT_WIRE_WIDTH, m_constituents, m_isDefault, ResetParents(), SetBusWidth(), SetClearance(), SetDelayProfile(), SetDiffPairGap(), SetDiffPairViaGap(), SetDiffPairWidth(), SetLineStyle(), SetName(), SetPcbColor(), SetPriority(), SetSchematicColor(), SetTrackWidth(), SetuViaDiameter(), SetuViaDrill(), SetViaDiameter(), SetViaDrill(), SetWireWidth(), and COLOR4D::UNSPECIFIED.

Referenced by ContainsNetclassWithName(), GetBusWidthParent(), GetClearanceParent(), GetDelayProfileParent(), GetDiffPairGapParent(), GetDiffPairViaGapParent(), GetDiffPairWidthParent(), GetLineStyleParent(), GetPcbColorParent(), GetSchematicColorParent(), GetTrackWidthParent(), GetuViaDiameterParent(), GetuViaDrillParent(), GetViaDiameterParent(), GetViaDrillParent(), GetWireWidthParent(), NETCLASS(), operator=(), operator==(), Serialize(), SetBusWidthParent(), SetClearanceParent(), SetDelayProfileParent(), SetDiffPairGapParent(), SetDiffPairViaGapParent(), SetDiffPairWidthParent(), SetLineStyleParent(), SetPcbColorParent(), SetSchematicColorParent(), SetTrackWidthParent(), SetuViaDiameterParent(), SetuViaDrillParent(), SetViaDiameterParent(), SetViaDrillParent(), and SetWireWidthParent().

◆ ~NETCLASS()

NETCLASS::~NETCLASS ( )
inline

Definition at line 57 of file netclass.h.

◆ NETCLASS() [2/2]

NETCLASS::NETCLASS ( const NETCLASS & )
delete

References NETCLASS().

Member Function Documentation

◆ ContainsNetclassWithName()

bool NETCLASS::ContainsNetclassWithName ( const wxString & netclass) const

Determines if the given netclass name is a constituent of this (maybe aggregate) netclass.

Definition at line 278 of file netclass.cpp.

References m_constituents, and NETCLASS().

Referenced by DIALOG_CLEANUP_TRACKS_AND_VIAS::doCleanup(), hasNetclassFunc(), DIALOG_GLOBAL_EDIT_TEARDROPS::visitItem(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem().

◆ Deserialize()

bool NETCLASS::Deserialize ( const google::protobuf::Any & aContainer)
overridevirtual

Deserializes the given protobuf message into this object.

Parameters
aContaineris an Any which should have a concrete type matching this object
Returns
true if unpacking and deserialization succeeded

Reimplemented from SERIALIZABLE.

Definition at line 205 of file netclass.cpp.

References m_busWidth, m_Clearance, m_diffPairGap, m_diffPairViaGap, m_diffPairWidth, m_Name, m_pcbColor, m_Priority, m_schematicColor, m_TrackWidth, m_ViaDia, m_ViaDrill, m_wireWidth, SetConstituentNetclasses(), and kiapi::common::UnpackColor().

◆ GetBusWidth()

int NETCLASS::GetBusWidth ( ) const
inline

◆ GetBusWidthOpt()

std::optional< int > NETCLASS::GetBusWidthOpt ( ) const
inline

Definition at line 213 of file netclass.h.

References m_busWidth.

◆ GetBusWidthParent()

NETCLASS * NETCLASS::GetBusWidthParent ( ) const
inline

Definition at line 217 of file netclass.h.

References m_busWidthParent, and NETCLASS().

◆ GetClass()

wxString NETCLASS::GetClass ( ) const
inline

Definition at line 64 of file netclass.h.

◆ GetClearance()

int NETCLASS::GetClearance ( ) const
inline

Definition at line 117 of file netclass.h.

References m_Clearance.

Referenced by DSN::SPECCTRA_DB::exportNETCLASS(), and NET_SETTINGS::makeEffectiveNetclass().

◆ GetClearanceOpt()

std::optional< int > NETCLASS::GetClearanceOpt ( ) const
inline

Definition at line 118 of file netclass.h.

References m_Clearance.

◆ GetClearanceParent()

NETCLASS * NETCLASS::GetClearanceParent ( ) const
inline

Definition at line 122 of file netclass.h.

References m_clearanceParent, and NETCLASS().

◆ GetConstituentNetclasses()

const std::vector< NETCLASS * > & NETCLASS::GetConstituentNetclasses ( ) const

Gets the netclasses which make up this netclass.

Definition at line 266 of file netclass.cpp.

References m_constituents.

◆ GetDelayProfile()

◆ GetDelayProfileParent()

NETCLASS * NETCLASS::GetDelayProfileParent ( ) const
inline

Definition at line 248 of file netclass.h.

References m_delayProfileParent, and NETCLASS().

◆ GetDescription()

const wxString & NETCLASS::GetDescription ( ) const
inline

Definition at line 113 of file netclass.h.

References m_Description.

◆ GetDiffPairGap()

int NETCLASS::GetDiffPairGap ( ) const
inline

Definition at line 173 of file netclass.h.

References m_diffPairGap.

Referenced by NET_SETTINGS::makeEffectiveNetclass().

◆ GetDiffPairGapOpt()

std::optional< int > NETCLASS::GetDiffPairGapOpt ( ) const
inline

Definition at line 174 of file netclass.h.

References m_diffPairGap.

◆ GetDiffPairGapParent()

NETCLASS * NETCLASS::GetDiffPairGapParent ( ) const
inline

Definition at line 178 of file netclass.h.

References m_diffPairGapParent, and NETCLASS().

◆ GetDiffPairViaGap()

int NETCLASS::GetDiffPairViaGap ( ) const
inline

Definition at line 181 of file netclass.h.

References m_diffPairViaGap.

Referenced by NET_SETTINGS::makeEffectiveNetclass().

◆ GetDiffPairViaGapOpt()

std::optional< int > NETCLASS::GetDiffPairViaGapOpt ( ) const
inline

Definition at line 182 of file netclass.h.

References m_diffPairViaGap.

◆ GetDiffPairViaGapParent()

NETCLASS * NETCLASS::GetDiffPairViaGapParent ( ) const
inline

Definition at line 186 of file netclass.h.

References m_diffPairViaGapParent, and NETCLASS().

◆ GetDiffPairWidth()

int NETCLASS::GetDiffPairWidth ( ) const
inline

Definition at line 165 of file netclass.h.

References m_diffPairWidth.

Referenced by NET_SETTINGS::makeEffectiveNetclass().

◆ GetDiffPairWidthOpt()

std::optional< int > NETCLASS::GetDiffPairWidthOpt ( ) const
inline

Definition at line 166 of file netclass.h.

References m_diffPairWidth.

◆ GetDiffPairWidthParent()

NETCLASS * NETCLASS::GetDiffPairWidthParent ( ) const
inline

Definition at line 170 of file netclass.h.

References m_diffPairWidthParent, and NETCLASS().

◆ GetHumanReadableName()

const wxString NETCLASS::GetHumanReadableName ( ) const

Gets the consolidated name of this netclass (which may be an aggregate).

This is intended for display to users (e.g. in infobars or messages). WARNING: Do not use this to compare equivalence, or to export to other tools)

Definition at line 288 of file netclass.cpp.

References _, GetName(), m_constituents, m_Name, and name.

Referenced by BOARD_INSPECTION_TOOL::getItemDescription(), PCB_TUNING_PATTERN::GetMsgPanelInfo(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::LIST_ITEM(), and ROUTER_TOOL::UpdateMessagePanel().

◆ GetLineStyle()

int NETCLASS::GetLineStyle ( ) const
inline

◆ GetLineStyleOpt()

std::optional< int > NETCLASS::GetLineStyleOpt ( ) const
inline

Definition at line 235 of file netclass.h.

References m_lineStyle.

◆ GetLineStyleParent()

NETCLASS * NETCLASS::GetLineStyleParent ( ) const
inline

Definition at line 239 of file netclass.h.

References m_lineStyleParent, and NETCLASS().

◆ GetName()

const wxString NETCLASS::GetName ( ) const

Gets the name of this (maybe aggregate) netclass in a format for internal usage or for export to external tools / netlists.

WARNING: Do not use this to display a netclass name to a user. Use GetHumanReadableName instead.

Definition at line 322 of file netclass.cpp.

References m_constituents, m_Name, and name.

Referenced by BOOST_AUTO_TEST_CASE(), DSN::SPECCTRA_DB::exportNETCLASS(), DSN::SPECCTRA_DB::FromBOARD(), GetHumanReadableName(), BOARD_CONNECTED_ITEM::GetNetClassName(), NETS_SEARCH_HANDLER::getResultCell(), RATSNEST_SEARCH_HANDLER::getResultCell(), API_HANDLER_PCB::handleGetNets(), hasExactNetclassFunc(), PCB_NET_INSPECTOR_PANEL::netFilterMatches(), and SCH_LABEL_BASE::ResolveTextVar().

◆ GetPcbColor()

COLOR4D NETCLASS::GetPcbColor ( bool aIsForSave = false) const
inline

◆ GetPcbColorParent()

NETCLASS * NETCLASS::GetPcbColorParent ( ) const
inline

Definition at line 201 of file netclass.h.

References m_pcbColorParent, and NETCLASS().

◆ GetPriority()

int NETCLASS::GetPriority ( ) const
inline

Definition at line 242 of file netclass.h.

References m_Priority.

◆ GetSchematicColor()

◆ GetSchematicColorParent()

NETCLASS * NETCLASS::GetSchematicColorParent ( ) const
inline

Definition at line 231 of file netclass.h.

References m_schematicColorParent, and NETCLASS().

◆ GetTrackWidth()

◆ GetTrackWidthOpt()

std::optional< int > NETCLASS::GetTrackWidthOpt ( ) const
inline

Definition at line 126 of file netclass.h.

References m_TrackWidth.

◆ GetTrackWidthParent()

NETCLASS * NETCLASS::GetTrackWidthParent ( ) const
inline

Definition at line 130 of file netclass.h.

References m_trackWidthParent, and NETCLASS().

◆ GetuViaDiameter()

int NETCLASS::GetuViaDiameter ( ) const
inline

◆ GetuViaDiameterOpt()

std::optional< int > NETCLASS::GetuViaDiameterOpt ( ) const
inline

Definition at line 150 of file netclass.h.

References m_uViaDia.

◆ GetuViaDiameterParent()

NETCLASS * NETCLASS::GetuViaDiameterParent ( ) const
inline

Definition at line 154 of file netclass.h.

References m_uViaDiaParent, and NETCLASS().

◆ GetuViaDrill()

int NETCLASS::GetuViaDrill ( ) const
inline

◆ GetuViaDrillOpt()

std::optional< int > NETCLASS::GetuViaDrillOpt ( ) const
inline

Definition at line 158 of file netclass.h.

References m_uViaDrill.

◆ GetuViaDrillParent()

NETCLASS * NETCLASS::GetuViaDrillParent ( ) const
inline

Definition at line 162 of file netclass.h.

References m_uViaDrillParent, and NETCLASS().

◆ GetViaDiameter()

◆ GetViaDiameterOpt()

std::optional< int > NETCLASS::GetViaDiameterOpt ( ) const
inline

Definition at line 134 of file netclass.h.

References m_ViaDia.

◆ GetViaDiameterParent()

NETCLASS * NETCLASS::GetViaDiameterParent ( ) const
inline

Definition at line 138 of file netclass.h.

References m_viaDiameterParent, and NETCLASS().

◆ GetViaDrill()

◆ GetViaDrillOpt()

std::optional< int > NETCLASS::GetViaDrillOpt ( ) const
inline

Definition at line 142 of file netclass.h.

References m_ViaDrill.

◆ GetViaDrillParent()

NETCLASS * NETCLASS::GetViaDrillParent ( ) const
inline

Definition at line 146 of file netclass.h.

References m_viaDrillParent, and NETCLASS().

◆ GetWireWidth()

int NETCLASS::GetWireWidth ( ) const
inline

◆ GetWireWidthOpt()

std::optional< int > NETCLASS::GetWireWidthOpt ( ) const
inline

Definition at line 205 of file netclass.h.

References m_wireWidth.

◆ GetWireWidthParent()

NETCLASS * NETCLASS::GetWireWidthParent ( ) const
inline

Definition at line 209 of file netclass.h.

References m_wireWidthParent, and NETCLASS().

◆ HasBusWidth()

bool NETCLASS::HasBusWidth ( ) const
inline

Definition at line 211 of file netclass.h.

References m_busWidth.

Referenced by NET_SETTINGS::addMissingDefaults(), and NET_SETTINGS::makeEffectiveNetclass().

◆ HasClearance()

bool NETCLASS::HasClearance ( ) const
inline

Definition at line 116 of file netclass.h.

References m_Clearance.

Referenced by NET_SETTINGS::addMissingDefaults(), and NET_SETTINGS::makeEffectiveNetclass().

◆ HasDelayProfile()

bool NETCLASS::HasDelayProfile ( ) const
inline

Definition at line 244 of file netclass.h.

References m_DelayProfile.

Referenced by NET_SETTINGS::addMissingDefaults(), and NET_SETTINGS::makeEffectiveNetclass().

◆ HasDiffPairGap()

bool NETCLASS::HasDiffPairGap ( ) const
inline

Definition at line 172 of file netclass.h.

References m_diffPairGap.

Referenced by NET_SETTINGS::addMissingDefaults(), and NET_SETTINGS::makeEffectiveNetclass().

◆ HasDiffPairViaGap()

bool NETCLASS::HasDiffPairViaGap ( ) const
inline

Definition at line 180 of file netclass.h.

References m_diffPairViaGap.

Referenced by NET_SETTINGS::makeEffectiveNetclass().

◆ HasDiffPairWidth()

bool NETCLASS::HasDiffPairWidth ( ) const
inline

Definition at line 164 of file netclass.h.

References m_diffPairWidth.

Referenced by NET_SETTINGS::addMissingDefaults(), and NET_SETTINGS::makeEffectiveNetclass().

◆ HasLineStyle()

bool NETCLASS::HasLineStyle ( ) const
inline

Definition at line 233 of file netclass.h.

References m_lineStyle.

Referenced by NET_SETTINGS::makeEffectiveNetclass().

◆ HasPcbColor()

bool NETCLASS::HasPcbColor ( ) const
inline

◆ HasTrackWidth()

bool NETCLASS::HasTrackWidth ( ) const
inline

Definition at line 124 of file netclass.h.

References m_TrackWidth.

Referenced by NET_SETTINGS::addMissingDefaults(), and NET_SETTINGS::makeEffectiveNetclass().

◆ HasuViaDiameter()

bool NETCLASS::HasuViaDiameter ( ) const
inline

Definition at line 148 of file netclass.h.

References m_uViaDia.

Referenced by NET_SETTINGS::addMissingDefaults(), and NET_SETTINGS::makeEffectiveNetclass().

◆ HasuViaDrill()

bool NETCLASS::HasuViaDrill ( ) const
inline

Definition at line 156 of file netclass.h.

References m_uViaDrill.

Referenced by NET_SETTINGS::addMissingDefaults(), and NET_SETTINGS::makeEffectiveNetclass().

◆ HasViaDiameter()

bool NETCLASS::HasViaDiameter ( ) const
inline

Definition at line 132 of file netclass.h.

References m_ViaDia.

Referenced by NET_SETTINGS::addMissingDefaults(), and NET_SETTINGS::makeEffectiveNetclass().

◆ HasViaDrill()

int NETCLASS::HasViaDrill ( ) const
inline

Definition at line 140 of file netclass.h.

References m_ViaDrill.

Referenced by NET_SETTINGS::addMissingDefaults(), and NET_SETTINGS::makeEffectiveNetclass().

◆ HasWireWidth()

bool NETCLASS::HasWireWidth ( ) const
inline

Definition at line 203 of file netclass.h.

References m_wireWidth.

Referenced by NET_SETTINGS::addMissingDefaults(), and NET_SETTINGS::makeEffectiveNetclass().

◆ IsDefault()

bool NETCLASS::IsDefault ( ) const
inline

@ brief Determines if this is marked as the default netclass

Definition at line 91 of file netclass.h.

References m_isDefault.

◆ operator=()

NETCLASS & NETCLASS::operator= ( const NETCLASS & )
delete

References NETCLASS().

◆ operator==()

bool NETCLASS::operator== ( const NETCLASS & other) const

Definition at line 130 of file netclass.cpp.

References m_constituents, and NETCLASS().

◆ ResetParameters()

◆ ResetParents()

◆ Serialize()

void NETCLASS::Serialize ( google::protobuf::Any & aContainer) const
overridevirtual

Serializes this object to the given Any message.

The Any message's concrete type will be specific to the object in question.

Parameters
aContainerwill be filled with a message describing this object

Reimplemented from SERIALIZABLE.

Definition at line 136 of file netclass.cpp.

References m_busWidth, m_Clearance, m_constituents, m_diffPairGap, m_diffPairViaGap, m_diffPairWidth, m_lineStyle, m_Name, m_pcbColor, m_Priority, m_schematicColor, m_TrackWidth, m_ViaDia, m_ViaDrill, m_wireWidth, NETCLASS(), kiapi::common::PackColor(), kiapi::common::PackVector2(), and COLOR4D::UNSPECIFIED.

Referenced by API_HANDLER_PCB::handleGetNetClassForNets().

◆ SetBusWidth() [1/2]

void NETCLASS::SetBusWidth ( int aWidth)
inline

Definition at line 214 of file netclass.h.

References m_busWidth.

Referenced by NET_SETTINGS::addMissingDefaults(), NETCLASS(), and ResetParameters().

◆ SetBusWidth() [2/2]

void NETCLASS::SetBusWidth ( std::optional< int > aWidth)
inline

Definition at line 215 of file netclass.h.

References m_busWidth.

◆ SetBusWidthParent()

void NETCLASS::SetBusWidthParent ( NETCLASS * parent)
inline

Definition at line 216 of file netclass.h.

References m_busWidthParent, and NETCLASS().

Referenced by NET_SETTINGS::addMissingDefaults(), and ResetParents().

◆ SetClearance() [1/2]

void NETCLASS::SetClearance ( int aClearance)
inline

◆ SetClearance() [2/2]

void NETCLASS::SetClearance ( std::optional< int > aClearance)
inline

Definition at line 120 of file netclass.h.

References m_Clearance.

◆ SetClearanceParent()

void NETCLASS::SetClearanceParent ( NETCLASS * parent)
inline

Definition at line 121 of file netclass.h.

References m_clearanceParent, and NETCLASS().

Referenced by NET_SETTINGS::addMissingDefaults(), and ResetParents().

◆ SetConstituentNetclasses()

void NETCLASS::SetConstituentNetclasses ( std::vector< NETCLASS * > && constituents)

Sets the netclasses which make up this netclass.

Definition at line 272 of file netclass.cpp.

References m_constituents.

Referenced by Deserialize().

◆ SetDelayProfile()

void NETCLASS::SetDelayProfile ( const wxString & aDelayProfile)
inline

Definition at line 245 of file netclass.h.

References m_DelayProfile.

Referenced by NET_SETTINGS::addMissingDefaults(), and NETCLASS().

◆ SetDelayProfileParent()

void NETCLASS::SetDelayProfileParent ( NETCLASS * aParent)
inline

Definition at line 247 of file netclass.h.

References m_delayProfileParent, and NETCLASS().

Referenced by NET_SETTINGS::addMissingDefaults(), and ResetParents().

◆ SetDescription()

void NETCLASS::SetDescription ( const wxString & aDesc)
inline

Definition at line 114 of file netclass.h.

References m_Description.

Referenced by BOARD::BOARD().

◆ SetDiffPairGap() [1/2]

void NETCLASS::SetDiffPairGap ( int aSize)
inline

Definition at line 175 of file netclass.h.

References m_diffPairGap.

Referenced by NET_SETTINGS::addMissingDefaults(), NETCLASS(), and ResetParameters().

◆ SetDiffPairGap() [2/2]

void NETCLASS::SetDiffPairGap ( std::optional< int > aSize)
inline

Definition at line 176 of file netclass.h.

References m_diffPairGap.

◆ SetDiffPairGapParent()

void NETCLASS::SetDiffPairGapParent ( NETCLASS * parent)
inline

Definition at line 177 of file netclass.h.

References m_diffPairGapParent, and NETCLASS().

Referenced by NET_SETTINGS::addMissingDefaults(), and ResetParents().

◆ SetDiffPairViaGap() [1/2]

void NETCLASS::SetDiffPairViaGap ( int aSize)
inline

Definition at line 183 of file netclass.h.

References m_diffPairViaGap.

Referenced by NETCLASS(), and ResetParameters().

◆ SetDiffPairViaGap() [2/2]

void NETCLASS::SetDiffPairViaGap ( std::optional< int > aSize)
inline

Definition at line 184 of file netclass.h.

References m_diffPairViaGap.

◆ SetDiffPairViaGapParent()

void NETCLASS::SetDiffPairViaGapParent ( NETCLASS * parent)
inline

Definition at line 185 of file netclass.h.

References m_diffPairViaGapParent, and NETCLASS().

Referenced by ResetParents().

◆ SetDiffPairWidth() [1/2]

void NETCLASS::SetDiffPairWidth ( int aSize)
inline

Definition at line 167 of file netclass.h.

References m_diffPairWidth.

Referenced by NET_SETTINGS::addMissingDefaults(), NETCLASS(), and ResetParameters().

◆ SetDiffPairWidth() [2/2]

void NETCLASS::SetDiffPairWidth ( std::optional< int > aSize)
inline

Definition at line 168 of file netclass.h.

References m_diffPairWidth.

◆ SetDiffPairWidthParent()

void NETCLASS::SetDiffPairWidthParent ( NETCLASS * parent)
inline

Definition at line 169 of file netclass.h.

References m_diffPairWidthParent, and NETCLASS().

Referenced by NET_SETTINGS::addMissingDefaults(), and ResetParents().

◆ SetLineStyle() [1/2]

void NETCLASS::SetLineStyle ( int aStyle)
inline

Definition at line 236 of file netclass.h.

References m_lineStyle.

Referenced by NETCLASS(), and ResetParameters().

◆ SetLineStyle() [2/2]

void NETCLASS::SetLineStyle ( std::optional< int > aStyle)
inline

Definition at line 237 of file netclass.h.

References m_lineStyle.

◆ SetLineStyleParent()

void NETCLASS::SetLineStyleParent ( NETCLASS * parent)
inline

Definition at line 238 of file netclass.h.

References m_lineStyleParent, and NETCLASS().

Referenced by ResetParents().

◆ SetName()

void NETCLASS::SetName ( const wxString & aName)
inline

Set the name of this netclass.

Only relevant for root netclasses (i.e. those which are not an aggregate)

Definition at line 95 of file netclass.h.

References Default, m_isDefault, and m_Name.

Referenced by NETCLASS().

◆ SetPcbColor()

void NETCLASS::SetPcbColor ( const COLOR4D & aColor)
inline

Definition at line 199 of file netclass.h.

References m_pcbColor.

Referenced by NETCLASS(), and ResetParameters().

◆ SetPcbColorParent()

void NETCLASS::SetPcbColorParent ( NETCLASS * parent)
inline

Definition at line 200 of file netclass.h.

References m_pcbColorParent, and NETCLASS().

Referenced by ResetParents().

◆ SetPriority()

void NETCLASS::SetPriority ( int aPriority)
inline

Definition at line 241 of file netclass.h.

References m_Priority.

Referenced by NETCLASS().

◆ SetSchematicColor()

void NETCLASS::SetSchematicColor ( COLOR4D aColor)
inline

Definition at line 229 of file netclass.h.

References m_schematicColor.

Referenced by NETCLASS(), and ResetParameters().

◆ SetSchematicColorParent()

void NETCLASS::SetSchematicColorParent ( NETCLASS * parent)
inline

Definition at line 230 of file netclass.h.

References m_schematicColorParent, and NETCLASS().

Referenced by ResetParents().

◆ SetTrackWidth() [1/2]

void NETCLASS::SetTrackWidth ( int aWidth)
inline

Definition at line 127 of file netclass.h.

References m_TrackWidth.

Referenced by NET_SETTINGS::addMissingDefaults(), NETCLASS(), and ResetParameters().

◆ SetTrackWidth() [2/2]

void NETCLASS::SetTrackWidth ( std::optional< int > aWidth)
inline

Definition at line 128 of file netclass.h.

References m_TrackWidth.

◆ SetTrackWidthParent()

void NETCLASS::SetTrackWidthParent ( NETCLASS * parent)
inline

Definition at line 129 of file netclass.h.

References m_trackWidthParent, and NETCLASS().

Referenced by NET_SETTINGS::addMissingDefaults(), and ResetParents().

◆ SetuViaDiameter() [1/2]

void NETCLASS::SetuViaDiameter ( int aSize)
inline

Definition at line 151 of file netclass.h.

References m_uViaDia.

Referenced by NET_SETTINGS::addMissingDefaults(), NETCLASS(), and ResetParameters().

◆ SetuViaDiameter() [2/2]

void NETCLASS::SetuViaDiameter ( std::optional< int > aSize)
inline

Definition at line 152 of file netclass.h.

References m_uViaDia.

◆ SetuViaDiameterParent()

void NETCLASS::SetuViaDiameterParent ( NETCLASS * parent)
inline

Definition at line 153 of file netclass.h.

References m_uViaDiaParent, and NETCLASS().

Referenced by NET_SETTINGS::addMissingDefaults(), and ResetParents().

◆ SetuViaDrill() [1/2]

void NETCLASS::SetuViaDrill ( int aSize)
inline

Definition at line 159 of file netclass.h.

References m_uViaDrill.

Referenced by NET_SETTINGS::addMissingDefaults(), NETCLASS(), and ResetParameters().

◆ SetuViaDrill() [2/2]

void NETCLASS::SetuViaDrill ( std::optional< int > aSize)
inline

Definition at line 160 of file netclass.h.

References m_uViaDrill.

◆ SetuViaDrillParent()

void NETCLASS::SetuViaDrillParent ( NETCLASS * parent)
inline

Definition at line 161 of file netclass.h.

References m_uViaDrillParent, and NETCLASS().

Referenced by NET_SETTINGS::addMissingDefaults(), and ResetParents().

◆ SetViaDiameter() [1/2]

void NETCLASS::SetViaDiameter ( int aDia)
inline

Definition at line 135 of file netclass.h.

References m_ViaDia.

Referenced by NET_SETTINGS::addMissingDefaults(), NETCLASS(), and ResetParameters().

◆ SetViaDiameter() [2/2]

void NETCLASS::SetViaDiameter ( std::optional< int > aDia)
inline

Definition at line 136 of file netclass.h.

References m_ViaDia.

◆ SetViaDiameterParent()

void NETCLASS::SetViaDiameterParent ( NETCLASS * parent)
inline

Definition at line 137 of file netclass.h.

References m_viaDiameterParent, and NETCLASS().

Referenced by NET_SETTINGS::addMissingDefaults(), and ResetParents().

◆ SetViaDrill() [1/2]

void NETCLASS::SetViaDrill ( int aSize)
inline

Definition at line 143 of file netclass.h.

References m_ViaDrill.

Referenced by NET_SETTINGS::addMissingDefaults(), NETCLASS(), and ResetParameters().

◆ SetViaDrill() [2/2]

void NETCLASS::SetViaDrill ( std::optional< int > aSize)
inline

Definition at line 144 of file netclass.h.

References m_ViaDrill.

◆ SetViaDrillParent()

void NETCLASS::SetViaDrillParent ( NETCLASS * parent)
inline

Definition at line 145 of file netclass.h.

References m_viaDrillParent, and NETCLASS().

Referenced by NET_SETTINGS::addMissingDefaults(), and ResetParents().

◆ SetWireWidth() [1/2]

void NETCLASS::SetWireWidth ( int aWidth)
inline

Definition at line 206 of file netclass.h.

References m_wireWidth.

Referenced by NET_SETTINGS::addMissingDefaults(), NETCLASS(), and ResetParameters().

◆ SetWireWidth() [2/2]

void NETCLASS::SetWireWidth ( std::optional< int > aWidth)
inline

Definition at line 207 of file netclass.h.

References m_wireWidth.

◆ SetWireWidthParent()

void NETCLASS::SetWireWidthParent ( NETCLASS * parent)
inline

Definition at line 208 of file netclass.h.

References m_wireWidthParent, and NETCLASS().

Referenced by NET_SETTINGS::addMissingDefaults(), and ResetParents().

Member Data Documentation

◆ Default

◆ m_busWidth

std::optional<int> NETCLASS::m_busWidth
protected

◆ m_busWidthParent

NETCLASS* NETCLASS::m_busWidthParent
protected

Definition at line 293 of file netclass.h.

Referenced by GetBusWidthParent(), and SetBusWidthParent().

◆ m_Clearance

std::optional<int> NETCLASS::m_Clearance
protected

clearance when routing

Definition at line 259 of file netclass.h.

Referenced by Deserialize(), GetClearance(), GetClearanceOpt(), HasClearance(), Serialize(), SetClearance(), and SetClearance().

◆ m_clearanceParent

NETCLASS* NETCLASS::m_clearanceParent
protected

Definition at line 282 of file netclass.h.

Referenced by GetClearanceParent(), and SetClearanceParent().

◆ m_constituents

std::vector<NETCLASS*> NETCLASS::m_constituents
protected

NETCLASSes contributing to an aggregate.

Definition at line 253 of file netclass.h.

Referenced by ContainsNetclassWithName(), GetConstituentNetclasses(), GetHumanReadableName(), GetName(), NETCLASS(), operator==(), Serialize(), and SetConstituentNetclasses().

◆ m_DelayProfile

wxString NETCLASS::m_DelayProfile
protected

The tuning profile name being used by this netclass.

Definition at line 279 of file netclass.h.

Referenced by GetDelayProfile(), HasDelayProfile(), and SetDelayProfile().

◆ m_delayProfileParent

NETCLASS* NETCLASS::m_delayProfileParent
protected

Definition at line 296 of file netclass.h.

Referenced by GetDelayProfileParent(), and SetDelayProfileParent().

◆ m_Description

wxString NETCLASS::m_Description
protected

what this NETCLASS is for.

Definition at line 257 of file netclass.h.

Referenced by GetDescription(), and SetDescription().

◆ m_diffPairGap

std::optional<int> NETCLASS::m_diffPairGap
protected

◆ m_diffPairGapParent

NETCLASS* NETCLASS::m_diffPairGapParent
protected

Definition at line 289 of file netclass.h.

Referenced by GetDiffPairGapParent(), and SetDiffPairGapParent().

◆ m_diffPairViaGap

std::optional<int> NETCLASS::m_diffPairViaGap
protected

◆ m_diffPairViaGapParent

NETCLASS* NETCLASS::m_diffPairViaGapParent
protected

Definition at line 290 of file netclass.h.

Referenced by GetDiffPairViaGapParent(), and SetDiffPairViaGapParent().

◆ m_diffPairWidth

std::optional<int> NETCLASS::m_diffPairWidth
protected

◆ m_diffPairWidthParent

NETCLASS* NETCLASS::m_diffPairWidthParent
protected

Definition at line 288 of file netclass.h.

Referenced by GetDiffPairWidthParent(), and SetDiffPairWidthParent().

◆ m_isDefault

bool NETCLASS::m_isDefault
protected

Mark if this instance is the default netclass.

Definition at line 251 of file netclass.h.

Referenced by GetPcbColor(), GetSchematicColor(), HasPcbColor(), IsDefault(), NETCLASS(), and SetName().

◆ m_lineStyle

std::optional<int> NETCLASS::m_lineStyle
protected

◆ m_lineStyleParent

NETCLASS* NETCLASS::m_lineStyleParent
protected

Definition at line 295 of file netclass.h.

Referenced by GetLineStyleParent(), and SetLineStyleParent().

◆ m_Name

wxString NETCLASS::m_Name
protected

Name of the net class.

Definition at line 255 of file netclass.h.

Referenced by Deserialize(), GetHumanReadableName(), GetName(), Serialize(), and SetName().

◆ m_pcbColor

COLOR4D NETCLASS::m_pcbColor
protected

Optional PCB color override for this netclass.

Definition at line 277 of file netclass.h.

Referenced by Deserialize(), GetPcbColor(), HasPcbColor(), Serialize(), and SetPcbColor().

◆ m_pcbColorParent

NETCLASS* NETCLASS::m_pcbColorParent
protected

Definition at line 291 of file netclass.h.

Referenced by GetPcbColorParent(), and SetPcbColorParent().

◆ m_Priority

int NETCLASS::m_Priority
protected

The priority for multiple netclass resolution.

Definition at line 256 of file netclass.h.

Referenced by Deserialize(), GetPriority(), Serialize(), and SetPriority().

◆ m_schematicColor

COLOR4D NETCLASS::m_schematicColor
protected

Definition at line 274 of file netclass.h.

Referenced by Deserialize(), GetSchematicColor(), Serialize(), and SetSchematicColor().

◆ m_schematicColorParent

NETCLASS* NETCLASS::m_schematicColorParent
protected

Definition at line 294 of file netclass.h.

Referenced by GetSchematicColorParent(), and SetSchematicColorParent().

◆ m_TrackWidth

std::optional<int> NETCLASS::m_TrackWidth
protected

track width used to route nets

Definition at line 261 of file netclass.h.

Referenced by Deserialize(), GetTrackWidth(), GetTrackWidthOpt(), HasTrackWidth(), Serialize(), SetTrackWidth(), and SetTrackWidth().

◆ m_trackWidthParent

NETCLASS* NETCLASS::m_trackWidthParent
protected

Definition at line 283 of file netclass.h.

Referenced by GetTrackWidthParent(), and SetTrackWidthParent().

◆ m_uViaDia

std::optional<int> NETCLASS::m_uViaDia
protected

microvia diameter

Definition at line 265 of file netclass.h.

Referenced by GetuViaDiameter(), GetuViaDiameterOpt(), HasuViaDiameter(), SetuViaDiameter(), and SetuViaDiameter().

◆ m_uViaDiaParent

NETCLASS* NETCLASS::m_uViaDiaParent
protected

Definition at line 286 of file netclass.h.

Referenced by GetuViaDiameterParent(), and SetuViaDiameterParent().

◆ m_uViaDrill

std::optional<int> NETCLASS::m_uViaDrill
protected

microvia drill hole diameter

Definition at line 266 of file netclass.h.

Referenced by GetuViaDrill(), GetuViaDrillOpt(), HasuViaDrill(), SetuViaDrill(), and SetuViaDrill().

◆ m_uViaDrillParent

NETCLASS* NETCLASS::m_uViaDrillParent
protected

Definition at line 287 of file netclass.h.

Referenced by GetuViaDrillParent(), and SetuViaDrillParent().

◆ m_ViaDia

std::optional<int> NETCLASS::m_ViaDia
protected

◆ m_viaDiameterParent

NETCLASS* NETCLASS::m_viaDiameterParent
protected

Definition at line 284 of file netclass.h.

Referenced by GetViaDiameterParent(), and SetViaDiameterParent().

◆ m_ViaDrill

std::optional<int> NETCLASS::m_ViaDrill
protected

via drill hole diameter

Definition at line 263 of file netclass.h.

Referenced by Deserialize(), GetViaDrill(), GetViaDrillOpt(), HasViaDrill(), Serialize(), SetViaDrill(), and SetViaDrill().

◆ m_viaDrillParent

NETCLASS* NETCLASS::m_viaDrillParent
protected

Definition at line 285 of file netclass.h.

Referenced by GetViaDrillParent(), and SetViaDrillParent().

◆ m_wireWidth

std::optional<int> NETCLASS::m_wireWidth
protected

◆ m_wireWidthParent

NETCLASS* NETCLASS::m_wireWidthParent
protected

Definition at line 292 of file netclass.h.

Referenced by GetWireWidthParent(), and SetWireWidthParent().


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