ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/visitors/AtomVisitor.cpp
(Generate patch)

Comparing branches/development/src/visitors/AtomVisitor.cpp (file contents):
Revision 1786 by gezelter, Fri Jul 6 22:01:58 2012 UTC vs.
Revision 1787 by gezelter, Wed Aug 29 18:13:11 2012 UTC

# Line 44 | Line 44
44   #include "visitors/AtomVisitor.hpp"
45   #include "primitives/DirectionalAtom.hpp"
46   #include "primitives/RigidBody.hpp"
47 + #include "types/MultipoleAdapter.hpp"
48 + #include "types/GayBerneAdapter.hpp"
49  
50   namespace OpenMD {
51    void BaseAtomVisitor::visit(RigidBody *rb) {
# Line 132 | Line 134 | namespace OpenMD {
134      pos = datom->getPos();
135      vel = datom->getVel();
136      frc = datom->getFrc();
137 <    if (datom->getAtomType()->isGayBerne()) {
138 <        u = datom->getA().transpose()*V3Z;        
139 <    } else if (datom->getAtomType()->isMultipole()) {
140 <        u = datom->getElectroFrame().getColumn(2);
137 >
138 >    GayBerneAdapter gba = GayBerneAdapter(datom->getAtomType());
139 >    MultipoleAdapter ma = MultipoleAdapter(datom->getAtomType());
140 >    
141 >    if (gba.isGayBerne()) {
142 >      u = datom->getA().transpose()*V3Z;        
143 >    } else if (ma.isDipole()) {
144 >      u = datom->getDipole();
145      }
146      atomData = new AtomData;
147      atomData->setID("ATOMDATA");

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines