ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/oopse-1.0/libmdtools/CompositeVisitor.hpp
Revision: 1447
Committed: Fri Jul 30 21:01:35 2004 UTC (19 years, 11 months ago) by gezelter
File size: 817 byte(s)
Log Message:
Initial import of OOPSE sources into cvs tree

File Contents

# Content
1 #ifndef _COMPOSITEVISITOR_H_
2 #define _COMPOSITEVISITOR_H_
3
4 #include <list>
5 #include "BaseVisitor.hpp"
6 #include "StuntDouble.hpp"
7 using namespace std;
8
9 typedef list<pair<BaseVisitor*, int> >::iterator VisitorIterator;
10
11 class CompositeVisitor: public BaseVisitor{
12 public:
13 CompositeVisitor() : BaseVisitor() { visitorName = "CompositeVisitor";}
14 ~CompositeVisitor();
15
16 virtual void visit(Atom* atom);
17 virtual void visit(DirectionalAtom* datom);
18 virtual void visit(RigidBody* rb);
19 virtual void update();
20
21 void addVisitor(BaseVisitor* v, int priority = 0);
22 BaseVisitor* beginVisitor(VisitorIterator& i);
23 BaseVisitor* nextVisitor(VisitorIterator& i);
24
25 const string toString();
26 protected:
27 list<pair<BaseVisitor*, int> > visitorList;
28 };
29
30 #endif //_COMPOSITEVISITOR_H_