KiCad PCB EDA Suite
|
Hold either a via or a pad definition. More...
#include <specctra.h>
Public Member Functions | |
PADSTACK () | |
Cannot take ELEM* aParent because PADSTACKSET confuses this with a copy constructor and causes havoc. | |
~PADSTACK () | |
const std::string & | GetPadstackId () |
void | SetPadstackId (const char *aPadstackId) |
void | Format (OUTPUTFORMATTER *out, int nestLevel) override |
Write this object as ASCII out to an OUTPUTFORMATTER according to the SPECCTRA DSN format. | |
void | FormatContents (OUTPUTFORMATTER *out, int nestLevel) override |
Write the contents as ASCII out to an OUTPUTFORMATTER according to the SPECCTRA DSN format. | |
UNIT_RES * | GetUnits () const override |
Return the units for this section. | |
int | FindElem (DSN_T aType, int instanceNum=0) |
Find a particular instance number of a given type of ELEM. | |
int | Length () const |
Return the number of ELEMs in this holder. | |
void | Append (ELEM *aElem) |
ELEM * | Replace (int aIndex, ELEM *aElem) |
ELEM * | Remove (int aIndex) |
void | Insert (int aIndex, ELEM *aElem) |
ELEM * | At (int aIndex) const |
ELEM * | operator[] (int aIndex) const |
void | Delete (int aIndex) |
DSN_T | Type () const |
const char * | Name () const |
void | SetParent (ELEM *aParent) |
Static Public Member Functions | |
static int | Compare (PADSTACK *lhs, PADSTACK *rhs) |
Compare two objects of this type and returns <0, 0, or >0. | |
Protected Member Functions | |
std::string | makeHash () |
Return a string which uniquely represents this ELEM among other ELEMs of the same derived class as "this" one. | |
Protected Attributes | |
DSN_T | type |
ELEM * | parent |
Static Protected Attributes | |
static STRING_FORMATTER | sf |
Private Types | |
typedef boost::ptr_vector< ELEM > | ELEM_ARRAY |
Private Attributes | |
std::string | m_hash |
a hash string used by Compare(), not Format()ed/exported. | |
std::string | m_padstack_id |
UNIT_RES * | m_unit |
DSN_T | m_rotate |
DSN_T | m_absolute |
DSN_T | m_attach |
std::string | m_via_id |
RULE * | m_rules |
ELEM_ARRAY | kids |
ELEM pointers. | |
Friends | |
class | SPECCTRA_DB |
Hold either a via or a pad definition.
Definition at line 2125 of file specctra.h.
|
privateinherited |
Definition at line 363 of file specctra.h.
|
inline |
Cannot take ELEM* aParent because PADSTACKSET confuses this with a copy constructor and causes havoc.
Instead set parent with LIBRARY::AddPadstack()
Definition at line 2133 of file specctra.h.
References DSN::ELEM_HOLDER::ELEM_HOLDER(), m_absolute, m_attach, m_rotate, m_rules, and m_unit.
Referenced by Compare().
|
inline |
Definition at line 2143 of file specctra.h.
|
inlineinherited |
Definition at line 327 of file specctra.h.
References DSN::ELEM::ELEM(), and kids.
Referenced by DSN::SPECCTRA_DB::doCLASS_CLASS(), DSN::SPECCTRA_DB::doCONTROL(), DSN::SPECCTRA_DB::doIMAGE(), DSN::SPECCTRA_DB::doPADSTACK(), DSN::SPECCTRA_DB::doREGION(), DSN::SPECCTRA_DB::doSTRUCTURE(), DSN::SPECCTRA_DB::makePADSTACK(), and DSN::SPECCTRA_DB::makeVia().
|
inlineinherited |
Definition at line 346 of file specctra.h.
References DSN::ELEM::ELEM(), and kids.
Referenced by DSN::CONTROL::Format(), FormatContents(), DSN::STRUCTURE::FormatContents(), and operator[]().
Compare two objects of this type and returns <0, 0, or >0.
Definition at line 3825 of file specctra.cpp.
References m_hash, m_padstack_id, DSN::ELEM::makeHash(), PADSTACK(), and result.
Referenced by DSN::LIBRARY::FindVia(), and DSN::operator<().
|
inlineinherited |
Definition at line 358 of file specctra.h.
References kids.
|
inherited |
Find a particular instance number of a given type of ELEM.
aType | The type of ELEM to find |
instanceNum | The instance number of to find: 0 for first, 1 for second, etc. |
Definition at line 3799 of file specctra.cpp.
References kids, T, and DSN::ELEM::Type().
|
inlineoverridevirtual |
Write this object as ASCII out to an OUTPUTFORMATTER according to the SPECCTRA DSN format.
out | The formatter to write to. |
nestLevel | A multiple of the number of spaces to precede the output with. |
IO_ERROR | if a system error writing the output, such as a full disk. |
Reimplemented from DSN::ELEM.
Definition at line 2164 of file specctra.h.
References FormatContents(), OUTPUTFORMATTER::GetQuoteChar(), m_padstack_id, DSN::ELEM::Name(), and OUTPUTFORMATTER::Print().
|
inlineoverridevirtual |
Write the contents as ASCII out to an OUTPUTFORMATTER according to the SPECCTRA DSN format.
This is the same as Format() except that the outer wrapper is not included.
out | The formatter to write to. |
nestLevel | A multiple of the number of spaces to precede the output with. |
IO_ERROR | if a system error writing the output, such as a full disk. |
Reimplemented from DSN::ELEM_HOLDER.
Definition at line 2176 of file specctra.h.
References DSN::ELEM_HOLDER::FormatContents(), OUTPUTFORMATTER::GetQuoteChar(), DSN::GetTokenText(), m_absolute, m_attach, m_rotate, m_rules, m_unit, m_via_id, and OUTPUTFORMATTER::Print().
Referenced by Format().
|
inline |
Definition at line 2149 of file specctra.h.
References m_padstack_id.
Referenced by DSN::LIBRARY::FindPADSTACK().
|
inlineoverridevirtual |
Return the units for this section.
Derived classes may override this to check for section specific overrides.
Reimplemented from DSN::ELEM.
Definition at line 2212 of file specctra.h.
References DSN::ELEM::GetUnits(), and m_unit.
|
inlineinherited |
Definition at line 344 of file specctra.h.
References DSN::ELEM::ELEM(), and kids.
|
inlineinherited |
Return the number of ELEMs in this holder.
Definition at line 322 of file specctra.h.
References kids.
Referenced by DSN::CONTROL::Format(), FormatContents(), DSN::STRUCTURE::FormatContents(), and DSN::SPECCTRA_DB::makeVIA().
|
inlineprotectedinherited |
Return a string which uniquely represents this ELEM among other ELEMs of the same derived class as "this" one.
It is not usable for all derived classes, only those which plan for it by implementing a FormatContents() function that captures all info which will be used in the subsequent string compare. THIS SHOULD NORMALLY EXCLUDE THE TYPENAME, AND INSTANCE NAME OR ID AS WELL.
Definition at line 268 of file specctra.h.
References FormatContents(), and sf.
Referenced by DSN::IMAGE::Compare(), and DSN::PADSTACK::Compare().
|
inherited |
Definition at line 3768 of file specctra.cpp.
References type.
Referenced by DSN::ANCESTOR::Format(), DSN::BOUNDARY::Format(), DSN::CIRCLE::Format(), DSN::CLASS::Format(), DSN::COMP_ORDER::Format(), DSN::COMPONENT::Format(), DSN::CONTROL::Format(), Format(), DSN::FROMTO::Format(), DSN::GRID::Format(), DSN::IMAGE::Format(), DSN::KEEPOUT::Format(), DSN::LAYER::Format(), DSN::LAYER_NOISE_WEIGHT::Format(), DSN::LAYER_RULE::Format(), DSN::NET::Format(), DSN::PADSTACK::Format(), DSN::PATH::Format(), DSN::PCB::Format(), DSN::PLACE::Format(), DSN::QARC::Format(), DSN::RECTANGLE::Format(), DSN::RULE::Format(), DSN::SESSION::Format(), DSN::SHAPE::Format(), DSN::SPECCTRA_LAYER_PAIR::Format(), DSN::STRINGPROP::Format(), DSN::SUPPLY_PIN::Format(), DSN::TOKPROP::Format(), DSN::UNIT_RES::Format(), DSN::VIA::Format(), DSN::WINDOW::Format(), DSN::WIRE::Format(), and DSN::WIRE_VIA::Format().
|
inlineinherited |
Definition at line 353 of file specctra.h.
References At(), and DSN::ELEM::ELEM().
|
inlineinherited |
Definition at line 338 of file specctra.h.
References DSN::ELEM::ELEM(), and kids.
Definition at line 332 of file specctra.h.
References DSN::ELEM::ELEM(), and kids.
|
inline |
Definition at line 2159 of file specctra.h.
References m_padstack_id.
Referenced by DSN::SPECCTRA_DB::makePADSTACK(), and DSN::SPECCTRA_DB::makeVia().
|
inlineinherited |
Definition at line 252 of file specctra.h.
References ELEM(), and parent.
Referenced by DSN::LIBRARY::AddPadstack(), DSN::KEEPOUT::AddWindow(), DSN::LIBRARY::AppendIMAGE(), DSN::LIBRARY::AppendPADSTACK(), DSN::LIBRARY::AppendVia(), DSN::KEEPOUT::SetShape(), DSN::WINDOW::SetShape(), and DSN::WIRE::SetShape().
|
inlineinherited |
Definition at line 215 of file specctra.h.
References type.
Referenced by DSN::SPECCTRA_DB::doCLASS_CLASS(), DSN::ELEM_HOLDER::FindElem(), DSN::SPECCTRA_DB::FromSESSION(), DSN::SPECCTRA_DB::makeVIA(), DSN::KEEPOUT::SetShape(), DSN::WINDOW::SetShape(), and DSN::WIRE::SetShape().
|
friend |
|
privateinherited |
|
private |
Definition at line 2231 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doPADSTACK(), FormatContents(), and PADSTACK().
|
private |
Definition at line 2232 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doPADSTACK(), FormatContents(), and PADSTACK().
|
private |
a hash string used by Compare(), not Format()ed/exported.
Definition at line 2223 of file specctra.h.
Referenced by Compare().
|
private |
Definition at line 2225 of file specctra.h.
Referenced by Compare(), DSN::SPECCTRA_DB::doPADSTACK(), Format(), GetPadstackId(), DSN::SPECCTRA_DB::makeIMAGE(), DSN::SPECCTRA_DB::makeVIA(), and SetPadstackId().
|
private |
Definition at line 2230 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doPADSTACK(), FormatContents(), and PADSTACK().
|
private |
Definition at line 2235 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doPADSTACK(), FormatContents(), PADSTACK(), and ~PADSTACK().
|
private |
Definition at line 2226 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doPADSTACK(), FormatContents(), GetUnits(), PADSTACK(), and ~PADSTACK().
|
private |
Definition at line 2233 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doPADSTACK(), and FormatContents().
|
protectedinherited |
Definition at line 281 of file specctra.h.
Referenced by ELEM(), GetUnits(), and SetParent().
|
staticprotectedinherited |
Definition at line 278 of file specctra.h.
Referenced by makeHash().
|
protectedinherited |
Definition at line 280 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doNET(), ELEM(), DSN::UNIT_RES::Format(), Name(), and Type().