ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/StuntDouble.hpp
Revision: 1108
Committed: Wed Apr 14 15:37:41 2004 UTC (20 years, 2 months ago) by tim
File size: 1439 byte(s)
Log Message:
Change DumpWriter and InitFromFile

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 tim 1108 virtual void getQ( double q[4] ); // get the quanternions
47     virtual void setQ( double q[4] );
48    
49     virtual void setType(char* type) = 0;
50     virtual char* getType() = 0;
51    
52    
53 gezelter 1097 virtual void getTrq(double trq[3]);
54     virtual void addTrq(double trq[3]);
55    
56     virtual void getI(double I[3][3]);
57     virtual void lab2Body(double vec[3]);
58    
59     virtual void getGrad(double grad[6]);
60     virtual void setEuler(double phi, double theta, double psi);
61     virtual void getEulerAngles(double eulers[3]);
62    
63     protected:
64     StuntDouble(){}
65     int objType;
66     };
67    
68     #endif

Properties

Name Value
svn:executable *