00001
00002
00003
00004
00005
00006 #ifndef STRUCTURE_H
00007 #define STRUCTURE_H
00008
00009 #ifdef __GNUG__
00010 #pragma interface
00011 #endif
00012
00013 #include <string.h>
00014
00015 #include "misc.h"
00016 #include "wxmatrix.h"
00017 #include "bbox.h"
00018 #include "gdserr.h"
00019 #include "gdsii.h"
00020
00021 #include "proper.h"
00022 #include "elemlst.h"
00023
00024 class DrawDriver;
00025 class Driver_out;
00026
00027 class ModeTime;
00028
00029 class Structure : public ElementList
00030 {
00031 public:
00032
00033 Structure();
00034 Structure(const wxString&);
00035 ~Structure();
00036
00037 void Write(DrawDriver& dr);
00038
00039
00040 void Init(const wxString& name);
00041 void DecrementReferences(int nr = 1);
00042 void IncrementReferences();
00043 void LinkReferences(GdsII* structurelist);
00044
00045 void Rename(const wxString& oud, const wxString& nieuw);
00046 void Rename(GdsII* _structurelist);
00047
00048 Structure& operator=(Structure&);
00049
00050
00051 int GetReferenced();
00052 void SetReferenced(int);
00053 void ResetReferenced();
00054 const wxString& GetStructureName();
00055 void SetStructureName(const wxString&);
00056 ModeTime* GetBgnstr();
00057 void SetBgnstr(ModeTime*);
00058
00059 int GetExplodeReferenced();
00060 void SetExplodeReferenced(int);
00061 void ResetExplodeReferenced();
00062 void DecrementExplodeReferences(int nr = 1);
00063 void IncrementExplodeReferences();
00064 void Explode(Structure* _Top,bool selectedonly,GdsII* _structurelist);
00065 void Flatten(Structure* _Top,wxTransformMatrix* _Matrix,bool, bool , EleFlags,bool deep);
00066
00068 void SetStamp(long event);
00070 long GetStamp();
00071
00072 protected:
00073 void Redirect(Structure* _old,Structure* _new);
00074
00075 wxString _structurename;
00076 ModeTime* _bgnstr;
00077 int _nr_of_references;
00078 int _nr_of_explode_references;
00079
00081 long _stamp;
00082 };
00083
00084 #endif
structur.h Source File -- Thu Nov 28 21:24:56 2002 -- 28 Nov 2002 -- 1.2.18 -- -- . --