genhier.h Source File

Main Page Class Hierarchy Compound List File List Compound Members

# genhier.h

    00001 /*
    00002 Program                 SCRNDRV.H
    00003 Purpose                 Virtual base class for all screendrivers (header)
    00004                                         derived drivers must overload Draw functions!
    00005                                         Mapping and clipping is done here
    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 // #endif
    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 // now declare the real class
    00028 class HierDriver: public Driver_out
    00029 {
    00030         public:
    00031                 virtual bool Pending()=0;
    00032                 // constructors and destructor
    00033                 HierDriver();
    00034                 ~HierDriver();
    00035
    00036                 // overloaded functions from class Driver_out
    00037                 // Some are not used for screen output -> {}
    00038                 // overloaded here because derived classes don't need them and
    00039                 // there are useless here because we don't draw them
    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;   // top of visible structures
    00088       Structure*                 _drawstructure;   // structure to be drawn
    00089
    00090                 Matrix<EIGHT_G_BYTE_REAL>*      _matrix;                                // holds the matrix from structure reference
    00091
    00092                 bool                                                    _visible;                       // is this structure visible?
    00093                 Units*                                           _units;                 // holds the units from the library
    00094
    00095                 G_Polygon*                 _AbsPolygon;      // for containing the absolute polygon
    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 -- -- . -- Main Page