00001 #ifndef CellH 00002 #define CellH 00003 00004 /******************************************************************************* 00005 Copyright 2002,2003 Petr Kulhanek 00006 00007 This file is part of Core plugin. 00008 00009 Core plugin is free software; you can redistribute it and/or modify 00010 it under the terms of the GNU General Public License as published by 00011 the Free Software Foundation; either version 2 of the License, or 00012 (at your option) any later version. 00013 00014 Core plugin is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU General Public License for more details. 00018 00019 You should have received a copy of the GNU General Public License 00020 along with Core plugin; if not, write to the Free Software 00021 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00022 *******************************************************************************/ 00023 /******************************************************************************* 00024 ** PROJECT: Project NEMESIS 00025 ** FILE: Cell 00026 ** FUNCTION: periodic boundary condition 00027 ** VERSION: 1.0 00028 ** LANGUAGE: CBuilder C++ 00029 ** TARGET COMPUTER: IBM PC 00030 ** PROGRAMMER: Petr Kulhánek 00031 ** HISTORY: 00032 VERSION DATE NOTE 00033 1.0 2002-07-29 00034 *******************************************************************************/ 00035 00039 class CMolecule; 00040 00041 //--------------------------------------------------------------------------- 00042 00044 00047 enum ECellSymmetry{ 00048 CS_ISOLATED, 00049 CS_CUBIC, 00050 CS_FCC, 00051 CS_BCC, 00052 CS_HEXAGONAL, 00053 CS_TRIGONAL, 00054 CS_TETRAGONAL, 00055 CS_BCT, 00056 CS_ORTHORHOMBIC, 00057 CS_MONOCLINIC, 00058 CS_TRICLINIC, 00059 }; 00060 00061 //--------------------------------------------------------------------------- 00062 00064 00067 class PACKAGE CCell{ 00068 public: 00069 __fastcall CCell(CMolecule* p_mol); 00070 00071 private: 00072 ECellSymmetry Symmetry; 00073 double A,B,C; 00074 double Alpha,Beta,Gamma; 00075 bool XPeriodic; 00076 bool YPeriodic; 00077 bool ZPeriodic; 00078 }; 00079 00080 //--------------------------------------------------------------------------- 00081 00082 #endif