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

Comparing trunk/OOPSE-4/src/visitors/LipidTransVisitor.cpp (file contents):
Revision 2053 by tim, Fri Feb 18 23:07:32 2005 UTC vs.
Revision 2057 by tim, Mon Feb 21 16:57:22 2005 UTC

# Line 40 | Line 40
40   */
41  
42   #include "visitors/LipidTransVisitor.hpp"
43 + #include "utils/simError.h"
44  
45   namespace oopse {
46 + LipidTransVisitor::LipidTransVisitor(SimInfo* info, const std::string& originSeleScript, const std::string& refSeleScript)
47 +    : BaseVisitor(), info_(info), originEvaluator_(info), originSeleMan_(info), refEvaluator_(info), refSeleMan_(info), refSd_(NULL) {
48 +
49 +
50 +    visitorName = "LipidTransVisitor";
51 +    
52 +    originEvaluator_.loadScriptString(originSeleScript);            
53 +    if (!originEvaluator_.isDynamic()) {  
54 +        originSeleMan_.setSelectionSet(originEvaluator_.evaluate());
55 +        if (originSeleMan_.getSelectionCount() == 1) {
56 +            int i;
57 +            originDatom_ = dynamic_cast<DirectionalAtom*>(originSeleMan_.beginSelected(i));
58 +            if (originDatom_ ==  NULL) {
59 +                sprintf(painCave.errMsg, "LipidTransVisitor: origin selection must select an directional atom");
60 +                painCave.isFatal = 1;
61 +                simError();                  
62 +            }
63 +        } else {
64 +            sprintf(painCave.errMsg, "LipidTransVisitor: origin selection must select an directional atom");
65 +            painCave.isFatal = 1;
66 +            simError();                  
67 +            
68 +        }
69 +    }
70 +
71 +    refEvaluator_.loadScriptString(refSeleScript);
72 +    if (!refEvaluator_.isDynamic()) {  
73 +        refSeleMan_.setSelectionSet(refEvaluator_.evaluate());
74 +        if (refSeleMan_.getSelectionCount() == 1) {
75 +            int i;
76 +            refSd_ = refSeleMan_.beginSelected(i);
77 +            
78 +        } else {
79 +            //error
80 +            
81 +        }
82 +    }
83 +    
84 + }
85 +
86   void LipidTransVisitor::update() {
87  
88          Vector3d ref = refSd_->getPos();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines