00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef _FLASH_OUTDRIVER
00014 #define _FLASH_OUTDRIVER
00015
00016 #ifdef __GNUG__
00017 #pragma interface
00018 #endif
00019
00020 #include <string.h>
00021 #include <fstream.h>
00022 #include <math.h>
00023
00024 #include "drivout.h"
00025 #include "misc.h"
00026 #include "gdserr.h"
00027 #include "lsetup.h"
00028
00030
00035 class FLASH_driver_out: public Driver_out
00036 {
00037 public:
00038 FLASH_driver_out(const wxString& _filename, bool only_visible=false);
00039 ~FLASH_driver_out();
00040
00041 void Write(ArrayReference*);
00042 void Write(Element*);
00043 void Write(Boundary*);
00044 void Write(Box* _Box);
00045 void Write(Circle* _Circle);
00046 void Write(GdsII*);
00047 void Write(Library*);
00048 void Write(Path*);
00049 void Write(Arcseg*);
00050 void Write(Point*);
00051 void Write(Segment *_Segment);
00052 void Write(G_Polygon*);
00053 void Write(G_Polyline*);
00054 void Write(StructureReference*);
00055 void Write(Structure*);
00056 void Write(Text*);
00057
00058 protected:
00059 void WriteHeader();
00060 void WriteOuttro();
00061
00062 void ReadFlash();
00063 void WriteFlash();
00064
00065 int rad2deg(double value);
00066
00067 private:
00068
00070 wxString FLASH_out_filename;
00072 ofstream FLASH_out_file;
00073
00074 int Flashes_Written;
00075 int Points_Written;
00076
00077 int error;
00078
00079 double X[3]; double Y[3];
00080
00081 double a;
00082 double w;
00083 double h;
00084 double x;
00085 double y;
00086
00089 int Xpos;
00092 int Ypos;
00095 int Width;
00098 int Height;
00101 int Angle;
00102
00104 int lastXpos;
00106 int lastYpos;
00108 int lastWidth;
00110 int lastHeight;
00112 int lastAngle;
00113 };
00114
00115 #endif _FLASH_OUTDRIVER
flashout.h Source File -- Thu Nov 28 21:24:56 2002 -- 28 Nov 2002 -- 1.2.18 -- -- . --