26#ifndef CLASS_NETCLASS_H 
   27#define CLASS_NETCLASS_H 
   55    NETCLASS( 
const wxString& aName, 
bool aInitWithDefaults = 
true );
 
   66        return wxT( 
"NETCLASS" );
 
 
   69    void Serialize( google::protobuf::Any &aContainer ) 
const override;
 
   70    bool Deserialize( 
const google::protobuf::Any &aContainer ) 
override;
 
   76    void ResetParameters();
 
   81    const std::vector<NETCLASS*>& GetConstituentNetclasses() 
const;
 
   84    void SetConstituentNetclasses( std::vector<NETCLASS*>&& constituents );
 
   88    bool ContainsNetclassWithName( 
const wxString& netclass ) 
const;
 
  106    const wxString GetName() 
const;
 
  111    const wxString GetHumanReadableName() 
const;
 
 
bool operator==(const wxAuiPaneInfo &aLhs, const wxAuiPaneInfo &aRhs)
 
static const COLOR4D UNSPECIFIED
For legacy support; used as a value to indicate color hasn't been set yet.
 
A color representation with 4 components: red, green, blue, alpha.
 
void SetViaDiameter(int aDia)
 
void SetViaDrill(int aSize)
 
bool HasLineStyle() const
 
int GetViaDiameter() const
 
void SetWireWidthParent(NETCLASS *parent)
 
void SetWireWidth(std::optional< int > aWidth)
 
COLOR4D m_pcbColor
Optional PCB color override for this netclass.
 
static const char Default[]
the name of the default NETCLASS
 
void SetuViaDrillParent(NETCLASS *parent)
 
void SetPriority(int aPriority)
 
void SetViaDrill(std::optional< int > aSize)
 
void SetClearance(std::optional< int > aClearance)
 
bool HasuViaDrill() const
 
NETCLASS * m_pcbColorParent
 
void SetDiffPairWidthParent(NETCLASS *parent)
 
void SetuViaDiameter(int aSize)
 
void SetDiffPairWidth(int aSize)
 
NETCLASS * m_diffPairWidthParent
 
NETCLASS * m_uViaDrillParent
 
std::optional< int > m_ViaDrill
via drill hole diameter
 
int GetDiffPairViaGap() const
 
void SetViaDrillParent(NETCLASS *parent)
 
std::optional< int > m_wireWidth
 
bool m_isDefault
Mark if this instance is the default netclass.
 
wxString GetTuningProfile() const
 
std::optional< int > m_busWidth
 
void SetDiffPairGapParent(NETCLASS *parent)
 
void SetTuningProfileParent(NETCLASS *aParent)
 
NETCLASS * GetViaDrillParent() const
 
int GetDiffPairGap() const
 
NETCLASS * m_diffPairGapParent
 
std::optional< int > GetBusWidthOpt() const
 
void SetViaDiameter(std::optional< int > aDia)
 
void SetLineStyle(int aStyle)
 
bool HasViaDiameter() const
 
NETCLASS * GetBusWidthParent() const
 
std::optional< int > m_TrackWidth
track width used to route nets
 
NETCLASS * m_viaDiameterParent
 
int m_Priority
The priority for multiple netclass resolution.
 
NETCLASS(const wxString &aName, bool aInitWithDefaults=true)
Create a NETCLASS instance with aName.
 
void SetSchematicColor(COLOR4D aColor)
 
std::optional< int > m_diffPairWidth
 
bool HasDiffPairWidth() const
 
std::optional< int > GetTrackWidthOpt() const
 
NETCLASS & operator=(const NETCLASS &)=delete
 
wxString m_tuningProfile
The tuning profile name being used by this netclass.
 
std::optional< int > m_diffPairViaGap
 
void SetLineStyleParent(NETCLASS *parent)
 
NETCLASS * GetTuningProfileParent() const
 
bool IsDefault() const
@ brief Determines if this is marked as the default netclass
 
std::optional< int > m_ViaDia
via diameter
 
void SetDiffPairViaGap(int aSize)
 
std::optional< int > GetViaDiameterOpt() const
 
std::optional< int > GetWireWidthOpt() const
 
bool HasuViaDiameter() const
 
void SetTrackWidthParent(NETCLASS *parent)
 
std::optional< int > m_lineStyle
 
