ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/MoleculeStamp.hpp
Revision: 583
Committed: Wed Jul 9 15:34:04 2003 UTC (21 years ago) by mmeineke
File size: 1631 byte(s)
Log Message:
starting some work for xlate

File Contents

# Content
1 #ifndef __MOLECULESTAMP_H__
2 #define __MOLECULESTAMP_H__
3
4 #include "AtomStamp.hpp"
5 #include "BondStamp.hpp"
6 #include "BendStamp.hpp"
7 #include "TorsionStamp.hpp"
8 #include "LinkedAssign.hpp"
9
10 class MoleculeStamp{
11
12 public:
13 MoleculeStamp();
14 ~MoleculeStamp();
15
16 char* assignString( char* lhs, char* rhs );
17 char* assignDouble( char* lhs, double rhs );
18 char* assignInt( char* lhs, int rhs );
19 char* checkMe( void );
20
21 char* addAtom( AtomStamp* the_atom, int atomIndex );
22 char* addBond( BondStamp* the_bond, int bondIndex );
23 char* addBend( BendStamp* the_bend, int bendIndex );
24 char* addTorsion( TorsionStamp* the_torsion, int torsionIndex );
25
26 char* getID( void ) { return name; }
27 int getNAtoms( void ) { return n_atoms; }
28 int getNBonds( void ) { return n_bonds; }
29 int getNBends( void ) { return n_bends; }
30 int getNTorsions( void ) { return n_torsions; }
31
32 AtomStamp* getAtom( int index ) { return atoms[index]; }
33 BondStamp* getBond( int index ) { return bonds[index]; }
34 BendStamp* getBend( int index ) { return bends[index]; }
35 TorsionStamp* getTorsion( int index ) { return torsions[index]; }
36
37 int haveExtras( void ) { return have_extras; }
38 LinkedAssign* getUnhandled( void ) { return unhandled; }
39
40 static char errMsg[500];
41 private:
42
43
44 char name[100];
45 int n_atoms;
46 int n_bonds;
47 int n_bends;
48 int n_torsions;
49
50 int have_name, have_atoms, have_bonds, have_bends, have_torsions;
51
52 AtomStamp** atoms;
53 BondStamp** bonds;
54 BendStamp** bends;
55 TorsionStamp** torsions;
56
57 LinkedAssign* unhandled; // the unhandled assignments
58 short int have_extras;
59 };
60
61 #endif