1 |
tim |
1118 |
#ifndef _BASEATOMVISITOR_H_ |
2 |
|
|
#define _BASEATOMVISITOR_H_ |
3 |
|
|
|
4 |
|
|
#include "BaseVisitor.hpp" |
5 |
|
|
|
6 |
|
|
class BaseAtomVisitor : public BaseVisitor{ |
7 |
|
|
public: |
8 |
|
|
virtual void visit(Atom* atom) {} |
9 |
|
|
virtual void visit(DirectionalAtom* datom) {} |
10 |
tim |
1119 |
virtual void visit(RigidBody* rb); |
11 |
tim |
1118 |
void setVisited(Atom* atom); |
12 |
|
|
bool isVisited(Atom* atom); |
13 |
tim |
1126 |
|
14 |
tim |
1118 |
protected: |
15 |
|
|
BaseAtomVisitor(SimInfo* info) : BaseVisitor() {} |
16 |
|
|
SimInfo* info; |
17 |
|
|
}; |
18 |
|
|
|
19 |
|
|
|
20 |
|
|
class SSDAtomVisitor : public BaseAtomVisitor{ |
21 |
|
|
public: |
22 |
|
|
SSDAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) { visitorName = "SSDAtomVisitor";} |
23 |
tim |
1126 |
|
24 |
|
|
virtual void visit(Atom* atom) {} |
25 |
|
|
virtual void visit(DirectionalAtom* datom); |
26 |
|
|
virtual void visit(RigidBody* rb) {} |
27 |
|
|
|
28 |
|
|
virtual const string toString(); |
29 |
|
|
|
30 |
tim |
1118 |
}; |
31 |
|
|
|
32 |
|
|
class DefaultAtomVisitor : public BaseAtomVisitor{ |
33 |
|
|
public: |
34 |
|
|
DefaultAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) { visitorName = "DefaultAtomVisitor";} |
35 |
tim |
1126 |
|
36 |
tim |
1118 |
virtual void visit(Atom* atom); |
37 |
|
|
virtual void visit(DirectionalAtom* datom); |
38 |
tim |
1126 |
virtual void visit(RigidBody* rb) {} |
39 |
|
|
|
40 |
|
|
virtual const string toString(); |
41 |
|
|
|
42 |
tim |
1118 |
}; |
43 |
|
|
#endif |