ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/oopse-1.0/libmdtools/RigidBodyVisitor.hpp
Revision: 1447
Committed: Fri Jul 30 21:01:35 2004 UTC (19 years, 11 months ago) by gezelter
File size: 1254 byte(s)
Log Message:
Initial import of OOPSE sources into cvs tree

File Contents

# User Rev Content
1 gezelter 1447 #ifndef _RIGIDBODYVISITOR_H_
2     #define _RIGIDBODYVISITOR_H_
3     #include <iostream>
4     #include <set>
5     #include <string>
6     #include "BaseVisitor.hpp"
7     #include "GenericData.hpp"
8    
9     using namespace std;
10    
11     class BaseRigidBodyVisitor: public BaseVisitor{
12     public:
13    
14     protected:
15     BaseRigidBodyVisitor(SimInfo* info) : BaseVisitor(){ this->info = info;}
16    
17     SimInfo* info;
18     };
19    
20    
21     //LipidHeadVisitor adds a pesudo atom into rigidbody which holds a dipole moment
22     class LipidHeadVisitor : public BaseRigidBodyVisitor{
23     public:
24     LipidHeadVisitor(SimInfo* info) : BaseRigidBodyVisitor(info){ visitorName = "LipidHeadVisitor";}
25    
26     virtual void visit(Atom* atom) {}
27     virtual void visit(DirectionalAtom* datom) {}
28     virtual void visit(RigidBody* rb);
29    
30     void addLipidHeadName(const string& name);
31     virtual const string toString();
32    
33     protected:
34     bool canVisit(const string& name);
35    
36     set<string> lipidHeadName;
37     };
38    
39     class RBCOMVisitor : public BaseRigidBodyVisitor{
40     public:
41     RBCOMVisitor(SimInfo* info) : BaseRigidBodyVisitor(info){ visitorName = "RBCOMVisitor";}
42    
43     virtual void visit(Atom* atom) {}
44     virtual void visit(DirectionalAtom* datom) {}
45     virtual void visit(RigidBody* rb);
46    
47     virtual const string toString();
48     };
49     #endif