00001
00002
00003
00004
00005
00006
00007
00008 #pragma interface
00009 #ifndef _SCREENDRIVER
00010 #define _SCREENDRIVER
00011
00012 #define MAX_POINTS_TODRAW 40000
00013 #define MININT -30000
00014 #define MAXINT 30000
00015
00016
00017 #include "_lnk_itr.h"
00018 #include "drivout.h"
00019 #include "setup.h"
00020 #include "matrix.h"
00021 #include "bbox.h"
00022 #include "shape.h"
00023
00024 #include "polyline.h"
00025
00026
00027
00028 class HierDriver: public Driver_out
00029 {
00030 public:
00031 virtual bool Pending()=0;
00032
00033 HierDriver();
00034 ~HierDriver();
00035
00036
00037
00038
00039
00040
00041 void Write(Box* _Box);
00042 void Write(Circle* _Circle);
00043 void Write(ArrayReference*);
00044 void Write(Bgnlib*) {};
00045 void Write(Bgnstr*) {};
00046 void Write(Element*);
00047 void Write(Boundary*);
00048 void Write(ElementList*);
00049 void Write(ColumnsRows*) {};
00050 void Write(Elflags*) {};
00051 void Write(GdsII*);
00052 void Write(Header*) {};
00053 void Write(Library*) {};
00054 void Write(Path*);
00055 void Write(Arcseg*);
00056 void Write(Pathtype*) {};
00057 void Write(Point*);
00058 void Write(Segment*);
00059 void Write(G_Polygon*);
00060 void Write(G_Polyline*);
00061 void Write(Presentation*) {};
00062 void Write(Strans*) {};
00063 void Write(StructureList*) {};
00064 void Write(StructureReference*);
00065 void Write(Structure*);
00066 void Write(Text*);
00067 void Write(Texttype*) {};
00068 void Write(Units*) {};
00069
00070 void SetUnits(Units* units);
00071
00072 protected:
00073
00074 virtual void SetLayer(int layer) = 0;
00075 virtual void UnSetLayer()= 0;
00076 virtual void GDSDrawText(char* text, double x, double y, double x2, double y2, Presentation*, Matrix<double>*)=0;
00077
00078 void Transform(EIGHT_G_BYTE_REAL&,
00079 EIGHT_G_BYTE_REAL&);
00080 void Transform(EIGHT_G_BYTE_REAL&,
00081 EIGHT_G_BYTE_REAL&,
00082 EIGHT_G_BYTE_REAL&,
00083 EIGHT_G_BYTE_REAL&);
00084
00085 bool NeedToDraw(int);
00086
00087 Structure* _showstructure;
00088 Structure* _drawstructure;
00089
00090 Matrix<EIGHT_G_BYTE_REAL>* _matrix;
00091
00092 bool _visible;
00093 Units* _units;
00094
00095 G_Polygon* _AbsPolygon;
00096 TDLI<Segment>* _AI;
00097
00098 int _ActiveLayer;
00099 };
00100
00101 #endif
genhier.h Source File -- Thu Nov 28 21:24:56 2002 -- 28 Nov 2002 -- 1.2.18 -- -- . --