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

Comparing trunk/OOPSE-2.0/src/visitors/ZconsVisitor.hpp (file contents):
Revision 1625 by tim, Thu Oct 21 16:22:01 2004 UTC vs.
Revision 1930 by gezelter, Wed Jan 12 22:41:40 2005 UTC

# Line 1 | Line 1
1 < #ifndef _ZCONS_VISITOR_H_
2 < #define _ZCONS_VISITOR_H_
1 > /*
2 > * Copyright (c) 2005 The University of Notre Dame. All Rights Reserved.
3 > *
4 > * The University of Notre Dame grants you ("Licensee") a
5 > * non-exclusive, royalty free, license to use, modify and
6 > * redistribute this software in source and binary code form, provided
7 > * that the following conditions are met:
8 > *
9 > * 1. Acknowledgement of the program authors must be made in any
10 > *    publication of scientific results based in part on use of the
11 > *    program.  An acceptable form of acknowledgement is citation of
12 > *    the article in which the program was described (Matthew
13 > *    A. Meineke, Charles F. Vardeman II, Teng Lin, Christopher
14 > *    J. Fennell and J. Daniel Gezelter, "OOPSE: An Object-Oriented
15 > *    Parallel Simulation Engine for Molecular Dynamics,"
16 > *    J. Comput. Chem. 26, pp. 252-271 (2005))
17 > *
18 > * 2. Redistributions of source code must retain the above copyright
19 > *    notice, this list of conditions and the following disclaimer.
20 > *
21 > * 3. Redistributions in binary form must reproduce the above copyright
22 > *    notice, this list of conditions and the following disclaimer in the
23 > *    documentation and/or other materials provided with the
24 > *    distribution.
25 > *
26 > * This software is provided "AS IS," without a warranty of any
27 > * kind. All express or implied conditions, representations and
28 > * warranties, including any implied warranty of merchantability,
29 > * fitness for a particular purpose or non-infringement, are hereby
30 > * excluded.  The University of Notre Dame and its licensors shall not
31 > * be liable for any damages suffered by licensee as a result of
32 > * using, modifying or distributing the software or its
33 > * derivatives. In no event will the University of Notre Dame or its
34 > * licensors be liable for any lost revenue, profit or data, or for
35 > * direct, indirect, special, consequential, incidental or punitive
36 > * damages, however caused and regardless of the theory of liability,
37 > * arising out of the use of or inability to use software, even if the
38 > * University of Notre Dame has been advised of the possibility of
39 > * such damages.
40 > */
41 >
42 > #ifndef VISITORS_ZCONSVISITOR_HPP
43 > #define VISITORS_ZCONSVISITOR_HPP
44  
4 #include "visitors/BaseVisitor.hpp"
45   #include "io/ZConsReader.hpp"
46 + #include "primitives/RigidBody.hpp"
47 + #include "visitors/BaseVisitor.hpp"
48   #include "visitors/AtomData.hpp"
49 < #include "constraints/ZconsData.hpp"
50 < enum ZConsState{zsFixed, zsMoving};
49 >
50 >
51 >
52   namespace oopse {
53 <    
53 >
54 > /**
55 > * @class ZConsVisitor
56 > * @note
57 > */
58   class ZConsVisitor : public BaseVisitor{
59 <  public:
59 >    public:
60 >        enum ZConsState{zsFixed = 0, zsMoving};
61  
62 <    
63 <    ZConsVisitor(SimInfo* info);
16 <    ~ZConsVisitor();
17 <    
18 <    virtual void visit(Atom* atom);
19 <    virtual void visit(DirectionalAtom* datom);
20 <    virtual void visit(RigidBody* rb);
21 <    
22 <    virtual void update();
23 <    
24 <    bool haveZconsMol() {return haveZcons;}
62 >        ZConsVisitor(SimInfo* info);
63 >        ~ZConsVisitor();
64  
65 <    virtual const string toString();
66 <  protected:
67 <    void internalVisit(StuntDouble* sd, const string& prefix);
68 <    bool isZconstraint(int index, string& prefix);
69 <    Molecule* findZconsMol(int index);
70 <    void getZconsPos(double time);
71 <    
72 <  private:  
73 <    vector<Molecule*> zconsMol;
74 <    vector<double> zconsPos;
75 <    map<int, ZConsState> zconsState;
76 <    bool haveZcons;
77 <    double zconsTol;
78 <    double zconsTime;
79 <    string zconsFilename;
80 <    ZConsReader* zconsReader;
81 <    SimInfo* info;
65 >        virtual void visit(Atom* atom);
66 >        virtual void visit(DirectionalAtom* datom);
67 >        virtual void visit(RigidBody* rb);
68 >
69 >        virtual void update();
70 >
71 >        bool haveZconsMol() {return !zmolStates_.empty(); }
72 >
73 >        virtual const std::string toString();
74 >        protected:
75 >        void internalVisit(StuntDouble* sd, const std::string& prefix);
76 >        bool isZconstraint(int index, std::string& prefix);
77 >        void readZconsFile(double time);
78 >
79 >    private:  
80 >        std::vector<double> zconsPos;
81 >        std::map<int, ZConsState> zmolStates_;
82 >        double zconsTol_;
83 >        double zconsTime_;
84 >        std::string zconsFilename_;
85 >        ZConsReader* zconsReader_;
86 >        SimInfo* info_;
87 >        Snapshot* currSnapshot_;
88 >        std::map<int, int> zatomToZmol_;
89   };
90  
91   }//namespace oopse

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines