00001
00002
00003
00004
00005
00006
00007
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 -- -- . --