Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

OHL.hpp

Go to the documentation of this file.
00001 
00011 class OHL : public OGraphic
00012 {
00013         protected:      
00014                 void svgPoint(ostream &);
00015                 bool pointsClosed();
00016                 void svgLine(ostream &);
00017                 bool linesClosed();
00018                 
00019                 deque <OGraphic*> oa;   // object array
00020                 deque <AGraphic*> aa;   // attribute array
00021         
00022         public:
00023                 OGraphic* clone() const;
00024                 inline OGraphic* create() const;
00025                 OHL();
00026                 ~OHL();
00027                         
00028                 void oClear();
00029                 void aClear();
00030                 
00031                 inline int osize();
00032                 inline void newObject();
00033                 inline void newObject(OGraphic*);
00034                 inline void deleteObject(int);
00035                 inline OGraphic* objectRead(int);
00036                 inline int rangeRead(OGraphic*);
00037                 inline void objectWrite(OGraphic*,int);
00038                 inline void objectPush(OGraphic*,int);
00039                 inline void objectInsert(OGraphic*,int);
00040                 
00041                 inline int asize();
00042                 inline void newAttribute();
00043                 inline void newAttribute(AGraphic*);
00044                 inline void deleteAttribute(int);
00045                 inline AGraphic* attributeRead(int);
00046                 inline int rangeRead(AGraphic*);
00047                 inline void attributeWrite(AGraphic*,int);
00048                 inline void attributePush(AGraphic*,int);
00049                 inline void attributeInsert(AGraphic*,int);
00050                 
00051                 string getFOName();
00052                 string getFAName();
00053                 bool sameObject();
00054                 bool sameObject(string &);
00055                 bool sameAttribute();
00056                 bool sameAttribute(string &);
00057                 
00058                 inline deque<OGraphic*> readOGraphicArray();
00059                 deque<OGraphic*> readOGraphicArray(string &);
00060                 void readOGraphicArray(string &,deque<OGraphic*> &);
00061                 
00062                 void writeOGraphicArray(deque<OGraphic*> &);
00063                 void addOGraphicArray(deque<OGraphic*> &);
00064                 void writeOGraphicArray(string &,deque<OGraphic*> &);
00065                 int writeOGraphicArray(string &,deque<OGraphic*> &,int);
00066 
00067                 //to be continue .... read/write attribute array
00068 
00069                 void gomo(ostream &);
00070                 void gomi(istream &);
00071                 void xmlo(ostream &);
00072                 void svgo(ostream &);
00073 };
00074 
00078 inline OGraphic* OHL::create() const
00079         { return new OHL(); }
00080 
00084 inline int OHL::osize()
00085         { return oa.size(); }
00089 inline void OHL::newObject()
00090         { oa.push_back(new OGraphicImpl()); }
00094 inline void OHL::newObject(OGraphic* o)
00095         { oa.push_back(o); }
00099 inline void OHL::deleteObject(int p)
00100         { if(p<oa.size()) { oa[p]->~OGraphic(); oa.erase(oa.begin()+p);} }
00104 inline OGraphic* OHL::objectRead(int p)
00105         { return oa.at(p); }
00109 inline int OHL::rangeRead(OGraphic* o)
00110         {for(int i=0;i<oa.size();i++) if(oa[i]==o) return i; return -1;}
00114 inline void OHL::objectWrite(OGraphic* o,int p)
00115         { if(p<oa.size()) oa[p] = o; }
00120 inline void OHL::objectPush(OGraphic* o,int p)
00121         { if(p<oa.size()) { oa[p]->~OGraphic(); oa[p] = o;} }
00126 inline void OHL::objectInsert(OGraphic* o,int p)
00127         { if(p<oa.size()) oa.insert(oa.begin()+p,o); }
00128 
00132 inline int OHL::asize()
00133         { return aa.size(); }
00137 inline void OHL::newAttribute()
00138         { aa.push_back(new AGraphicImpl()); }
00142 inline void OHL::newAttribute(AGraphic* a)
00143         { aa.push_back(a); }
00148 inline void OHL::deleteAttribute(int p)
00149         { if(p<aa.size()) { aa[p]->~AGraphic(); aa.erase(aa.begin()+p);} }
00154 inline AGraphic* OHL::attributeRead(int p)
00155         { return aa.at(p); }
00159 inline int OHL::rangeRead(AGraphic* a)
00160         {for(int i=0;i<aa.size();i++) if(aa[i]==a) return i; return -1;}
00165 inline void OHL::attributeWrite(AGraphic* a,int p)
00166         { if(p<aa.size()) aa[p] = a; }
00171 inline void OHL::attributePush(AGraphic* a,int p)
00172         { if(p<aa.size()) {aa[p]->~AGraphic(); aa[p] = a;} }
00177 inline void OHL::attributeInsert(AGraphic* a,int p)
00178         { if(p<aa.size()) aa.insert(aa.begin()+p,a); }
00182 deque<OGraphic*> OHL::readOGraphicArray()
00183         { return oa; }

Generated on Fri Jul 30 19:21:02 2004 for GOMLib by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001