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

# Content
1 #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 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 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 *