Main Page   Class Hierarchy   Compound List   File List   Compound Members  

gbrhier.h

00001 
00002 
00003 /*
00004 Program                 HIERDRV.H
00005 Purpose                 Virtual base class for all screendrivers (header)
00006                                         derived drivers must overload Draw functions!
00007                                         Mapping and clipping is done here
00008 */
00009 
00010 #ifndef _GBRDRIVER
00011 #define _GBRDRIVER
00012 #ifdef __GNUG__
00013 #pragma interface
00014 #endif
00015 
00016 #define MAX_POINTS_TODRAW 40000
00017 #define MININT -30000
00018 #define MAXINT  30000
00019 
00022 
00023 #include "_lnk_itr.h"
00024 #include "drivout.h"
00025 #include "lsetup.h"
00026 #include "wxmatrix.h"
00027 #include "bbox.h"
00028 #include "shape.h"
00029 
00030 #include "polyline.h"
00031 
00032 
00033 enum GBR_TOOLS {GBR_NORMAL,GBR_HOLE,GBR_LINK};
00034 
00036 
00042 class GBRDriver: public Driver_out
00043 {
00044         public:
00046 
00050                 GBRDriver(const wxString& _filename, bool only_visible = false);
00052                 ~GBRDriver();
00053 
00054                 void  WriteNumber(double big);
00055 
00056                 void                            Write(Box* _Box);
00057                 void                            Write(Circle* _Circle);
00058                 void                            Write(ArrayReference*);
00059                 void                            Write(Element*);
00060                 void                            Write(Boundary*);
00061                 void                            Write(GdsII*);
00062                 void                            Write(Library*) {};
00063                 void                            Write(Path*);
00064                 void                            Write(Arcseg*);
00065                 void                            Write(Point*);
00066                 void                            Write(Segment*);
00067                 void                            Write(G_Polygon*);
00068                 void                            Write(G_Polyline*);
00069                 void                            Write(StructureReference*);
00070                 void                            Write(Structure*);
00071                 void                            Write(Text*);
00072 
00073         protected:
00074            int                                                          rad2deg(double value);
00075 
00076                 virtual void                                    SetLayer(int layer) {};
00077                 virtual void                                    UnSetLayer(){};
00078                 bool                                                    NeedToDraw(int);
00079 
00081       Structure*                 _showstructure;
00082 
00084                 wxTransformMatrix*      _matrix;
00085 
00087                 bool                                                    _visible;
00090                 G_Polygon*                 _AbsPolygon;
00091 
00092            TDLI<Segment>*                               _AI;
00093 
00094                 int                                                             _ActiveLayer;
00095 
00096                 wxString        GBR_out_filename;
00098                 ofstream        GBR_out_file;
00100                 int      points_written;
00102 
00104       Point     _mid;
00105       double   _Radius,_beginrad,_endrad,_midrad,_phit;
00107       Point    _next;
00109       bool   _first;
00111       bool   _second;
00113       bool   _right;
00115       bool   _pulsed;
00116 
00117       GBR_TOOLS m_active;
00118 
00119 };
00120 
00121 #endif
gbrhier.h Source File -- Thu Nov 28 21:24:56 2002 -- 28 Nov 2002 -- 1.2.18 -- -- . -- Main Page