ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/src/visitors/AtomVisitor.hpp
Revision: 1625
Committed: Thu Oct 21 16:22:01 2004 UTC (19 years, 8 months ago) by tim
File size: 1499 byte(s)
Log Message:
replace old GebericData with  new GenericData

File Contents

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

Properties

Name Value
svn:executable *