ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-1.0/libmdtools/AtomVisitor.hpp
Revision: 1379
Committed: Fri Jul 23 15:35:12 2004 UTC (19 years, 11 months ago) by tim
File size: 1412 byte(s)
Log Message:
support SSD_E SSD_RF SSD1

File Contents

# User Rev Content
1 gezelter 1334 #ifndef _BASEATOMVISITOR_H_
2     #define _BASEATOMVISITOR_H_
3    
4     #include "BaseVisitor.hpp"
5 tim 1379 #include <vector>
6     using namespace std;
7 gezelter 1334
8     class BaseAtomVisitor : public BaseVisitor{
9     public:
10     virtual void visit(Atom* atom) {}
11     virtual void visit(DirectionalAtom* datom) {}
12     virtual void visit(RigidBody* rb);
13     void setVisited(Atom* atom);
14     bool isVisited(Atom* atom);
15    
16     protected:
17     BaseAtomVisitor(SimInfo* info) : BaseVisitor() {}
18     SimInfo* info;
19     };
20    
21    
22     class SSDAtomVisitor : public BaseAtomVisitor{
23     public:
24 tim 1379 SSDAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) {
25     visitorName = "SSDAtomVisitor";
26     ssdAtomType.push_back("SSD");
27     ssdAtomType.push_back("SSD_E");
28     ssdAtomType.push_back("SSD_RF");
29     ssdAtomType.push_back("SSD1");
30     }
31 gezelter 1334
32     virtual void visit(Atom* atom) {}
33     virtual void visit(DirectionalAtom* datom);
34     virtual void visit(RigidBody* rb) {}
35    
36 tim 1379 virtual const string toString();
37     private:
38     inline bool isSSDAtom(const string& atomType);
39     vector<string> ssdAtomType;
40 gezelter 1334 };
41    
42     class DefaultAtomVisitor : public BaseAtomVisitor{
43     public:
44     DefaultAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) { visitorName = "DefaultAtomVisitor";}
45    
46     virtual void visit(Atom* atom);
47     virtual void visit(DirectionalAtom* datom);
48     virtual void visit(RigidBody* rb) {}
49    
50     virtual const string toString();
51    
52     };
53     #endif

Properties

Name Value
svn:executable *