00001 00002 00003 /* 00004 Program GDSDUMP.H 00005 Purpose Creates a plain text file from a GDS-II structure 00006 Programmers R. Spekreijse & N. Noorlander 00007 Last Update 22-12-1995 00008 */ 00009 00010 #ifndef _KEY_OUTDRIVER 00011 #define _KEY_OUTDRIVER 00012 00013 #ifdef __GNUG__ 00014 #pragma interface 00015 #endif 00016 00017 #include <string.h> 00018 #include <fstream.h> 00019 00020 #include "drivout.h" 00021 #include "misc.h" 00022 #include "gdserr.h" 00023 #include "lsetup.h" 00024 #include "wx/proplist.h" 00025 00026 class Strans; 00027 00029 00036 class KEY_driver_out: public Driver_out 00037 { 00038 public: 00040 00044 KEY_driver_out(const wxString& _filename, bool only_visible = false); 00045 00047 ~KEY_driver_out(); 00048 00050 void Write(ArrayReference*); 00051 void Write(Element*); 00052 void Write(Boundary*); 00053 void Write(Box* _Box); 00054 void Write(Circle* _Circle); 00055 void WriteFlags(Element*); 00056 void Write(GdsII*); 00057 void Write(Library*); 00058 void Write(Path*); 00059 void Write(Arcseg*); 00060 void Write(Point*); 00061 void Write(Segment *_Segment); 00062 void Write(G_Polygon*); 00063 void Write(G_Polyline*); 00064 void Write(StructureReference*); 00065 void Write(Structure*); 00066 void Write(Text*); 00067 void Write(Image* _image); 00068 void Write(SLine* line); 00069 00070 protected: 00071 void Write(Strans*); 00072 00074 void Write(wxPropertySheet* propsheet); 00075 00077 void WriteHeader(); 00078 00080 wxString KEY_out_filename; 00081 00083 ofstream KEY_out_file; 00084 00086 int points_written; 00087 00089 int _mapping_out[1000]; 00090 }; 00091 00092 #endif _GDS_DRIVER