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

# Content
1 #ifndef _BASEATOMVISITOR_H_
2 #define _BASEATOMVISITOR_H_
3
4
5 #include <vector>
6 #include "visitors/BaseVisitor.hpp"
7 #include "visitors/AtomData.hpp"
8
9 using namespace std;
10
11 namespace oopse {
12
13 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
59 }//namespace oopse
60 #endif

Properties

Name Value
svn:executable *