ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/MakeStamps.hpp
Revision: 378
Committed: Fri Mar 21 17:42:12 2003 UTC (21 years, 3 months ago) by mmeineke
File size: 2225 byte(s)
Log Message:
This commit was generated by cvs2svn to compensate for changes in r377,
which included commits to RCS files with non-trunk default branches.

File Contents

# User Rev Content
1 mmeineke 377 #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; prev = NULL; }
18     ~LinkedMolStamp();
19    
20     MoleculeStamp* match( char* id );
21     LinkedMolStamp* extract( char* id );
22     void setStamp( MoleculeStamp* the_stamp ){ mol_stamp = the_stamp; }
23     MoleculeStamp* getStamp(){ return mol_stamp; }
24     void add( LinkedMolStamp* newbie );
25     void setPrev( LinkedMolStamp* thePrev ){ prev = thePrev; }
26     void setNext( LinkedMolStamp* theNext ){ next = theNext; }
27     LinkedMolStamp* getNext() { return next; }
28    
29     private:
30     MoleculeStamp* mol_stamp;
31     LinkedMolStamp* next;
32     LinkedMolStamp* prev;
33     };
34    
35     class MakeStamps{
36    
37     public:
38     MakeStamps();
39     ~MakeStamps();
40    
41     int newMolecule( event* the_event );
42     int moleculeAssign( event* the_event );
43     int moleculeEnd( event* the_event );
44    
45     int newAtom( event* the_event );
46     int atomPosition( event* the_event );
47     int atomOrientation( event* the_event );
48     int atomAssign( event* the_event );
49     int atomEnd( event* the_event );
50    
51     int newBond( event* the_event );
52     int bondAssign( event* the_event );
53     int bondMember( event* the_event );
54     int bondConstraint( event* the_event );
55     int bondEnd( event* the_event );
56    
57     int newBend( event* the_event );
58     int bendAssign( event* the_event );
59     int bendMember( event* the_event );
60     int bendConstraint( event* the_event );
61     int bendEnd( event* the_event );
62    
63     int newTorsion( event* the_event );
64     int torsionAssign( event* the_event );
65     int torsionMember( event* the_event );
66     int torsionConstraint( event* the_event );
67     int torsionEnd( event* the_event );
68    
69     LinkedMolStamp* extractMolStamp( char* the_id );
70    
71     private:
72    
73     static const int hash_size = 51;
74     static const int hash_shift = 4;
75     int hash( char* text );
76     LinkedMolStamp** my_mols;
77     void addMolStamp( MoleculeStamp* the_stamp );
78    
79     MoleculeStamp* current_mol;
80     AtomStamp* current_atom;
81     BondStamp* current_bond;
82     BendStamp* current_bend;
83     TorsionStamp* current_torsion;
84    
85    
86    
87    
88    
89     };
90    
91    
92    
93    
94     #endif