ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/RigidBodyStamp.hpp
Revision: 957
Committed: Mon Jan 19 16:08:21 2004 UTC (20 years, 6 months ago) by gezelter
File size: 1551 byte(s)
Log Message:
BASS changes to add RigidBodies and LJrcut

File Contents

# User Rev Content
1 gezelter 957 #ifndef __RIGIDBODYSTAMP_H__
2     #define __RIGIDBODYSTAMP_H__
3    
4     #include "AtomStamp.hpp"
5     #include "LinkedAssign.hpp"
6    
7     class RigidBodyStamp{
8    
9     public:
10     RigidBodyStamp();
11     ~RigidBodyStamp();
12    
13     void setPosition( double x, double y, double z );
14     void setOrientation( double x, double y, double z );
15     char* assignString( char* lhs, char* rhs );
16     char* assignDouble( char* lhs, double rhs );
17     char* assignInt( char* lhs, int rhs );
18     char* checkMe( void );
19    
20     char* addAtom( AtomStamp* the_atom, int atomIndex );
21    
22     char* getID( void ) { return name; }
23     int getNAtoms( void ) { return n_atoms; }
24     short int havePosition( void ) { return have_position; }
25     short int haveOrientation( void ) { return have_orientation; }
26     double getPosX( void ) { return pos[0]; }
27     double getPosY( void ) { return pos[1]; }
28     double getPosZ( void ) { return pos[2]; }
29     double getOrntX( void ) { return ornt[0]; }
30     double getOrntY( void ) { return ornt[1]; }
31     double getOrntZ( void ) { return ornt[2]; }
32    
33     AtomStamp* getAtom( int index ) { return atoms[index]; }
34    
35     int haveExtras( void ) { return have_extras; }
36     LinkedAssign* getUnhandled( void ) { return unhandled; }
37    
38     static char errMsg[500];
39     private:
40    
41     double pos[3]; //the position vector
42     short int have_position; // boolean for positions
43     double ornt[3]; // the orientation vector
44     short int have_orientation;
45    
46     char name[100];
47     int n_atoms;
48    
49     int have_name, have_atoms;
50    
51     AtomStamp** atoms;
52    
53     LinkedAssign* unhandled; // the unhandled assignments
54     short int have_extras;
55     };
56    
57     #endif