ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/FAS/src/extradata.h
(Generate patch)

Comparing trunk/FAS/src/extradata.h (file contents):
Revision 87 by tim, Fri Aug 16 15:30:40 2002 UTC vs.
Revision 88 by tim, Mon Aug 19 20:49:08 2002 UTC

# Line 22 | Line 22
22   #include <iostream>
23   #include <vector>
24   #include <map>
25 #include "fasatom.h"
26 #include "fasbond.h"
27 #include "fasresidue.h"
28 #include "fasmolecule.h"
25  
26  
27 +
28   using namespace std;
29  
30   // the advantage of using namespace over enum type is that you can
# Line 51 | Line 48 | class TExtraData
48   class TExtraData
49   {
50          protected:
51 <                string _ident;
52 <                int _type;
51 >                  string _ident;
52 >                  int _type;
53 >
54          public:
55                  TExtraData();
56                  TExtraData(const TExtraData &extraData);
# Line 64 | Line 62 | class TExtraData
62  
63                  void SetIdent(string ident)     {       _ident = ident;}
64                  void SetType(int type)  {       _type = type;}
65 +
66   };
67  
68 < class TExtraDataList
68 > class TExtraDataList :public vector<TExtraData *>
69   {
71  protected:
72    vector<TExtraData *>  _extraDataList;
73
70    public:
71      void AddExtraData(TExtraData *extraData);
72      void RemoveExtraData(TExtraData *extraData);
73 <    TExtraData *GetExtraData(int extraDataType);
74 <    TExtraData *GetExtraData(string attr);
79 <    vector<TExtraData *> &GetExraDataList() { return _extraDataList;}
80 <    void SetExraDataList(vector<TExtraData *> &extraDataList)
81 <                          { _extraDataList = extraDataList;}
82 <
73 >    TExtraData *GetExtraData(int type);
74 >    TExtraData *GetExtraData(string indet);
75   };
76  
77 < class TMatchExtraData : public unary_function<TExtraData, bool>
77 > class TMatchExtraData : public unary_function<TExtraData *, bool>
78   {
79    private:
80 <    string _attr;
80 >    string _ident;
81      int _type;
82  
83 <    enum TMatchExtraType {meAttr, meType} _matchExtraType;
83 >    enum TMatchExtraType {meIdent, meType} _matchExtraType;
84    public:
85 <    TMatchExtraData(const string &attr) : _attr(attr){  _matchExtraType = meAttr;}
85 >    TMatchExtraData(const string &ident) : _ident(ident){  _matchExtraType = meIdent;}
86      TMatchExtraData(const int &type) : _type(type){  _matchExtraType = meType;}
87  
88      bool operator ()(const TExtraData & extraData) const
89      {
90 +      bool result;
91 +
92        switch (_matchExtraType)
93        {
94 <        case meAttr:
95 <          return extraData.GetIdent() == _attr;
96 <          break;
97 <        case meType: ;
98 <          return extraData.GetType() == _type;
99 <          break;
94 >        case meIdent:
95 >          result = (_ident == extraData.GetIdent());
96 >          return  result;
97 >        case meType:
98 >          result = (_type == extraData.GetType());
99 >          return result;
100          default:
101          //Error
102             ;
103        }
110
111
104      }
105  
114
106   };
107  
117 namespace TEnergyDataType
118 {
119        const int BOND = 1;
120        const int ANGEL = 2;
121        const int DIHE = 3;
122        const int IMPR = 4;
123        const int VDW = 5;
124        const int COUL = 6;
125        const int HBOND = 7;
126        const int KE = 8;
127        const int PE = 9;
128        const int TEMP = 10;
129        const int TOTAL = 11;
130        const int VOLUME = 12;
131        const int PRESSURE = 13;
132        const int EFILED = 14;
133        const int UREY_BRADLEY = 15;
134        const int RESTRAINT  = 16;
135 };
136
137 class TEnergyData : public TExtraData
138 {
139        protected:
140                map<int, float> _energy;
141                map<int, float>::iterator FindEnergy(int energyType);
142        public:
143                TEnergyData();
144    TEnergyData(const TEnergyData &energyData);
145    TEnergyData &operator =(const TEnergyData &energyData);
146                ~TEnergyData();
147
148                void AddEnergy(int energyType, float value);
149                void DeleteEnergy(int energyType);
150                void ReplaceEnergy(int energyType, float value);
151                bool IsEnergyExist(int energyType);
152                float *GetEnergy(int energyType);
153
154 };
155
156 class TDistance
157 {
158  protected:
159    pair<TFASAtom *,TFASAtom*> ;
160    float _dist;
161
162  public:
163
164 };
165
166 class TDistData
167 {
168  protected:
169    vector<TDistance *> _distList;
170
171  public:
172
173
174 };
175
176 class TAngle
177 {
178  protected:
179    TFASAtom * _vertex;
180    pair<TFASAtom *, TFASAtom *> _termin;
181    float _angle;           //angle ranges from 0-180
182
183    float CalcAngleFromCoor();
184    void SetAngle(float angle)  { _angle = angle;}
185  public:
186    TAngle();
187    TAngle(const TAngle &src);
188    TAngle(const TFASAtom *vertex,
189          pair<TFASAtom *, TFASAtom *> termin, float angle = -1);
190    ~TAngle();
191
192    float GetAngle(bool reCalc = false);
193 };
194
195 class TAngleData : public TExtraData
196 {
197  protected:
198    vector<TAngle *> _angleList;
199  public:
200    TAngleData();
201    TAngleData(const TAngleData &src);
202    ~TAngleData();
203 };
204
205 class TDIHE
206 {
207
208 };
209
210 class TDIHEData : public TExtraData
211 {
212  protected:
213    vector<TDIHE *> _diheList;
214 };
215
216 class TIMPR
217 {
218
219 };
220
221 class TIMPRData : public TExtraData
222 {
223  protected:
224    vector<TIMPR *> _imprList;
225 };
226
227 class TIC
228 {
229
230 };
231
232 class TICData : public TExtraData
233 {
234  protected:
235    vector<TIC *> _icList;
236 };
108   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines