| 1 | /********************************************************************** | 
| 2 | *           Copyright (C) 2002-2003 by Gezelter's Group | 
| 3 | *This program is free software; you can redistribute it and/or modify | 
| 4 | *it under the terms of the GNU General Public License as published by | 
| 5 | *the Free Software Foundation version 2 of the License. | 
| 6 | * | 
| 7 | *This program is distributed in the hope that it will be useful, | 
| 8 | *but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 9 | *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
| 10 | *GNU General Public License for more details. | 
| 11 | * | 
| 12 | ************************************************************************ | 
| 13 | *Author: Teng Lin               Email:  tlin@nd.edu | 
| 14 | *Date: 08/13/2002               Version: 1.0 | 
| 15 | * | 
| 16 | ************************************************************************ | 
| 17 | *Description: | 
| 18 | * | 
| 19 | ***********************************************************************/ | 
| 20 | #ifndef propdataH | 
| 21 | #define propdataH | 
| 22 | #include "fasatom.h" | 
| 23 | #include "fasbond.h" | 
| 24 | #include "fasresidue.h" | 
| 25 | #include "fasmolecule.h" | 
| 26 | #include "extradata.h" | 
| 27 | class TDistance | 
| 28 | { | 
| 29 | protected: | 
| 30 | pair<TFASAtom *,TFASAtom*> ; | 
| 31 | float _dist; | 
| 32 |  | 
| 33 | public: | 
| 34 |  | 
| 35 | }; | 
| 36 |  | 
| 37 | class TDistData | 
| 38 | { | 
| 39 | protected: | 
| 40 | vector<TDistance *> _distList; | 
| 41 |  | 
| 42 | public: | 
| 43 |  | 
| 44 |  | 
| 45 | }; | 
| 46 |  | 
| 47 | class TAngle | 
| 48 | { | 
| 49 | protected: | 
| 50 | TFASAtom * _vertex; | 
| 51 | pair<TFASAtom *, TFASAtom *> _termin; | 
| 52 | float _angle;           //angle ranges from 0-180 | 
| 53 |  | 
| 54 | float CalcAngleFromCoor(); | 
| 55 | void SetAngle(float angle)  { _angle = angle;} | 
| 56 | public: | 
| 57 | TAngle(); | 
| 58 | TAngle(const TAngle &src); | 
| 59 | TAngle(const TFASAtom *vertex, | 
| 60 | pair<TFASAtom *, TFASAtom *> termin, float angle = -1); | 
| 61 | ~TAngle(); | 
| 62 |  | 
| 63 | float GetAngle(bool reCalc = false); | 
| 64 | }; | 
| 65 |  | 
| 66 | class TAngleData : public TExtraData | 
| 67 | { | 
| 68 | protected: | 
| 69 | vector<TAngle *> _angleList; | 
| 70 | public: | 
| 71 | TAngleData(); | 
| 72 | TAngleData(const TAngleData &src); | 
| 73 | ~TAngleData(); | 
| 74 | }; | 
| 75 |  | 
| 76 | class TDIHE | 
| 77 | { | 
| 78 |  | 
| 79 | }; | 
| 80 |  | 
| 81 | class TDIHEData : public TExtraData | 
| 82 | { | 
| 83 | protected: | 
| 84 | vector<TDIHE *> _diheList; | 
| 85 | }; | 
| 86 |  | 
| 87 | class TIMPR | 
| 88 | { | 
| 89 |  | 
| 90 | }; | 
| 91 |  | 
| 92 | class TIMPRData : public TExtraData | 
| 93 | { | 
| 94 | protected: | 
| 95 | vector<TIMPR *> _imprList; | 
| 96 | }; | 
| 97 |  | 
| 98 | class TIC | 
| 99 | { | 
| 100 |  | 
| 101 | }; | 
| 102 |  | 
| 103 | class TICData : public TExtraData | 
| 104 | { | 
| 105 | protected: | 
| 106 | vector<TIC *> _icList; | 
| 107 | }; | 
| 108 | #endif |