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

# User Rev Content
1 mmeineke 377 #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 mmeineke 583 int haveExtras( void ) { return have_extras; }
38     LinkedAssign* getUnhandled( void ) { return unhandled; }
39    
40 mmeineke 377 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