Main Page   Class Hierarchy   Compound List   File List   Compound Members  

exlout.h

00001 /*
00002 Program         GDSDUMP.H
00003 Purpose         Creates a plain text file from a GDS-II structure
00004 Programmers             R. Spekreijse & N. Noorlander
00005 Last Update             22-12-1995
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                 // constructor and destructor
00029                 EXL_driver_out(const wxString& _filename, bool only_visible = false);
00030                 ~EXL_driver_out();
00031 
00032                 void  WriteNumber(double big);
00033                 // overloaded function from class Driver
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       // for containing the absolute polygon
00055                 G_Polygon*                 _AbsPolygon;
00056 
00057            TDLI<Segment>*                               _AI;
00058 
00059       // holds the matrix from structure reference
00060                 wxTransformMatrix*      _matrix;
00061 
00062                 wxString EXL_out_filename;              // the filename
00063                 ofstream        EXL_out_file;                   // the output stream
00064                 int      points_written;      // number of points on one line
00065       //the following data is temp data for arcsegments
00066       Point     _mid;                // middle point of arc segment
00067       double   _RadiusC,_Radius,_beginrad,_endrad,_midrad,_phit;
00068       int      m_tool_count_for_holes;
00069       Point    _next;                              // end point of arc to write
00070       bool   _first;              //to tell if it is the first point of a polygon or polyline
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 -- -- . -- Main Page