internalcoord.h

Go to the documentation of this file.
00001 /**********************************************************************
00002 internalcoord.h - Handle OBInternalCoord class, Cartesian <=> Z-matrix
00003 
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006 Some portions Copyright (C) 2003 by Michael Banck
00007  
00008 This file is part of the Open Babel project.
00009 For more information, see <http://openbabel.sourceforge.net/>
00010  
00011 This program is free software; you can redistribute it and/or modify
00012 it under the terms of the GNU General Public License as published by
00013 the Free Software Foundation version 2 of the License.
00014  
00015 This program is distributed in the hope that it will be useful,
00016 but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018 GNU General Public License for more details.
00019 ***********************************************************************/
00020 
00021 #ifndef OB_INTERNALCOORD_H
00022 #define OB_INTERNALCOORD_H
00023 
00024 #include <openbabel/babelconfig.h>
00025 
00026 #ifndef EXTERN
00027 #  define EXTERN extern
00028 #endif
00029 
00030 namespace OpenBabel
00031 {
00032   
00033   class OBAtom;
00034   
00060   class OBAPI OBInternalCoord
00061   {
00062   public:
00063     //class members
00064     OBAtom *_a;   
00065     OBAtom *_b;   
00066     OBAtom *_c;   
00067     double  _dst; 
00068     double  _ang; 
00069     double  _tor; 
00070 
00072   OBInternalCoord(OBAtom *a= NULL, OBAtom *b= NULL, OBAtom *c= NULL,
00073                   double dst = 0.0, double ang = 0.0, double tor = 0.0) :
00074     _a(a), _b(b), _c(c), _dst(dst), _ang(ang), _tor(tor)
00075       {}
00076   };
00077   
00078 } // end namespace
00079 
00080 #endif // OB_INTERNALCOORD_H
00081