1 |
< |
/* |
1 |
> |
/* |
2 |
|
* Copyright (c) 2005 The University of Notre Dame. All Rights Reserved. |
3 |
|
* |
4 |
|
* The University of Notre Dame grants you ("Licensee") a |
51 |
|
#include "selection/SelectionManager.hpp" |
52 |
|
namespace oopse { |
53 |
|
|
54 |
< |
class LipidTransVisitor : public BaseVisitor { |
55 |
< |
public: |
56 |
< |
LipidTransVisitor(SimInfo* info, const std::string& originSeleScript, const std::string& refSeleScript) |
57 |
< |
: BaseVisitor(), info_(info), originEvaluator_(info), originSeleMan_(info), refEvaluator_(info), refSeleMan_(info), refSd_(NULL) { |
58 |
< |
|
59 |
< |
|
60 |
< |
visitorName = "LipidTransVisitor"; |
61 |
< |
|
62 |
< |
originEvaluator_.loadScriptString(originSeleScript); |
63 |
< |
if (!originEvaluator_.isDynamic()) { |
64 |
< |
originSeleMan_.setSelectionSet(originEvaluator_.evaluate()); |
65 |
< |
if (originSeleMan_.getSelectionCount() == 1) { |
66 |
< |
int i; |
67 |
< |
originDatom_ = dynamic_cast<DirectionalAtom*>(originSeleMan_.beginSelected(i)); |
68 |
< |
if (originDatom_ == NULL) { |
69 |
< |
//error |
70 |
< |
} |
71 |
< |
} else { |
72 |
< |
//error |
73 |
< |
} |
74 |
< |
} |
75 |
< |
|
76 |
< |
refEvaluator_.loadScriptString(refSeleScript); |
77 |
< |
if (!refEvaluator_.isDynamic()) { |
78 |
< |
refSeleMan_.setSelectionSet(refEvaluator_.evaluate()); |
79 |
< |
if (refSeleMan_.getSelectionCount() == 1) { |
80 |
< |
int i; |
81 |
< |
refSd_ = refSeleMan_.beginSelected(i); |
82 |
< |
|
83 |
< |
} else { |
84 |
< |
//error |
85 |
< |
} |
86 |
< |
} |
87 |
< |
|
88 |
< |
} |
54 |
> |
class LipidTransVisitor : public BaseVisitor { |
55 |
> |
public: |
56 |
> |
LipidTransVisitor(SimInfo* info, const std::string& originSeleScript, const std::string& refSeleScript); |
57 |
|
|
58 |
< |
virtual void visit(Atom* atom) { internalVisit(atom); } |
59 |
< |
virtual void visit(DirectionalAtom* datom) { internalVisit(datom);} |
60 |
< |
virtual void visit(RigidBody* rb) { internalVisit(rb);} |
58 |
> |
virtual void visit(Atom* atom) { internalVisit(atom); } |
59 |
> |
virtual void visit(DirectionalAtom* datom) { internalVisit(datom);} |
60 |
> |
virtual void visit(RigidBody* rb) { internalVisit(rb);} |
61 |
|
|
62 |
< |
virtual const std::string toString(); |
62 |
> |
virtual const std::string toString(); |
63 |
|
|
64 |
< |
void update(); |
64 |
> |
void update(); |
65 |
|
|
66 |
< |
protected: |
67 |
< |
void internalVisit(StuntDouble* sd); |
68 |
< |
SimInfo* info_; |
69 |
< |
SelectionEvaluator originEvaluator_; |
70 |
< |
SelectionManager originSeleMan_; |
71 |
< |
DirectionalAtom* originDatom_; |
72 |
< |
SelectionEvaluator refEvaluator_; |
73 |
< |
SelectionManager refSeleMan_; |
74 |
< |
StuntDouble* refSd_; |
75 |
< |
RotMat3x3d rotMat_; |
76 |
< |
Vector3d origin_; |
77 |
< |
}; |
66 |
> |
protected: |
67 |
> |
void internalVisit(StuntDouble* sd); |
68 |
> |
SimInfo* info_; |
69 |
> |
SelectionEvaluator originEvaluator_; |
70 |
> |
SelectionManager originSeleMan_; |
71 |
> |
DirectionalAtom* originDatom_; |
72 |
> |
SelectionEvaluator refEvaluator_; |
73 |
> |
SelectionManager refSeleMan_; |
74 |
> |
StuntDouble* refSd_; |
75 |
> |
RotMat3x3d rotMat_; |
76 |
> |
Vector3d origin_; |
77 |
> |
}; |
78 |
|
} |
79 |
|
#endif |