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

# User Rev Content
1 gezelter 1490 #ifndef _BASEATOMVISITOR_H_
2     #define _BASEATOMVISITOR_H_
3    
4 tim 1816 #include <vector>
5 tim 1625
6 tim 1492 #include "visitors/BaseVisitor.hpp"
7 tim 1625 #include "visitors/AtomData.hpp"
8    
9 tim 1816 namespace oopse {
10 gezelter 1490
11 tim 1816 /**
12     * @class BaseAtomVisitor
13     * @todo document
14     */
15 gezelter 1490 class BaseAtomVisitor : public BaseVisitor{
16 tim 1816 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 gezelter 1490 };
27    
28 tim 1816 /**
29     * @class SSDAtomVisitor
30     * @todo document
31     */
32 gezelter 1490 class SSDAtomVisitor : public BaseAtomVisitor{
33 tim 1816 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 gezelter 1490
42 tim 1816 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 gezelter 1490 };
51    
52     class DefaultAtomVisitor : public BaseAtomVisitor{
53 tim 1816 public:
54     DefaultAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) { visitorName = "DefaultAtomVisitor";}
55 gezelter 1490
56 tim 1816 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 gezelter 1490 };
63 tim 1625
64     }//namespace oopse
65 gezelter 1490 #endif

Properties

Name Value
svn:executable *