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

Comparing branches/development/src/primitives/DirectionalAtom.cpp (file contents):
Revision 1665 by gezelter, Tue Nov 22 20:38:56 2011 UTC vs.
Revision 1710 by gezelter, Fri May 18 21:44:02 2012 UTC

# Line 41 | Line 41
41   */
42  
43   #include "primitives/DirectionalAtom.hpp"
44 + #include "types/DirectionalAdapter.hpp"
45 + #include "types/MultipoleAdapter.hpp"
46   #include "utils/simError.h"
47   namespace OpenMD {
48    
49 <  DirectionalAtom::DirectionalAtom(DirectionalAtomType* dAtomType)
50 <    : Atom(dAtomType){
49 >  DirectionalAtom::DirectionalAtom(AtomType* dAtomType)
50 >    : Atom(dAtomType) {
51      objType_= otDAtom;
52 <    if (dAtomType->isMultipole()) {
53 <      electroBodyFrame_ = dAtomType->getElectroBodyFrame();
52 >
53 >    DirectionalAdapter da = DirectionalAdapter(dAtomType);
54 >    I_ = da.getI();
55 >
56 >    MultipoleAdapter ma = MultipoleAdapter(dAtomType);
57 >    if (ma.isMultipole()) {
58 >      electroBodyFrame_ = ma.getElectroBodyFrame();
59      }
60 <    
60 >
61      // Check if one of the diagonal inertia tensor of this directional
62      // atom is zero:
63      int nLinearAxis = 0;
# Line 74 | Line 81 | namespace OpenMD {
81    }
82    
83    Mat3x3d DirectionalAtom::getI() {
84 <    return static_cast<DirectionalAtomType*>(getAtomType())->getI();
84 >    return I_;    
85    }    
86    
87    void DirectionalAtom::setPrevA(const RotMat3x3d& a) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines