ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/StuntDouble.hpp
Revision: 1097
Committed: Mon Apr 12 20:32:20 2004 UTC (20 years, 2 months ago) by gezelter
File size: 1267 byte(s)
Log Message:
Changes for RigidBody dynamics (Somewhat extensive)

File Contents

# User Rev Content
1 gezelter 1097 #ifndef __STUNTDOUBLE_HPP__
2     #define __STUNTDOUBLE_HPP__
3    
4     #define OT_ATOM 0
5     #define OT_DATOM 1
6     #define OT_RIGIDBODY 2
7    
8     class StuntDouble {
9     public:
10    
11     int getObjType();
12    
13     bool isAtom(){
14     return objType == OT_ATOM || objType == OT_DATOM;
15     }
16    
17     bool isDirectionalAtom(){
18     return objType == OT_DATOM;
19     }
20    
21     bool isRigidBody(){
22     return objType == OT_RIGIDBODY;
23     }
24    
25     bool isDirectional(){
26     return isDirectionalAtom() || isRigidBody();
27     }
28    
29     virtual double getMass(void);
30    
31     virtual void getPos(double pos[3]);
32     virtual void setPos(double pos[3]);
33    
34     virtual void getVel(double vel[3]);
35     virtual void setVel(double vel[3]);
36    
37     virtual void getFrc(double frc[3]);
38     virtual void addFrc(double frc[3]);
39    
40     virtual void getA(double A[3][3]);
41     virtual void setA(double A[3][3]);
42    
43     virtual void getJ(double j[3]);
44     virtual void setJ(double j[3]);
45    
46     virtual void getTrq(double trq[3]);
47     virtual void addTrq(double trq[3]);
48    
49     virtual void getI(double I[3][3]);
50     virtual void lab2Body(double vec[3]);
51    
52     virtual void getGrad(double grad[6]);
53     virtual void setEuler(double phi, double theta, double psi);
54     virtual void getEulerAngles(double eulers[3]);
55    
56     protected:
57     StuntDouble(){}
58     int objType;
59     };
60    
61     #endif

Properties

Name Value
svn:executable *