19 cout <<
"constructing DataBase" << endl;
26 cout <<
"library name = " << lib.
lib_name << endl;
27 cout <<
"library unit = " << lib.
unit[0] <<
", " << lib.
unit[1] << endl;
28 cout <<
"# CELL = " << lib.
vCell.size() << endl;
29 if (!lib.
vCell.empty())
31 cout <<
"# BOUNDARY = " << lib.
vCell.front().vBoundary.size() << endl;
32 cout <<
"cell name = " << lib.
vCell.front().cell_name << endl;
33 vector<GdsParser::GdsBoundary>
const& vBoundary = lib.
vCell.front().vBoundary;
34 for (
unsigned int i = 0; i < vBoundary.size(); ++i)
36 cout <<
">> BOUNDARY" << endl;
38 for (
unsigned int j = 0; j < vBoundary[i].vPoint.size(); ++j)
40 cout << vBoundary[i].vPoint[j][0] <<
", " << vBoundary[i].vPoint[j][1] << endl;
43 vector<GdsParser::GdsText>
const& vText = lib.
vCell.front().vText;
44 for (
unsigned int i = 0; i < vText.size(); ++i)
46 cout <<
">> TEXT" << endl;
47 cout <<
"STRING: " << vText[i].content << endl;
48 cout <<
"XY: " << vText[i].position[0] <<
", " << vText[i].position[1] << endl;
50 vector<GdsParser::GdsSref>
const& vSref = lib.
vCell.front().vSref;
51 for (
unsigned int i = 0; i < vSref.size(); ++i)
53 cout <<
">> SREF" << endl;
54 cout <<
"SNAME: " << vSref[i].sname << endl;
55 cout <<
"XY: " << vSref[i].position[0] <<
", " << vSref[i].position[1] << endl;
65 int main(
int argc,
char** argv)
70 else cout <<
"at least 1 argument is required" << endl;
virtual void add_gds_lib(GdsParser::GdsLib const &lib)
add GDSII library
high-level wrapper for GdsReader (deprecated)
string lib_name
library name
vector< double > unit
unit
a database for GdsParser::GdsDriver
bool read(GdsDriverDataBase &db, string const &filename)
API function for GdsDriver.