ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/test/brains/DirectionalAtom.hpp
(Generate patch)

Comparing trunk/OOPSE-2.0/test/brains/DirectionalAtom.hpp (file contents):
Revision 1640 by tim, Sat Oct 23 23:09:46 2004 UTC vs.
Revision 1691 by tim, Mon Nov 1 19:57:07 2004 UTC

# Line 34 | Line 34
34   #define PRIMITIVES_DIRECTIONALATOM_HPP
35  
36   #include "primitives/Atom.hpp"
37 <
37 > #include "types/DirectionalAtomType.hpp"
38   namespace oopse{
39      class DirectionalAtom : public Atom {
40          public:
41 <            DirectionalAtom();
41 >            DirectionalAtom(DirectionalAtomType* dAtomType);
42              /**
43               * Returns the inertia tensor of this stuntdouble
44               * @return the inertia tensor of this stuntdouble
45             * @see #setI
45               */
46              virtual Mat3x3d getI();
47  
49            /**
50             * Sets the inertia tensor of this stuntdouble
51             * @param trq new inertia tensor
52             * @see #getI
53             */      
54            virtual void setI(Mat3x3d& I);
48  
49 +           /**
50 +             * Sets  the previous rotation matrix of this stuntdouble
51 +             * @param a  new rotation matrix
52 +             */        
53 +           virtual void setPrevA(const RotMat3x3d& a);
54 +          
55 +           /**
56 +             * Sets  the current rotation matrix of this stuntdouble
57 +             * @param a  new rotation matrix
58 +             */        
59 +            virtual void setA(const RotMat3x3d& a);
60 +
61 +           /**
62 +             * Sets  the rotation matrix of this stuntdouble in specified snapshot
63 +             * @param a rotation matrix to be set
64 +             * @param snapshotNo
65 +             * @see #getA
66 +             */        
67 +            virtual void setA(const RotMat3x3d& a, int snapshotNo);
68 +
69 +            /**
70 +             * Left multiple rotation matrix by another rotation matrix
71 +             * @param m a rotation matrix
72 +             */
73 +            void rotateBy(const RotMat3x3d& m);
74 +            
75 +            /** Sets the internal unit frame of this stuntdouble by three euler angles */
76 +            void setUnitFrameFromEuler(double phi, double theta, double psi);
77 +
78              /**
79               * Returns the gradient of this stuntdouble
80 <             * @return the inertia tensor of this stuntdouble
59 <             * @see #setI
80 >             * @return the gradient of this stuntdouble
81               */
82              virtual std::vector<double> getGrad();
83  
84              virtual void accept(BaseVisitor* v);
85  
86          protected:
87 <            Mat3x3d inertiaTensor_;      
87 >            Mat3x3d inertiaTensor_;   /**< inertial tensor */    
88 >            RotMat3x3d sU_;               /**< body fixed standard unit vector */
89      };
90  
91   }//namepace oopse

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines