Open Babel  3.0
internalcoord.h
Go to the documentation of this file.
1 /**********************************************************************
2 internalcoord.h - Handle OBInternalCoord class, Cartesian <=> Z-matrix
3 
4 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
5 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
6 Some portions Copyright (C) 2003 by Michael Banck
7 
8 This file is part of the Open Babel project.
9 For more information, see <http://openbabel.org/>
10 
11 This program is free software; you can redistribute it and/or modify
12 it under the terms of the GNU General Public License as published by
13 the Free Software Foundation version 2 of the License.
14 
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
19 ***********************************************************************/
20 
21 #ifndef OB_INTERNALCOORD_H
22 #define OB_INTERNALCOORD_H
23 
24 #include <openbabel/babelconfig.h>
25 #include <stddef.h>
26 
27 #ifndef EXTERN
28 # define EXTERN extern
29 #endif
30 
31 namespace OpenBabel
32 {
33 
34  class OBAtom;
35 
61  class OBAPI OBInternalCoord
62  {
63  public:
64  //class members
68  double _dst;
69  double _ang;
70  double _tor;
71 
73  OBInternalCoord(OBAtom *a= NULL, OBAtom *b= NULL, OBAtom *c= NULL,
74  double dst = 0.0, double ang = 0.0, double tor = 0.0) :
75  _a(a), _b(b), _c(c), _dst(dst), _ang(ang), _tor(tor)
76  {}
77  };
78 
79 } // end namespace
80 
81 #endif // OB_INTERNALCOORD_H
82 
OBAtom * _a
First connection for this atom (i.e., distance)
Definition: internalcoord.h:65
double _ang
Angle between this, _a, and _b (i.e., _a is the vertex)
Definition: internalcoord.h:69
OBInternalCoord(OBAtom *a=NULL, OBAtom *b=NULL, OBAtom *c=NULL, double dst=0.0, double ang=0.0, double tor=0.0)
Constructor.
Definition: internalcoord.h:73
OBAtom * _c
Third reference atom (i.e., dihedral / torsion angle)
Definition: internalcoord.h:67
Used to transform from z-matrix to cartesian coordinates.
Definition: internalcoord.h:61
double _tor
Torsional/dihedral angle between this, _a, _b, and _c.
Definition: internalcoord.h:70
OBAtom * _b
Second reference atom (i.e., angle)
Definition: internalcoord.h:66
double _dst
Distance between this atom and _a.
Definition: internalcoord.h:68
Global namespace for all Open Babel code.
Definition: alias.h:22
Atom class.
Definition: atom.h:71