![]() |
KiCad PCB EDA Suite
|
ELEM_HOLDER is a holder for any DSN class. More...
#include <specctra.h>
Public Member Functions | |
ELEM_HOLDER (DSN_T aType, ELEM *aParent=0) | |
virtual void | FormatContents (OUTPUTFORMATTER *out, int nestLevel) override |
Function FormatContents writes the contents as ASCII out to an OUTPUTFORMATTER according to the SPECCTRA DSN format. More... | |
int | FindElem (DSN_T aType, int instanceNum=0) |
Function FindElem finds a particular instance number of a given type of ELEM. More... | |
int | Length () const |
Function Length returns the number of ELEMs in this ELEM. 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 |
virtual UNIT_RES * | GetUnits () const |
Function GetUnits returns the units for this section. More... | |
virtual void | Format (OUTPUTFORMATTER *out, int nestLevel) |
Function Format writes this object as ASCII out to an OUTPUTFORMATTER according to the SPECCTRA DSN format. More... | |
void | SetParent (ELEM *aParent) |
Protected Member Functions | |
std::string | makeHash () |
Function makeHash returns a string which uniquely represents this ELEM amoung 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 | |
ELEM_ARRAY | kids |
ELEM pointers. More... | |
Friends | |
class | SPECCTRA_DB |
ELEM_HOLDER is a holder for any DSN class.
It can contain other class instances, including classes derived from this class.
Definition at line 280 of file specctra.h.
|
private |
Definition at line 284 of file specctra.h.
Definition at line 290 of file specctra.h.
|
inline |
Definition at line 320 of file specctra.h.
References 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().
|
inline |
Definition at line 342 of file specctra.h.
References kids.
Referenced by DSN::CONTROL::Format(), FormatContents(), DSN::STRUCTURE::FormatContents(), and operator[]().
|
inline |
int DSN::ELEM_HOLDER::FindElem | ( | DSN_T | aType, |
int | instanceNum = 0 |
||
) |
Function FindElem finds 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 3536 of file specctra.cpp.
References kids, and DSN::ELEM::Type().
|
virtualinherited |
Function Format writes 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 preceed the output with. |
IO_ERROR | if a system error writing the output, such as a full disk. |
Reimplemented in DSN::SESSION, DSN::NET_OUT, DSN::SUPPLY_PIN, DSN::ANCESTOR, DSN::PCB, DSN::WIRE_VIA, DSN::WIRE, DSN::CLASS, DSN::NET, DSN::COMP_ORDER, DSN::FROMTO, DSN::PADSTACK, DSN::IMAGE, DSN::PIN, DSN::SHAPE, DSN::COMPONENT, DSN::PLACE, DSN::GRID, DSN::STRINGPROP, DSN::TOKPROP, DSN::LAYER_NOISE_WEIGHT, DSN::SPECCTRA_LAYER_PAIR, DSN::LAYER, DSN::CONTROL, DSN::VIA, DSN::KEEPOUT, DSN::WINDOW, DSN::QARC, DSN::CIRCLE, DSN::BOUNDARY, DSN::PATH, DSN::LAYER_RULE, DSN::RULE, DSN::RECTANGLE, and DSN::UNIT_RES.
Definition at line 3519 of file specctra.cpp.
References DSN::ELEM::FormatContents(), DSN::ELEM::Name(), and OUTPUTFORMATTER::Print().
Referenced by DSN::WINDOW::Format(), DSN::KEEPOUT::Format(), DSN::CONTROL::Format(), DSN::PLACE::Format(), DSN::SHAPE::Format(), DSN::CLASS::Format(), DSN::WIRE::Format(), DSN::PCB::Format(), DSN::SESSION::Format(), FormatContents(), DSN::CLASS_CLASS::FormatContents(), DSN::STRUCTURE::FormatContents(), and DSN::ROUTE::FormatContents().
|
overridevirtual |
Function FormatContents writes 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 preceed the output with. |
IO_ERROR | if a system error writing the output, such as a full disk. |
Reimplemented from DSN::ELEM.
Reimplemented in DSN::PADSTACK, DSN::IMAGE, DSN::STRUCTURE, DSN::REGION, and DSN::CLASS_CLASS.
Definition at line 3529 of file specctra.cpp.
References At(), DSN::ELEM::Format(), and Length().
Referenced by DSN::CLASS_CLASS::FormatContents(), DSN::REGION::FormatContents(), DSN::IMAGE::FormatContents(), and DSN::PADSTACK::FormatContents().
|
virtualinherited |
Function GetUnits returns the units for this section.
Derived classes may override this to check for section specific overrides.
Reimplemented in DSN::ROUTE, DSN::PCB, DSN::WIRING, DSN::LIBRARY, DSN::PADSTACK, DSN::IMAGE, DSN::PLACEMENT, and DSN::STRUCTURE.
Definition at line 3510 of file specctra.cpp.
References DSN::UNIT_RES::Default, DSN::ELEM::GetUnits(), and DSN::ELEM::parent.
Referenced by DSN::SPECCTRA_DB::FromSESSION(), DSN::ELEM::GetUnits(), DSN::STRUCTURE::GetUnits(), DSN::PLACEMENT::GetUnits(), DSN::IMAGE::GetUnits(), DSN::PADSTACK::GetUnits(), DSN::LIBRARY::GetUnits(), DSN::WIRING::GetUnits(), DSN::PCB::GetUnits(), and DSN::ROUTE::GetUnits().
|
inline |
|
inline |
Function Length returns the number of ELEMs in this ELEM.
Definition at line 315 of file specctra.h.
References kids.
Referenced by DSN::CONTROL::Format(), FormatContents(), DSN::STRUCTURE::FormatContents(), and DSN::SPECCTRA_DB::makeVIA().
|
inlineprotectedinherited |
Function makeHash returns a string which uniquely represents this ELEM amoung other ELEMs of the same derived class as "this" one.
It is not useable 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 211 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 DSN::PADSTACK::Compare().
|
inherited |
Definition at line 3505 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(), DSN::PADSTACK::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().
|
inline |
|
inline |
|
inlineinherited |
Definition at line 268 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 230 of file specctra.h.
References DSN::ELEM::type.
Referenced by DSN::SPECCTRA_DB::doCLASS_CLASS(), FindElem(), DSN::SPECCTRA_DB::FromSESSION(), DSN::SPECCTRA_DB::makeVIA(), DSN::WINDOW::SetShape(), DSN::KEEPOUT::SetShape(), and DSN::WIRE::SetShape().
|
friend |
Definition at line 282 of file specctra.h.
|
private |
|
protectedinherited |
Definition at line 199 of file specctra.h.
Referenced by DSN::ELEM::GetUnits(), and DSN::ELEM::SetParent().
|
staticprotectedinherited |
Definition at line 221 of file specctra.h.
Referenced by DSN::ELEM::makeHash().
|
protectedinherited |
Definition at line 198 of file specctra.h.
Referenced by DSN::UNIT_RES::Format(), DSN::ELEM::Name(), and DSN::ELEM::Type().