ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/test/brains/DirectioanlAtom.cpp
(Generate patch)

Comparing trunk/test/brains/DirectioanlAtom.cpp (file contents):
Revision 147 by tim, Sat Oct 23 23:09:46 2004 UTC vs.
Revision 190 by tim, Fri Oct 29 16:20:50 2004 UTC

# Line 27 | Line 27 | namespace oopse {
27  
28   namespace oopse {
29  
30 < DirectionalAtom::DirectionalAtom() : objType_(otDAtom), storage_(&Snapshot::atomData){
30 > DirectionalAtom::DirectionalAtom(DirectionalAtom* dAtomType)
31 >                         : Atom(dAtomType), objType_(otDAtom), storage_(&Snapshot::atomData){
32  
33   }
34  
35   Mat3x3d DirectionalAtom::getI() {
36 <    return inertiaTensor_;
36 >    return static_cast<DirectionalAtomType*>(getAtomType())->getI();
37   }    
38  
39 < void DirectionalAtom::setI(Mat3x3d& I) {
40 <    inertiaTensor_ = I;
39 > void DirectionalAtom::setPrevA(const RotMat3x3d& a) {
40 >    (snapshotMan_->getPrevSnapshot())->storage_->aMat[localIndex_] = a;
41 >    (snapshotMan_->getPrevSnapshot())->storage_->unitVector[localIndex_] = a.inverse() * sU_.getColum(2);
42 > }
43 >
44 >      
45 > void DirectionalAtom::setA(const RotMat3x3d& a) {
46 >    (snapshotMan_->getCurrentSnapshot())->storage_->aMat[localIndex_] = a;
47 >    (snapshotMan_->getCurrentSnapshot())->storage_->unitVector[localIndex_] = a.inverse() * sU_.getColum(2);
48   }    
49 +    
50 + void DirectionalAtom::setA(const RotMat3x3d& a, int snapshotNo) {
51 +    (snapshotMan_->getSnapshot(snapshotNo))->storage_->aMat[localIndex_] = a;
52 +    (snapshotMan_->getSnapshot(snapshotNo))->storage_->unitVector[localIndex_] = a.inverse() * sU_.getColum(2);    
53 + }    
54  
55 + void DirectionalAtom::rotateBy(const RotMat3x3d& m) {
56 +    setA(m *getA());
57 + }
58 +
59 + void  DirectionalAtom::setUnitFrameFromEuler(double phi, double theta, double psi) {
60 +    sU_.setupRotMat(phi,theta,psi);
61 + }
62 +
63   std::vector<double> DirectionalAtom::getGrad() {
64      vector<double> grad(6, 0.0);
65      Vector3d force;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines