ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/MakeStamps.hpp
Revision: 988
Committed: Tue Jan 27 19:37:48 2004 UTC (20 years, 5 months ago) by gezelter
File size: 2592 byte(s)
Log Message:
More BASS changes to do new rigidBody scheme

File Contents

# User Rev Content
1 mmeineke 377 #ifndef __MAKESTAMPS_H__
2     #define __MAKESTAMPS_H__
3    
4 gezelter 828 #include <stdlib.h>
5     #include <string.h>
6 mmeineke 377
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 gezelter 988 #include "MemberStamp.hpp"
14 gezelter 957 #include "RigidBodyStamp.hpp"
15 mmeineke 377
16     class LinkedMolStamp{
17    
18     public:
19     LinkedMolStamp(){ mol_stamp = NULL; next = NULL; prev = NULL; }
20     ~LinkedMolStamp();
21    
22     MoleculeStamp* match( char* id );
23     LinkedMolStamp* extract( char* id );
24     void setStamp( MoleculeStamp* the_stamp ){ mol_stamp = the_stamp; }
25     MoleculeStamp* getStamp(){ return mol_stamp; }
26     void add( LinkedMolStamp* newbie );
27     void setPrev( LinkedMolStamp* thePrev ){ prev = thePrev; }
28     void setNext( LinkedMolStamp* theNext ){ next = theNext; }
29     LinkedMolStamp* getNext() { return next; }
30    
31     private:
32     MoleculeStamp* mol_stamp;
33     LinkedMolStamp* next;
34     LinkedMolStamp* prev;
35     };
36    
37     class MakeStamps{
38    
39     public:
40     MakeStamps();
41     ~MakeStamps();
42    
43     int newMolecule( event* the_event );
44     int moleculeAssign( event* the_event );
45     int moleculeEnd( event* the_event );
46    
47 gezelter 988 int newAtom( event* the_event );
48 mmeineke 377 int atomPosition( event* the_event );
49     int atomOrientation( event* the_event );
50     int atomAssign( event* the_event );
51     int atomEnd( event* the_event );
52    
53 gezelter 957 int newRigidBody( event* the_event );
54     int rigidBodyAssign( event* the_event );
55 gezelter 988 int rigidBodyMember( event* the_event );
56 gezelter 957 int rigidBodyEnd( event* the_event );
57    
58 mmeineke 377 int newBond( event* the_event );
59     int bondAssign( event* the_event );
60 gezelter 988 int bondMembers( event* the_event );
61 mmeineke 377 int bondConstraint( event* the_event );
62     int bondEnd( event* the_event );
63    
64     int newBend( event* the_event );
65     int bendAssign( event* the_event );
66 gezelter 988 int bendMembers( event* the_event );
67 mmeineke 377 int bendConstraint( event* the_event );
68     int bendEnd( event* the_event );
69    
70     int newTorsion( event* the_event );
71     int torsionAssign( event* the_event );
72 gezelter 988 int torsionMembers( event* the_event );
73 mmeineke 377 int torsionConstraint( event* the_event );
74     int torsionEnd( event* the_event );
75    
76 gezelter 988 int newMember( event* the_event );
77     int memberAssign( event* the_event );
78     int memberEnd( event* the_event );
79    
80 mmeineke 377 LinkedMolStamp* extractMolStamp( char* the_id );
81    
82     private:
83    
84 gezelter 747 int hash_size;
85     int hash_shift;
86 mmeineke 377 int hash( char* text );
87     LinkedMolStamp** my_mols;
88     void addMolStamp( MoleculeStamp* the_stamp );
89    
90     MoleculeStamp* current_mol;
91     AtomStamp* current_atom;
92     BondStamp* current_bond;
93     BendStamp* current_bend;
94     TorsionStamp* current_torsion;
95 gezelter 957 RigidBodyStamp* current_rigidbody;
96 gezelter 988 MemberStamp* current_member;
97 mmeineke 377
98     };
99    
100    
101    
102    
103     #endif