KiCad PCB EDA Suite
|
A base class for any DSN element class. More...
#include <specctra.h>
Public Member Functions | |
ELEM (DSN_T aType, ELEM *aParent=nullptr) | |
virtual | ~ELEM () |
DSN_T | Type () const |
const char * | Name () const |
virtual UNIT_RES * | GetUnits () const |
Return the units for this section. | |
virtual void | Format (OUTPUTFORMATTER *out, int nestLevel) |
Write this object as ASCII out to an OUTPUTFORMATTER according to the SPECCTRA DSN format. | |
virtual void | FormatContents (OUTPUTFORMATTER *out, int nestLevel) |
Write the contents as ASCII out to an OUTPUTFORMATTER according to the SPECCTRA DSN format. | |
void | SetParent (ELEM *aParent) |
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 |
Friends | |
class | SPECCTRA_DB |
A base class for any DSN element class.
See class #ELEM_HOLDER also.
Definition at line 202 of file specctra.h.
Definition at line 3756 of file specctra.cpp.
|
virtual |
Definition at line 3763 of file specctra.cpp.
|
virtual |
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 in DSN::UNIT_RES, DSN::RECTANGLE, DSN::RULE, DSN::LAYER_RULE, DSN::PATH, DSN::BOUNDARY, DSN::CIRCLE, DSN::QARC, DSN::WINDOW, DSN::KEEPOUT, DSN::VIA, DSN::CONTROL, DSN::LAYER, DSN::SPECCTRA_LAYER_PAIR, DSN::LAYER_NOISE_WEIGHT, DSN::TOKPROP, DSN::STRINGPROP, DSN::GRID, DSN::PLACE, DSN::COMPONENT, DSN::SHAPE, DSN::PIN, DSN::IMAGE, DSN::PADSTACK, DSN::FROMTO, DSN::COMP_ORDER, DSN::NET, DSN::CLASS, DSN::WIRE, DSN::WIRE_VIA, DSN::PCB, DSN::ANCESTOR, DSN::SUPPLY_PIN, DSN::NET_OUT, and DSN::SESSION.
Definition at line 3781 of file specctra.cpp.
References FormatContents(), 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(), DSN::ELEM_HOLDER::FormatContents(), DSN::CLASS_CLASS::FormatContents(), DSN::STRUCTURE::FormatContents(), and DSN::ROUTE::FormatContents().
|
inlinevirtual |
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 in DSN::ELEM_HOLDER, DSN::PARSER, DSN::CLASSES, DSN::CLASS_CLASS, DSN::REGION, DSN::STRUCTURE_OUT, DSN::STRUCTURE, DSN::COMPONENT, DSN::PLACEMENT, DSN::IMAGE, DSN::PADSTACK, DSN::LIBRARY, DSN::TOPOLOGY, DSN::NETWORK, DSN::WIRING, DSN::HISTORY, DSN::ROUTE, and DSN::WAS_IS.
Definition at line 242 of file specctra.h.
Referenced by Format(), and makeHash().
|
virtual |
Return the units for this section.
Derived classes may override this to check for section specific overrides.
Reimplemented in DSN::STRUCTURE, DSN::PLACEMENT, DSN::IMAGE, DSN::PADSTACK, DSN::LIBRARY, DSN::WIRING, DSN::PCB, and DSN::ROUTE.
Definition at line 3772 of file specctra.cpp.
References DSN::UNIT_RES::Default, GetUnits(), and parent.
Referenced by DSN::SPECCTRA_DB::FromSESSION(), 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().
|
inlineprotected |
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(), FormatContents(), STRING_FORMATTER::GetString(), sf, and STRING_FORMATTER::StripUseless().
Referenced by DSN::IMAGE::Compare(), and DSN::PADSTACK::Compare().
const char * DSN::ELEM::Name | ( | ) | const |
Definition at line 3767 of file specctra.cpp.
References type.
Referenced by 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 |
Definition at line 247 of file specctra.h.
References 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().
|
inline |
Definition at line 210 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::WINDOW::SetShape(), DSN::KEEPOUT::SetShape(), and DSN::WIRE::SetShape().
|
friend |
Definition at line 279 of file specctra.h.
|
protected |
Definition at line 276 of file specctra.h.
Referenced by GetUnits(), and SetParent().
|
staticprotected |
Definition at line 273 of file specctra.h.
Referenced by makeHash().
|
protected |
Definition at line 275 of file specctra.h.
Referenced by DSN::SPECCTRA_DB::doNET(), DSN::UNIT_RES::Format(), Name(), and Type().