--- trunk/OOPSE/libBASS/RigidBodyStamp.hpp 2004/01/26 21:26:40 982 +++ trunk/OOPSE/libBASS/RigidBodyStamp.hpp 2004/04/12 20:33:12 1099 @@ -1,53 +1,37 @@ #ifndef __RIGIDBODYSTAMP_H__ #define __RIGIDBODYSTAMP_H__ -#include "AtomStamp.hpp" #include "LinkedAssign.hpp" +#include "AtomStamp.hpp" + class RigidBodyStamp{ public: RigidBodyStamp(); ~RigidBodyStamp(); - void setPosition( double x, double y, double z ); - void setOrientation( double phi, double theta, double psi ); char* assignString( char* lhs, char* rhs ); char* assignDouble( char* lhs, double rhs ); char* assignInt( char* lhs, int rhs ); char* checkMe( void ); - char* addAtom( AtomStamp* the_atom, int atomIndex ); - - int getNAtoms( void ) { return n_atoms; } - short int havePosition( void ) { return have_position; } - short int haveOrientation( void ) { return have_orientation; } - double getPosX( void ) { return pos[0]; } - double getPosY( void ) { return pos[1]; } - double getPosZ( void ) { return pos[2]; } - double getEulerPhi( void ) { return ornt[0]; } - double getEulerTheta( void ) { return ornt[1]; } - double getEulerPsi( void ) { return ornt[2]; } - - AtomStamp* getAtom( int index ) { return atoms[index]; } - + char* addMember( int atomIndex ); + int getNMembers( void ) { return n_members; } + int getMember( int index ) { return members[index]; } + int haveExtras( void ) { return have_extras; } - LinkedAssign* getUnhandled( void ) { return unhandled; } + LinkedAssign* getExtras( void ) { return unhandled; } static char errMsg[500]; private: - double pos[3]; //the position vector - short int have_position; // boolean for positions - double ornt[3]; // the orientation vector - short int have_orientation; - - int n_atoms; + int n_members; + int which; + short int have_members; - int have_atoms; + int* members; - AtomStamp** atoms; - LinkedAssign* unhandled; // the unhandled assignments short int have_extras; };