ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/RigidBody.hpp
(Generate patch)

Comparing trunk/OOPSE/libmdtools/RigidBody.hpp (file contents):
Revision 1100 by gezelter, Mon Apr 12 21:02:01 2004 UTC vs.
Revision 1187 by chrisfen, Sat May 22 18:16:18 2004 UTC

# Line 39 | Line 39 | class RigidBody : public StuntDouble { (public)
39    void getFrc( double theF[3] );
40    void addFrc( double theF[3] );
41    void zeroForces();
42 +  
43 +  virtual bool isLinear() {return is_linear;}
44 +  virtual int linearAxis() {return linear_axis;}
45  
46    double getMass( void ) { return mass; }
47  
48    void printAmatIndex( void );
49 <  void setEulerAngles( double phi, double theta, double psi );
49 >  void setEuler( double phi, double theta, double psi );
50    void getQ( double the_q[4] ); // get the quanternions
51    void setQ( double the_q[4] );
52  
# Line 53 | Line 56 | class RigidBody : public StuntDouble { (public)
56    void getJ( double theJ[3] );
57    void setJ( double theJ[3] );
58  
59 +  virtual void setType(char* type) {strcpy(rbName, type);}
60 +  virtual char* getType() { return rbName;}
61 +
62    void getTrq( double theT[3] );
63    void addTrq( double theT[3] );
64  
# Line 60 | Line 66 | class RigidBody : public StuntDouble { (public)
66    void lab2Body( double r[3] );
67    void body2Lab( double r[3] );
68  
69 +  double getZangle( );
70 +  void setZangle( double zAng );
71 +  void addZangle( double zAng );
72 +
73    void calcRefCoords( void );
74    void doEulerToRotMat(vec3 &euler, mat3x3 &myA );
75    void calcForcesAndTorques( void );
# Line 80 | Line 90 | class RigidBody : public StuntDouble { (public)
90    // utility routines
91  
92    void findCOM( void );
93 <  void findOrient( void );
93 >
94 >  virtual void accept(BaseVisitor* v);
95 >
96 >  vector<Atom*> getAtoms() { return myAtoms;}
97    
98   protected:
99  
# Line 93 | Line 106 | class RigidBody : public StuntDouble { (public)
106    double A[3][3];  // the rotation matrix
107    double I[3][3];  // the inertial tensor (body fixed)
108    double sU[3][3]; // the standard unit vectors (body fixed)
109 +  double zAngle;   // the rotation about the z-axis (body fixed)
110  
111 +  bool is_linear;
112 +  int linear_axis;
113 +  double momIntTol;
114 +
115    vector<Atom*> myAtoms;  // the vector of atoms
116    vector<vec3> refCoords;
117    vector<mat3x3> refOrients;
118  
119 <  bool com_good;
102 <  bool forces_good;
103 <  bool precalc_done;
104 <  bool orient_good;
119 >  char rbName[100]; //it will eventually be converted into string
120   };
121  
122   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines