| 1 | tim | 75 | /*           Copyright (C) 2002-2003 by Gezelter's Group | 
| 2 |  |  | *This program is free software; you can redistribute it and/or modify | 
| 3 |  |  | *it under the terms of the GNU General Public License as published by | 
| 4 |  |  | *the Free Software Foundation version 2 of the License. | 
| 5 |  |  | * | 
| 6 |  |  | *This program is distributed in the hope that it will be useful, | 
| 7 |  |  | *but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 8 |  |  | *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
| 9 |  |  | *GNU General Public License for more details. | 
| 10 |  |  | * | 
| 11 |  |  | ************************************************************************ | 
| 12 |  |  | *Author: Teng Lin               Email:  tlin@nd.edu | 
| 13 |  |  | *Date: 08/13/2002               Version: 1.0 | 
| 14 |  |  | * | 
| 15 |  |  | ************************************************************************ | 
| 16 |  |  | *Description: | 
| 17 | tim | 88 | * using factory pattern to creat the object | 
| 18 | tim | 75 | ***********************************************************************/ | 
| 19 |  |  | #ifndef elementfactoryH | 
| 20 |  |  | #define elementfactoryH | 
| 21 |  |  | #include "fasatom.h" | 
| 22 |  |  | #include "fasbond.h" | 
| 23 |  |  | #include "fasresidue.h" | 
| 24 |  |  | #include "fasmolecule.h" | 
| 25 |  |  | #include "extradata.h" | 
| 26 | tim | 88 | #include "energydata.h" | 
| 27 | tim | 75 | class TElementFactory | 
| 28 |  |  | { | 
| 29 |  |  | public: | 
| 30 |  |  | virtual TFASAtom *CreatAtom(int index); | 
| 31 |  |  | virtual TFASBond *CreatBond(int index); | 
| 32 |  |  | virtual TFASResidue *CreatResidue(int index); | 
| 33 |  |  | virtual TFASMolecule *CreatMolecule(int index); | 
| 34 |  |  | virtual TExtraData *CreatExtraData(int extraDataType); | 
| 35 |  |  | }; | 
| 36 |  |  |  | 
| 37 |  |  | #endif |