| 1 | /*           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 | * using factory pattern to creat the object | 
| 18 | ***********************************************************************/ | 
| 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 | #include "energydata.h" | 
| 27 | 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 |