ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/mdtools/headers/MakeStamps.hpp
Revision: 10
Committed: Tue Jul 9 18:40:59 2002 UTC (22 years ago) by mmeineke
Original Path: branches/mmeineke/mdtools/headers/MakeStamps.hpp
File size: 2047 byte(s)
Log Message:
everything you need to make libmdtools

File Contents

# User Rev Content
1 mmeineke 10 #ifndef __MAKESTAMPS_H__
2     #define __MAKESTAMPS_H__
3    
4     #include <cstdlib>
5     #include <cstring>
6    
7     #include "BASS_interface.h"
8     #include "MoleculeStamp.hpp"
9     #include "AtomStamp.hpp"
10     #include "BondStamp.hpp"
11     #include "BendStamp.hpp"
12     #include "TorsionStamp.hpp"
13    
14     class LinkedMolStamp{
15    
16     public:
17     LinkedMolStamp(){ mol_stamp = NULL; next = NULL; }
18     ~LinkedMolStamp();
19    
20     MoleculeStamp* match( char* id );
21     void setStamp( MoleculeStamp* the_stamp ){ mol_stamp = the_stamp; }
22     MoleculeStamp* getStamp(){ return mol_stamp; }
23     void setNext( LinkedMolStamp* the_next ){ next = the_next; }
24     LinkedMolStamp* getNext() { return next; }
25    
26     private:
27     MoleculeStamp* mol_stamp;
28     LinkedMolStamp* next;
29     };
30    
31     class MakeStamps{
32    
33     public:
34     MakeStamps();
35     ~MakeStamps();
36    
37     int newMolecule( event* the_event );
38     int moleculeAssign( event* the_event );
39     int moleculeEnd( event* the_event );
40    
41     int newAtom( event* the_event );
42     int atomPosition( event* the_event );
43     int atomOrientation( event* the_event );
44     int atomAssign( event* the_event );
45     int atomEnd( event* the_event );
46    
47     int newBond( event* the_event );
48     int bondAssign( event* the_event );
49     int bondMember( event* the_event );
50     int bondConstraint( event* the_event );
51     int bondEnd( event* the_event );
52    
53     int newBend( event* the_event );
54     int bendAssign( event* the_event );
55     int bendMember( event* the_event );
56     int bendConstraint( event* the_event );
57     int bendEnd( event* the_event );
58    
59     int newTorsion( event* the_event );
60     int torsionAssign( event* the_event );
61     int torsionMember( event* the_event );
62     int torsionConstraint( event* the_event );
63     int torsionEnd( event* the_event );
64    
65     MoleculeStamp* getMolecule( char* the_id );
66    
67     private:
68    
69     static const int hash_size = 51;
70     static const int hash_shift = 4;
71     int hash( char* text );
72     LinkedMolStamp** my_mols;
73     void addMolStamp( MoleculeStamp* the_stamp );
74    
75     MoleculeStamp* current_mol;
76     AtomStamp* current_atom;
77     BondStamp* current_bond;
78     BendStamp* current_bend;
79     TorsionStamp* current_torsion;
80    
81    
82    
83    
84    
85     };
86    
87    
88    
89    
90     #endif