Main Page   Class Hierarchy   Compound List   File List   Compound Members  

flashout.h

00001 
00002 
00003 /*
00004  *      Program         FLASHOUT.H
00005  *      Purpose         Creates a Mann file from a GDS-II structure
00006  *      Author          J.C.Mollien
00007  *              "Sunday morning I'm waking up, can't even focus on my coffee cup
00008  *     I don't know whose bed I'm in, where do I start, where do I begin?"
00009  *      Modified                03-09-1997
00010  * Created              19-08-1997
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;               // fout element in file (!box)
00078 
00079                 double  X[3];   double  Y[3];   // to store points(x,y)
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 -- -- . -- Main Page