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 |
|
|
virtual void visit(RigidBody* rb) {} |
11 |
|
|
void setVisited(Atom* atom); |
12 |
|
|
bool isVisited(Atom* atom); |
13 |
|
|
protected: |
14 |
|
|
BaseAtomVisitor(SimInfo* info) : BaseVisitor() {} |
15 |
|
|
SimInfo* info; |
16 |
|
|
}; |
17 |
|
|
|
18 |
|
|
|
19 |
|
|
class SSDAtomVisitor : public BaseAtomVisitor{ |
20 |
|
|
public: |
21 |
|
|
SSDAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) { visitorName = "SSDAtomVisitor";} |
22 |
|
|
virtual void visit(DirectionalAtom* datom); |
23 |
|
|
}; |
24 |
|
|
|
25 |
|
|
class DefaultAtomVisitor : public BaseAtomVisitor{ |
26 |
|
|
public: |
27 |
|
|
DefaultAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) { visitorName = "DefaultAtomVisitor";} |
28 |
|
|
virtual void visit(Atom* atom); |
29 |
|
|
virtual void visit(DirectionalAtom* datom); |
30 |
|
|
}; |
31 |
|
|
#endif |