ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/CompositeVisitor.cpp
(Generate patch)

Comparing trunk/OOPSE/libmdtools/CompositeVisitor.cpp (file contents):
Revision 1118 by tim, Mon Apr 19 03:52:27 2004 UTC vs.
Revision 1120 by tim, Mon Apr 19 20:54:58 2004 UTC

# Line 1 | Line 1
1   #include <cstring>
2   #include "CompositeVisitor.hpp"
3 + #include "RigidBody.hpp"
4 + #include "DirectionalAtom.hpp"
5   CompositeVisitor::~CompositeVisitor(){
6    VisitorIterator i;
7    BaseVisitor* curVisitor;
# Line 37 | Line 39 | void CompositeVisitor::internalVisit(StuntDouble* sd){
39  
40   }
41  
42 < void CompositeVisitor::internalVisit(StuntDouble* sd){
42 > void CompositeVisitor::internalVisit(Atom* atom){
43   VisitorIterator i;
44    BaseVisitor* curVisitor;
45  
46    for(curVisitor = beginVisitor(i); curVisitor; curVisitor = nextVisitor(i))
47 <    sd->accept(curVisitor);
47 >    atom->accept(curVisitor);
48   }
49  
50 + void CompositeVisitor::internalVisit(RigidBody* rb){
51 +  VisitorIterator i;
52 +  BaseVisitor* curVisitor;
53 +  vector<Atom*> myAtoms;
54 +  vector<Atom*>::iterator atomIter;
55 +
56 +  myAtoms = rb->getAtoms();
57 +  
58 +  for(curVisitor = beginVisitor(i); curVisitor; curVisitor = nextVisitor(i)){
59 +    rb->accept(curVisitor);
60 +    
61 +    for(atomIter = myAtoms.begin(); atomIter != myAtoms.end(); ++atomIter)
62 +      (*atomIter)->accept(curVisitor);
63 +  }
64 +
65 +  
66 +  
67 + }
68 +
69   const string CompositeVisitor::toString(){
70    VisitorIterator i;
71 +  string result;
72    char buffer[65535];
73    
74    for(i = visitorList.begin(); i != visitorList.end(); i++){
75      sprintf(buffer, "Priority = %d\n",  (*i).second);
76 <    strcat(buffer, (((*i).first)->toString()).c_str());
76 >    result += buffer;
77 >    
78 >    result += ((*i).first)->toString();
79    }
80  
81 <  return buffer;
81 >  return result;
82   }
83  
84   void CompositeVisitor::update(){

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines