--- trunk/OOPSE/libmdtools/OtherVisitor.hpp 2004/04/19 20:54:58 1120 +++ trunk/OOPSE/libmdtools/OtherVisitor.hpp 2004/04/20 05:39:38 1126 @@ -17,8 +17,9 @@ class IgnoreVisitor : public BaseVisitor{ virtual void visit(DirectionalAtom* datom); virtual void visit(RigidBody* rb); - void addIgnoreType(const string& type) {itList.insert(type);} virtual const string toString(); + + void addIgnoreType(const string& type) {itList.insert(type);} protected: bool isIgnoreType(const string& name); @@ -36,7 +37,9 @@ class WrappingVisitor : public BaseVisitor{ virtual void visit(Atom* atom); virtual void visit(DirectionalAtom* datom); virtual void visit(RigidBody* rb); - + + virtual const string toString(); + protected: void internalVisit(StuntDouble* sd); SimInfo* info; @@ -52,13 +55,13 @@ class IntVec3 { vec[2] = k; } - double vec[3]; - double& operator[](int index) {return vec[index];} + int vec[3]; + int& operator[](int index) {return vec[index];} }; class ReplicateVisitor : public BaseVisitor{ public: - ReplicateVisitor(SimInfo* info, IntVec3 replicateOpt); + ReplicateVisitor(SimInfo* info, IntVec3 opt); virtual void visit(Atom* atom); virtual void visit(DirectionalAtom* datom); virtual void visit(RigidBody* rb); @@ -81,6 +84,8 @@ class XYZVisitor : public BaseVisitor{ virtual void visit(Atom* atom); virtual void visit(DirectionalAtom* datom); virtual void visit(RigidBody* rb); + + virtual const string toString(); void writeFrame(ostream& outStream); void clear() {frame.clear();} @@ -104,10 +109,25 @@ class PrepareVisitor : public BaseVisitor{ virtual void visit(DirectionalAtom* datom) {internalVisit((Atom*)datom);} virtual void visit(RigidBody* rb) {internalVisit(rb);} + virtual const string toString(); + protected: void internalVisit(Atom* atom); void internalVisit(RigidBody* rb); }; +class WaterTypeVisitor : public BaseVisitor{ + public: + WaterTypeVisitor() ; + virtual void visit(Atom* atom) {} + virtual void visit(DirectionalAtom* datom) {} + virtual void visit(RigidBody* rb); + virtual const string toString(); + + private: + void replaceType(string& atomType); + + set waterTypeList; +}; #endif //_OTHERVISITOR_H_