00001
00002
00003
00004
00005
00006
00007
00008 #ifndef _EXL_OUTDRIVER
00009 #define _EXL_OUTDRIVER
00010
00011 #ifdef __GNUG__
00012 #pragma interface
00013 #endif
00014
00015 #include <string.h>
00016 #include <fstream.h>
00017
00018 #include "_lnk_itr.h"
00019 #include "drivout.h"
00020 #include "misc.h"
00021 #include "gdserr.h"
00022 #include "lsetup.h"
00023 #include "point.h"
00024
00025 class EXL_driver_out: public Driver_out
00026 {
00027 public:
00028
00029 EXL_driver_out(const wxString& _filename, bool only_visible = false);
00030 ~EXL_driver_out();
00031
00032 void WriteNumber(double big);
00033
00034 void Write(ArrayReference*);
00035 void Write(Element*);
00036 void Write(Boundary*);
00037 void Write(Box* _Box);
00038 void Write(Circle* _Circle);
00039 void Write(GdsII*);
00040 void Write(Library*);
00041 void Write(Path*);
00042 void Write(Arcseg*);
00043 void Write(Point*);
00044 void Write(Segment *_Segment);
00045 void Write(G_Polygon*);
00046 void Write(G_Polyline*);
00047 void Write(StructureReference*);
00048 void Write(Structure*);
00049 void Write(Text*);
00050
00051 protected:
00052 void WriteHeader();
00053
00054
00055 G_Polygon* _AbsPolygon;
00056
00057 TDLI<Segment>* _AI;
00058
00059
00060 wxTransformMatrix* _matrix;
00061
00062 wxString EXL_out_filename;
00063 ofstream EXL_out_file;
00064 int points_written;
00065
00066 Point _mid;
00067 double _RadiusC,_Radius,_beginrad,_endrad,_midrad,_phit;
00068 int m_tool_count_for_holes;
00069 Point _next;
00070 bool _first;
00071
00072 GdsII* m_flatcopy;
00073 };
00074
00075 #endif _GDS_DRIVER
exlout.h Source File -- Thu Nov 28 21:24:56 2002 -- 28 Nov 2002 -- 1.2.18 -- -- . --