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

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