ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/new_design/OOPSE-4/src/visitors/AtomVisitor.hpp
Revision: 1816
Committed: Wed Dec 1 19:10:51 2004 UTC (19 years, 8 months ago) by tim
File size: 1764 byte(s)
Log Message:
spell check

File Contents

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

Properties

Name Value
svn:executable *