cnchier.h Source File

Main Page Class Hierarchy Compound List File List Compound Members

# cnchier.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 _HIERDRIVER
    00011 #define _HIERDRIVER
    00012 #ifdef __GNUG__
    00013 #pragma interface
    00014 #endif
    00015
    00016 #define MAX_POINTS_TODRAW 40000
    00017 #define MININT -30000
    00018 #define MAXINT  30000
    00019
    00020 #include "_lnk_itr.h"
    00021 #include "drivout.h"
    00022 #include "lsetup.h"
    00023 #include "wxmatrix.h"
    00024 #include "bbox.h"
    00025 #include "shape.h"
    00026
    00027 #include "polyline.h"
    00028
    00029
    00031
    00037 class HierDriver: public Driver_out
    00038 {
    00039         public:
    00041
    00045                 HierDriver(const wxString& _filename, bool only_visible = false);
    00047                 ~HierDriver();
    00048
    00049                 void  WriteNumber(double big);
    00050
    00051                 void                            Write(Box* _Box);
    00052                 void                            Write(Circle* _Circle);
    00053                 void                            Write(ArrayReference*);
    00054                 void                            Write(Element*);
    00055                 void                            Write(Boundary*);
    00056                 void                            Write(ElementList*);
    00057                 void                            Write(GdsII*);
    00058                 void                            Write(Library*) {};
    00059                 void                            Write(Path*);
    00060                 void                            Write(Arcseg*);
    00061                 void                            Write(Point*);
    00062                 void                            Write(Segment*);
    00063                 void                            Write(G_Polygon*);
    00064                 void                            Write(G_Polyline*);
    00065                 void                            Write(StructureReference*);
    00066                 void                            Write(Structure*);
    00067                 void                            Write(Text*);
    00068
    00069         protected:
    00070            int                                                          rad2deg(double value);
    00071                 void                                                            AsHole(G_Polyline* _Polyline);
    00072
    00073
    00074                 virtual void                                    SetLayer(int layer) {};
    00075                 virtual void                                    UnSetLayer(){};
    00076
    00077                 bool                                                    NeedToDraw(int);
    00078
    00080       Structure*                 _showstructure;
    00082       Structure*                 _drawstructure;
    00083
    00085                 wxTransformMatrix*      _matrix;
    00086
    00088                 bool                                                    _visible;
    00089
    00091                 G_Polygon*                 _AbsPolygon;
    00092
    00093            TDLI<Segment>*                               _AI;
    00094
    00095                 int                                                             _ActiveLayer;
    00096
    00097                 wxString        CNC_out_filename;
    00099                 ofstream        CNC_out_file;
    00101                 int      points_written;
    00103
    00105       Point     _mid;
    00106       double   _Radius,_beginrad,_endrad,_midrad,_phit;
    00108       Point    _next;
    00110       bool   _first;
    00112       bool   _right;
    00113
    00115       bool   _radcor;
    00116
    00118       bool   _pulsed;
    00119
    00121       double m_px;
    00123       double m_py;
    00124 };
    00125
    00126 #endif

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