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 2119 of file specctra.h.
|
privateinherited |
Definition at line 357 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 2127 of file specctra.h.
References m_absolute, m_attach, m_rotate, m_rules, and m_unit.
|
inline |
Definition at line 2137 of file specctra.h.
|
inlineinherited |
Definition at line 321 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 340 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 3816 of file specctra.cpp.
References m_hash, m_padstack_id, and DSN::ELEM::makeHash().
Referenced by DSN::LIBRARY::FindVia(), and DSN::operator<().
|
inlineinherited |
Definition at line 352 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 3790 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 2158 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 2170 of file specctra.h.
References DSN::UNIT_RES::Format(), DSN::RULE::Format(), 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 2143 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 2206 of file specctra.h.
References DSN::ELEM::GetUnits(), and m_unit.
|
inlineinherited |
Definition at line 338 of file specctra.h.
References DSN::ELEM_HOLDER::kids.
|
inlineinherited |
Return the number of ELEMs in this holder.
Definition at line 316 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 262 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 3759 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 |
Definition at line 347 of file specctra.h.
References DSN::ELEM_HOLDER::At().
|
inlineinherited |
Definition at line 332 of file specctra.h.
References DSN::ELEM_HOLDER::kids.
Definition at line 326 of file specctra.h.
References DSN::ELEM_HOLDER::kids.
|
inline |
Definition at line 2153 of file specctra.h.
References m_padstack_id.
Referenced by DSN::SPECCTRA_DB::makePADSTACK(), and DSN::SPECCTRA_DB::makeVia().
|
inlineinherited |
Definition at line 246 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 209 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 2215 of file specctra.h.
|
privateinherited |
ELEM pointers.
Definition at line 359 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 2225 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doPADSTACK(), FormatContents(), and PADSTACK().
|
private |
Definition at line 2226 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 2217 of file specctra.h.
Referenced by Compare().
|
private |
Definition at line 2219 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 2224 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doPADSTACK(), FormatContents(), and PADSTACK().
|
private |
Definition at line 2229 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doPADSTACK(), FormatContents(), PADSTACK(), and ~PADSTACK().
|
private |
Definition at line 2220 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doPADSTACK(), FormatContents(), GetUnits(), PADSTACK(), and ~PADSTACK().
|
private |
Definition at line 2227 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doPADSTACK(), and FormatContents().
|
protectedinherited |
Definition at line 275 of file specctra.h.
Referenced by DSN::ELEM::GetUnits(), and DSN::ELEM::SetParent().
|
staticprotectedinherited |
Definition at line 272 of file specctra.h.
Referenced by DSN::ELEM::makeHash().
|
protectedinherited |
Definition at line 274 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doNET(), DSN::UNIT_RES::Format(), DSN::ELEM::Name(), and DSN::ELEM::Type().