00001 00002 00003 /* 00004 Program SETUP.H 00005 Purpose Holds setup information about each layer 00006 Programmers R. Spekreijse 00007 Last Update 22-12-1995 00008 */ 00009 00010 #ifndef UNITS_H 00011 #define UNITS_H 00012 00013 #ifdef __GNUG__ 00014 #pragma interface 00015 #endif 00016 00017 #include <wx/string.h> 00018 00019 class CommandHandler; 00020 class GDSMainWindow; 00021 class DrawDriver; 00022 class Canvas; 00023 class ToolControl; 00024 class FillPatterns; 00025 class Setup; 00026 class AliasList; 00027 00029 00040 class Global 00041 { 00042 public: 00043 Global(); 00044 ~Global(); 00045 public: 00046 bool WINDINGRULE; 00047 00049 double USERUNITS(); 00051 double PHYSUNITS(); 00052 00054 void USERUNITS(double userunit); 00056 void PHYSUNITS(double physicalunit); 00057 00059 double ENTRYUNITS(); 00060 00061 double SNAPFACTOR(); 00062 double SELECT_SNAPFACTOR(); 00063 double CORRECTIONFACTOR(); 00064 double CORRECTIONABER(); 00065 double ROUNDFACTOR(); 00066 00067 double POLYTOARCRMIN(); 00068 double POLYTOARCRMAX(); 00069 double POLYTOARCABER(); 00070 00071 double ARCTOPOLYABER(); 00072 00073 double ACCUR(); 00074 double SMOOTHABER(); 00075 double MAXLINEMERGE(); 00076 00077 double DISPLAYABER(); 00078 00079 int STRUCTHRES(); 00080 int PRIMTHRES(); 00081 bool DRAWSMALLPRIM(); 00082 00084 long EVENT_COUNTER; 00085 00087 GDSMainWindow* MAINWINDOW; 00089 CommandHandler* CMDH; 00090 00092 bool INITIALIZED; 00094 DrawDriver* SCRDRV; 00095 Canvas* CANVAS; 00097 ToolControl* TOOLCTRL; 00098 00100 AliasList* ALIASLIST; 00101 00102 00104 Setup* SETUP; 00106 FillPatterns* FILLPAT; 00107 private: 00108 double m_userunits; 00109 double m_physicalunits; 00110 }; 00111 00112 extern Global* GLOB; 00113 00114 00116 class wxUnit 00117 { 00118 public: 00119 wxUnit(); 00120 ~wxUnit(); 00121 00123 wxUnit(double number,double multi); 00125 wxUnit(double number,const wxString& multi); 00127 wxUnit(const wxString& number,const wxString& multi); 00129 bool Eval(const wxString& param); 00131 double GetValue(); 00133 double GetNumber(); 00135 double GetMultiplier(); 00137 wxString& GetValueString(); 00139 wxString& GetMultiplierString(); 00141 wxString& GetNumberString(); 00142 00144 wxUnit& operator=(const wxUnit&); 00146 wxUnit& operator=(const char*); 00148 operator double(); 00150 wxUnit& operator=(double); 00151 int operator==(const wxUnit&) const; 00152 int operator!=(const wxUnit&) const; 00153 00154 protected: 00156 wxString m_multi; 00158 wxString m_number; 00159 }; 00160 00161 00162 #endif 00163