ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/MakeStamps.hpp
Revision: 747
Committed: Fri Sep 5 21:28:52 2003 UTC (20 years, 9 months ago) by gezelter
File size: 2190 byte(s)
Log Message:
Changes to autoconf / configure method of configuring OOPSE

File Contents

# Content
1 #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 int hash_size;
74 int hash_shift;
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