int GetuViaDiameter() const
 
wxString GetClass() const
 
void SetDiffPairViaGap(std::optional< int > aSize)
 
NETCLASS * GetTrackWidthParent() const
 
NETCLASS * GetClearanceParent() const
 
std::optional< int > GetClearanceOpt() const
 
void SetLineStyle(std::optional< int > aStyle)
 
std::optional< int > GetuViaDiameterOpt() const
 
bool HasTrackWidth() const
 
void SetViaDiameterParent(NETCLASS *parent)
 
void SetPcbColor(const COLOR4D &aColor)
 
NETCLASS * m_viaDrillParent
 
NETCLASS * m_lineStyleParent
 
void SetuViaDiameter(std::optional< int > aSize)
 
std::optional< int > GetDiffPairViaGapOpt() const
 
std::optional< int > m_Clearance
clearance when routing
 
void SetTrackWidth(std::optional< int > aWidth)
 
void SetDiffPairWidth(std::optional< int > aSize)
 
std::optional< int > m_uViaDia
microvia diameter
 
NETCLASS * GetLineStyleParent() const
 
int GetDiffPairWidth() const
 
NETCLASS * m_tuningProfileParent
 
void SetuViaDrill(int aSize)
 
std::optional< int > GetViaDrillOpt() const
 
NETCLASS * m_uViaDiaParent
 
void SetDiffPairGap(int aSize)
 
void SetBusWidthParent(NETCLASS *parent)
 
NETCLASS * GetDiffPairWidthParent() const
 
void SetClearance(int aClearance)
 
NETCLASS * m_clearanceParent
 
NETCLASS * GetuViaDrillParent() const
 
NETCLASS * m_diffPairViaGapParent
 
COLOR4D GetPcbColor(bool aIsForSave=false) const
 
NETCLASS * GetDiffPairViaGapParent() const
 
NETCLASS(const NETCLASS &)=delete
 
bool HasDiffPairGap() const
 
void SetDescription(const wxString &aDesc)
 
COLOR4D GetSchematicColor(bool aIsForSave=false) const
 
const wxString & GetDescription() const
 
void SetPcbColorParent(NETCLASS *parent)
 
NETCLASS * m_schematicColorParent
 
void SetuViaDrill(std::optional< int > aSize)
 
NETCLASS * m_busWidthParent
 
std::optional< int > m_uViaDrill
microvia drill hole diameter
 
void SetBusWidth(int aWidth)
 
std::optional< int > GetDiffPairWidthOpt() const
 
void SetClearanceParent(NETCLASS *parent)
 
int GetTrackWidth() const
 
void SetWireWidth(int aWidth)
 
void SetDiffPairViaGapParent(NETCLASS *parent)
 
void SetTuningProfile(const wxString &aTuningProfile)
 
bool HasTuningProfile() const
 
bool HasWireWidth() const
 
NETCLASS * m_wireWidthParent
 
std::optional< int > GetuViaDrillOpt() const
 
void SetuViaDiameterParent(NETCLASS *parent)
 
NETCLASS * m_trackWidthParent
 
void SetSchematicColorParent(NETCLASS *parent)
 
void SetBusWidth(std::optional< int > aWidth)
 
void SetName(const wxString &aName)
Set the name of this netclass.
 
std::optional< int > GetLineStyleOpt() const
 
void SetTrackWidth(int aWidth)
 
std::vector< NETCLASS * > m_constituents
NETCLASSes contributing to an aggregate.
 
std::optional< int > GetDiffPairGapOpt() const
 
void SetDiffPairGap(std::optional< int > aSize)
 
NETCLASS * GetWireWidthParent() const
 
NETCLASS * GetSchematicColorParent() const
 
NETCLASS * GetDiffPairGapParent() const
 
std::optional< int > m_diffPairGap
 
bool HasDiffPairViaGap() const
 
NETCLASS * GetPcbColorParent() const
 
NETCLASS * GetViaDiameterParent() const
 
bool HasClearance() const
 
wxString m_Name
Name of the net class.
 
NETCLASS * GetuViaDiameterParent() const
 
wxString m_Description
what this NETCLASS is for.
 
Interface for objects that can be serialized to Protobuf messages.
 
This file contains macros just for swig binding.
 
#define DECL_SET_FOR_SWIG(TypeName, MemberType)