emaskout.h Source File

Main Page Class Hierarchy Compound List File List Compound Members

# emaskout.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 _EMASK_OUTDRIVER
    00014 #define _EMASK_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
    00025 #include "drivout.h"
    00026 #include "misc.h"
    00027 #include "gdserr.h"
    00028 #include "lsetup.h"
    00029
    00031
    00036 class EMASK_driver_out: public Driver_out
    00037 {
    00038         public:
    00039                 // constructor and destructor
    00040                 EMASK_driver_out(const wxString& _filename, bool only_visible=false);
    00041                 ~EMASK_driver_out();
    00042
    00043                 // overloaded function from class Driver
    00044                 void    Write(ArrayReference*);
    00045                 void    Write(Element*);
    00046                 void    Write(Boundary*);
    00047                 void  Write(Box* _Box);
    00048                 void  Write(Circle* _Circle);
    00049                 void    Write(GdsII*);
    00050                 void    Write(Library*);
    00051                 void    Write(Path*);
    00052                 void    Write(Arcseg*);
    00053                 void    Write(Point*);
    00054                 void  Write(Segment *_Segment);
    00055                 void    Write(G_Polygon*);
    00056                 void    Write(G_Polyline*);
    00057                 void    Write(StructureReference*);
    00058                 void    Write(Structure*);
    00059                 void    Write(Text*);
    00060
    00061         protected:
    00062                 void    WriteHeader();
    00063                 void            WriteOuttro();
    00064
    00065                 void            ReadFlash();
    00066                 void            WriteFlash();
    00067
    00068                 int rad2deg(double value);
    00069
    00070         private:
    00071
    00072                 wxString        EMASK_out_filename;     // the filename
    00073                 ofstream        EMASK_out_file;         // the output stream
    00074
    00075                 int      Flashes_Written;
    00076                 int             Points_Written;
    00077
    00078                 int      error;               // fout element in file (!box)
    00079
    00080                 double  X[3];   double  Y[3];   // to store points(x,y)
    00081
    00082                 double  a;
    00083                 double  w;
    00084                 double  h;
    00085                 double  x;
    00086                 double  y;
    00087
    00088
    00089                 int     Xpos;                   // to store the calculated Flash
    00090                 int     Ypos;                   // prior to stuffing it in the
    00091                 int     Width;          // file.
    00092                 int     Height;
    00093                 int             Angle;
    00094
    00095                 int     lastXpos;   // to store the last Flash
    00096                 int     lastYpos;
    00097                 int     lastWidth;
    00098                 int     lastHeight;
    00099                 int             lastAngle;
    00100 };
    00101
    00102 #endif _EMASK_OUTDRIVER

emaskout.h Source File -- Thu Nov 28 21:24:56 2002 -- 28 Nov 2002 -- 1.2.18 -- -- . -- Main Page