| 1 | #ifndef __ATOMSTAMP_H__ | 
| 2 | #define __ATOMSTAMP_H__ | 
| 3 |  | 
| 4 | #include "LinkedAssign.hpp" | 
| 5 |  | 
| 6 | class AtomStamp{ | 
| 7 |  | 
| 8 | public: | 
| 9 | AtomStamp(); | 
| 10 | ~AtomStamp(); | 
| 11 |  | 
| 12 | void setPosition( double x, double y, double z ); | 
| 13 | void setOrientation( double x, double y, double z ); | 
| 14 | char* assignString( char* lhs, char* rhs ); | 
| 15 | char* assignDouble( char* lhs, double rhs ); | 
| 16 | char* assignInt( char* lhs, int rhs ); | 
| 17 | char* checkMe( void ); | 
| 18 |  | 
| 19 | char* getType( void ) { return type; } | 
| 20 | short int havePosition( void ) { return have_position; } | 
| 21 | short int haveOrientation( void ) { return have_orientation; } | 
| 22 | double getPosX( void ) { return pos[0]; } | 
| 23 | double getPosY( void ) { return pos[1]; } | 
| 24 | double getPosZ( void ) { return pos[2]; } | 
| 25 | double getOrntX( void ) { return ornt[0]; } | 
| 26 | double getOrntY( void ) { return ornt[1]; } | 
| 27 | double getOrntZ( void ) { return ornt[2]; } | 
| 28 |  | 
| 29 |  | 
| 30 | private: | 
| 31 |  | 
| 32 | double pos[3]; //the position vector | 
| 33 | short int have_position; // boolean for positions | 
| 34 | double ornt[3]; // the orientation vector | 
| 35 | short int have_orientation; | 
| 36 | char type[100]; // the type name of the atom | 
| 37 | short int have_type; | 
| 38 |  | 
| 39 | LinkedAssign* unhandled; // the list of unhandled assignments | 
| 40 | short int have_extras; | 
| 41 | }; | 
| 42 |  | 
| 43 | #endif |