1 |
#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 |