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

# User Rev Content
1 gezelter 1447 #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_