ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/src/visitors/AtomVisitor.hpp
(Generate patch)

Comparing trunk/OOPSE-2.0/src/visitors/AtomVisitor.hpp (file contents):
Revision 1930 by gezelter, Wed Jan 12 22:41:40 2005 UTC vs.
Revision 2204 by gezelter, Fri Apr 15 22:04:00 2005 UTC

# Line 1 | Line 1
1 < /*
1 > /*
2   * Copyright (c) 2005 The University of Notre Dame. All Rights Reserved.
3   *
4   * The University of Notre Dame grants you ("Licensee") a
# Line 42 | Line 42
42   #ifndef VISITORS_BASEATOMVISITOR_HPP
43   #define VISITORS_BASEATOMVISITOR_HPP
44  
45 < #include <vector>
45 > #include <set>
46  
47   #include "visitors/BaseVisitor.hpp"
48   #include "visitors/AtomData.hpp"
49  
50   namespace oopse {
51  
52 < /**
53 < * @class BaseAtomVisitor
54 < * @todo document
55 < */
56 < class BaseAtomVisitor : public BaseVisitor{
57 <    public:
58 <        virtual void visit(Atom* atom) {}
59 <        virtual void visit(DirectionalAtom* datom) {}
60 <        virtual void visit(RigidBody* rb);
61 <        void setVisited(Atom* atom);
62 <        bool isVisited(Atom* atom);
52 >  /**
53 >   * @class BaseAtomVisitor
54 >   * @todo document
55 >   */
56 >  class BaseAtomVisitor : public BaseVisitor{
57 >  public:
58 >    virtual void visit(Atom* atom) {}
59 >    virtual void visit(DirectionalAtom* datom) {}
60 >    virtual void visit(RigidBody* rb);
61 >    void setVisited(Atom* atom);
62 >    bool isVisited(Atom* atom);
63  
64 <    protected:
65 <        BaseAtomVisitor(SimInfo* info) : BaseVisitor() {}    
66 <        SimInfo* info;
67 < };
64 >  protected:
65 >    BaseAtomVisitor(SimInfo* info) : BaseVisitor() {}    
66 >    SimInfo* info;
67 >  };
68  
69 < /**
70 < * @class SSDAtomVisitor
71 < * @todo document
72 < */
73 < class SSDAtomVisitor : public BaseAtomVisitor{
74 <        public:
75 <            SSDAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) {
76 <                visitorName = "SSDAtomVisitor";
77 <                ssdAtomType.push_back("SSD");
78 <                ssdAtomType.push_back("SSD_E");
79 <                ssdAtomType.push_back("SSD_RF");
80 <                ssdAtomType.push_back("SSD1");
81 <            }
69 >  /**
70 >   * @class SSDAtomVisitor
71 >   * @todo document
72 >   */
73 >  class SSDAtomVisitor : public BaseAtomVisitor{
74 >  public:
75 >    SSDAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) {
76 >      visitorName = "SSDAtomVisitor";
77 >      ssdAtomType.insert("SSD");
78 >      ssdAtomType.insert("SSD_E");
79 >      ssdAtomType.insert("SSD_RF");
80 >      ssdAtomType.insert("SSD1");
81 >    }
82  
83 <            virtual void visit(Atom* atom) {}
84 <            virtual void visit(DirectionalAtom* datom);      
85 <            virtual void visit(RigidBody* rb) {}
83 >    virtual void visit(Atom* atom) {}
84 >    virtual void visit(DirectionalAtom* datom);      
85 >    virtual void visit(RigidBody* rb) {}
86  
87 <            virtual const std::string toString();
88 <        private:
89 <            inline bool isSSDAtom(const std::string& atomType);
90 <            std::vector<std::string> ssdAtomType;  
91 < };
87 >    virtual const std::string toString();
88 >  private:
89 >    inline bool isSSDAtom(const std::string& atomType);
90 >    std::set<std::string> ssdAtomType;  
91 >  };
92  
93 < class LinearAtomVisitor : public BaseAtomVisitor{
93 >  class LinearAtomVisitor : public BaseAtomVisitor{
94    public:
95      LinearAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) {
96        visitorName = "LinearAtomVisitor";
97 <      linearAtomType.push_back("linear");
97 >      linearAtomType.insert("linear");
98      }
99  
100      virtual void visit(Atom* atom) {}
101      virtual void visit(DirectionalAtom* datom);      
102      virtual void visit(RigidBody* rb) {}
103 <    
104 <    virtual const string toString();
103 >
104 >    virtual const std::string toString();
105    private:
106 <    inline bool isLinearAtom(const string& atomType);
107 <    vector<string> linearAtomType;  
108 < };
106 >    inline bool isLinearAtom(const std::string& atomType);
107 >    std::set<std::string> linearAtomType;  
108 >  };
109  
110  
111  
112  
113 < class DefaultAtomVisitor : public BaseAtomVisitor{
114 <    public:
115 <        DefaultAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) { visitorName = "DefaultAtomVisitor";}
113 >  class DefaultAtomVisitor : public BaseAtomVisitor{
114 >  public:
115 >    DefaultAtomVisitor(SimInfo* info) : BaseAtomVisitor(info) { visitorName = "DefaultAtomVisitor";}
116  
117 <        virtual void visit(Atom* atom);    
118 <        virtual void visit(DirectionalAtom* datom);    
119 <        virtual void visit(RigidBody* rb) {}
117 >    virtual void visit(Atom* atom);    
118 >    virtual void visit(DirectionalAtom* datom);    
119 >    virtual void visit(RigidBody* rb) {}
120  
121 <        virtual const std::string toString();
121 >    virtual const std::string toString();
122  
123 < };
123 >  };
124  
125   }//namespace oopse
126   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines