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. More... | |
~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. More... | |
void | FormatContents (OUTPUTFORMATTER *out, int nestLevel) override |
Write the contents as ASCII out to an OUTPUTFORMATTER according to the SPECCTRA DSN format. More... | |
UNIT_RES * | GetUnits () const override |
Return the units for this section. More... | |
int | FindElem (DSN_T aType, int instanceNum=0) |
Find a particular instance number of a given type of ELEM. More... | |
int | Length () const |
Return the number of ELEMs in this holder. More... | |
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. More... | |
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. More... | |
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 | hash |
a hash string used by Compare(), not Format()ed/exported. More... | |
std::string | padstack_id |
UNIT_RES * | unit |
DSN_T | rotate |
DSN_T | absolute |
DSN_T | attach |
std::string | via_id |
RULE * | rules |
ELEM_ARRAY | kids |
ELEM pointers. More... | |
Friends | |
class | SPECCTRA_DB |
Hold either a via or a pad definition.
Definition at line 2126 of file specctra.h.
|
privateinherited |
Definition at line 358 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 2134 of file specctra.h.
|
inline |
|
inlineinherited |
Definition at line 322 of file specctra.h.
References DSN::ELEM_HOLDER::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 341 of file specctra.h.
References DSN::ELEM_HOLDER::kids.
Referenced by DSN::CONTROL::Format(), DSN::ELEM_HOLDER::FormatContents(), DSN::STRUCTURE::FormatContents(), and DSN::ELEM_HOLDER::operator[]().
Compare two objects of this type and returns <0, 0, or >0.
Definition at line 3817 of file specctra.cpp.
References hash, DSN::ELEM::makeHash(), and padstack_id.
Referenced by DSN::LIBRARY::FindVia(), and DSN::operator<().
|
inlineinherited |
Definition at line 353 of file specctra.h.
References DSN::ELEM_HOLDER::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 3791 of file specctra.cpp.
References DSN::ELEM_HOLDER::kids, 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 2165 of file specctra.h.
References FormatContents(), OUTPUTFORMATTER::GetQuoteChar(), DSN::ELEM::Name(), padstack_id, 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 2177 of file specctra.h.
References absolute, attach, DSN::UNIT_RES::Format(), DSN::RULE::Format(), DSN::ELEM_HOLDER::FormatContents(), OUTPUTFORMATTER::GetQuoteChar(), DSN::GetTokenText(), OUTPUTFORMATTER::Print(), rotate, rules, unit, and via_id.
Referenced by Format().
|
inline |
Definition at line 2150 of file specctra.h.
References 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 2213 of file specctra.h.
References DSN::ELEM::GetUnits(), and unit.
|
inlineinherited |
Definition at line 339 of file specctra.h.
References DSN::ELEM_HOLDER::kids.
|
inlineinherited |
Return the number of ELEMs in this holder.
Definition at line 317 of file specctra.h.
References DSN::ELEM_HOLDER::kids.
Referenced by DSN::CONTROL::Format(), DSN::ELEM_HOLDER::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 263 of file specctra.h.
References STRING_FORMATTER::Clear(), DSN::ELEM::FormatContents(), STRING_FORMATTER::GetString(), DSN::ELEM::sf, and STRING_FORMATTER::StripUseless().
Referenced by DSN::IMAGE::Compare(), and Compare().
|
inherited |
Definition at line 3760 of file specctra.cpp.
References DSN::ELEM::type.
Referenced by DSN::ELEM::Format(), DSN::UNIT_RES::Format(), DSN::RECTANGLE::Format(), DSN::RULE::Format(), DSN::LAYER_RULE::Format(), DSN::PATH::Format(), DSN::BOUNDARY::Format(), DSN::CIRCLE::Format(), DSN::QARC::Format(), DSN::WINDOW::Format(), DSN::KEEPOUT::Format(), DSN::VIA::Format(), DSN::CONTROL::Format(), DSN::LAYER::Format(), DSN::SPECCTRA_LAYER_PAIR::Format(), DSN::LAYER_NOISE_WEIGHT::Format(), DSN::TOKPROP::Format(), DSN::STRINGPROP::Format(), DSN::GRID::Format(), DSN::PLACE::Format(), DSN::COMPONENT::Format(), DSN::SHAPE::Format(), DSN::IMAGE::Format(), Format(), DSN::FROMTO::Format(), DSN::COMP_ORDER::Format(), DSN::NET::Format(), DSN::CLASS::Format(), DSN::WIRE::Format(), DSN::WIRE_VIA::Format(), DSN::PCB::Format(), DSN::ANCESTOR::Format(), DSN::SUPPLY_PIN::Format(), and DSN::SESSION::Format().
|
inlineinherited |
|
inlineinherited |
Definition at line 333 of file specctra.h.
References DSN::ELEM_HOLDER::kids.
Definition at line 327 of file specctra.h.
References DSN::ELEM_HOLDER::kids.
|
inline |
Definition at line 2160 of file specctra.h.
References padstack_id.
Referenced by DSN::SPECCTRA_DB::makePADSTACK(), and DSN::SPECCTRA_DB::makeVia().
|
inlineinherited |
Definition at line 247 of file specctra.h.
References DSN::ELEM::parent.
Referenced by DSN::LIBRARY::AddPadstack(), DSN::KEEPOUT::AddWindow(), DSN::LIBRARY::AppendIMAGE(), DSN::LIBRARY::AppendPADSTACK(), DSN::LIBRARY::AppendVia(), DSN::STRUCTURE::SetBOUNDARY(), DSN::STRUCTURE::SetPlaceBOUNDARY(), DSN::WINDOW::SetShape(), DSN::KEEPOUT::SetShape(), and DSN::WIRE::SetShape().
|
inlineinherited |
Definition at line 210 of file specctra.h.
References DSN::ELEM::type.
Referenced by DSN::SPECCTRA_DB::doCLASS_CLASS(), DSN::ELEM_HOLDER::FindElem(), DSN::SPECCTRA_DB::FromSESSION(), DSN::SPECCTRA_DB::makeVIA(), DSN::WINDOW::SetShape(), DSN::KEEPOUT::SetShape(), and DSN::WIRE::SetShape().
|
friend |
Definition at line 2222 of file specctra.h.
|
private |
Definition at line 2232 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doPADSTACK(), FormatContents(), and PADSTACK().
|
private |
Definition at line 2233 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 2224 of file specctra.h.
Referenced by Compare().
|
privateinherited |
ELEM pointers.
Definition at line 360 of file specctra.h.
Referenced by DSN::ELEM_HOLDER::Append(), DSN::ELEM_HOLDER::At(), DSN::ELEM_HOLDER::Delete(), DSN::ELEM_HOLDER::FindElem(), DSN::ELEM_HOLDER::Insert(), DSN::ELEM_HOLDER::Length(), DSN::ELEM_HOLDER::Remove(), and DSN::ELEM_HOLDER::Replace().
|
private |
Definition at line 2226 of file specctra.h.
Referenced by Compare(), DSN::SPECCTRA_DB::doPADSTACK(), Format(), GetPadstackId(), DSN::SPECCTRA_DB::makeIMAGE(), DSN::SPECCTRA_DB::makeVIA(), and SetPadstackId().
|
protectedinherited |
Definition at line 276 of file specctra.h.
Referenced by DSN::ELEM::GetUnits(), and DSN::ELEM::SetParent().
|
private |
Definition at line 2231 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doPADSTACK(), FormatContents(), and PADSTACK().
|
private |
Definition at line 2236 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doPADSTACK(), FormatContents(), PADSTACK(), and ~PADSTACK().
|
staticprotectedinherited |
Definition at line 273 of file specctra.h.
Referenced by DSN::ELEM::makeHash().
|
protectedinherited |
Definition at line 275 of file specctra.h.
Referenced by DSN::UNIT_RES::Format(), DSN::ELEM::Name(), and DSN::ELEM::Type().
|
private |
Definition at line 2227 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doPADSTACK(), FormatContents(), GetUnits(), PADSTACK(), and ~PADSTACK().
|
private |
Definition at line 2234 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doPADSTACK(), and FormatContents().