gbrhier.h Source File

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