--- trunk/OOPSE-1.0/utils/sysbuilder/MoLocator.hpp 2004/07/16 18:58:03 1334 +++ trunk/OOPSE-1.0/utils/sysbuilder/MoLocator.hpp 2004/07/28 18:42:59 1427 @@ -1,36 +1,33 @@ #ifndef __MOLOCATOR_H__ #define __MOLOCATOR_H__ +#include #include "Atom.hpp" #include "DirectionalAtom.hpp" #include "MoleculeStamp.hpp" -#include "SimState.hpp" +#include "Molecule.hpp" +#include "Vector3d.hpp" +#include "ForceFields.hpp" +using namespace std; class MoLocator{ public: - MoLocator( MoleculeStamp* theStamp ); - ~MoLocator(); + MoLocator( MoleculeStamp* theStamp, ForceFields* theFF); - void placeMol( double pos[3], double ornt[3][3], Atom** atomArray, - int atomIndex, SimState* myConfig ); - double getMaxLength( void ) { return maxLength; } - + void placeMol( const Vector3d& offset, const Vector3d& ort, Molecule* mol); + private: void calcRefCoords( void ); - void rotMe( double r[3], double A[3][3] ); MoleculeStamp* myStamp; - double *myCoords; - double maxLength; - int nAtoms; + ForceFields* myFF; + vector refCoords; + int nIntegrableObjects; + }; -extern void getRandomRot( double rot[3][3] ); -extern void getEulerRot( double theta, double phi, double psi, - double rot[3][3] ); - #endif