ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/types/AtomStamp.hpp
(Generate patch)

Comparing trunk/OOPSE-4/src/types/AtomStamp.hpp (file contents):
Revision 2204 by gezelter, Fri Apr 15 22:04:00 2005 UTC vs.
Revision 2469 by tim, Fri Dec 2 15:38:03 2005 UTC

# Line 42 | Line 42
42   #ifndef TYPES_ATOMSTAMP_HPP
43   #define TYPES_ATOMSTAMP_HPP
44  
45 < #include "io/LinkedAssign.hpp"
45 > #include "types/DataHolder.hpp"
46 > namespace oopse {
47  
48 < class AtomStamp{
49 <  
50 < public:
51 <  AtomStamp();
52 <  ~AtomStamp();
48 > class AtomStamp  : public DataHolder {
49 >    DeclareParameter(Type, std::string);
50 >    public:
51 >        AtomStamp(int index);
52 >    public:
53  
54 <  void setPosition( double x, double y, double z );
55 <  void setOrientation( double phi, double theta, double psi );
56 <  char* assignString( char* lhs, char* rhs );
57 <  char* assignDouble( char* lhs, double rhs );
58 <  char* assignInt( char* lhs, int rhs );
59 <  char* checkMe( void );
54 >      bool setPosition(const std::vector<double>& pos);
55 >      bool setOrientation(const std::vector<double>& ort);
56 >      bool havePosition() { return havePos_; }
57 >      bool haveOrientation() { return haveOrt_; }      
58 >      double getPosX() { return position_[0]; }
59 >      double getPosY() { return position_[1]; }
60 >      double getPosZ() { return position_[2]; }
61 >      double getEulerPhi()   { return orientation_[0]; }
62 >      double getEulerTheta() { return orientation_[1]; }
63 >      double getEulerPsi()   { return orientation_[2]; }
64 >      int getIndex() { return index_;}
65 >      virtual void validate();
66  
67 <  char* getType( void ) { return type; }
68 <  short int havePosition( void ) { return have_position; }
69 <  short int haveOrientation( void ) { return have_orientation; }
70 <  double getPosX( void ) { return pos[0]; }
71 <  double getPosY( void ) { return pos[1]; }
72 <  double getPosZ( void ) { return pos[2]; }
73 <  double getEulerPhi( void )   { return ornt[0]; }
74 <  double getEulerTheta( void ) { return ornt[1]; }
75 <  double getEulerPsi( void )   { return ornt[2]; }
69 <  
70 <
71 < private:
72 <
73 <  double pos[3]; //the position vector
74 <  short int have_position; // boolean for positions
75 <  double ornt[3]; // the Euler angles
76 <  short int have_orientation;
77 <  char type[100]; // the type name of the atom
78 <  short int have_type;
79 <  
80 <  LinkedAssign* unhandled; // the list of unhandled assignments
81 <  short int have_extras;
67 >      AtomStamp* getNextBondedAtom();
68 >      
69 >    private:
70 >        Vector3d position_;
71 >        Vector3d orientation_;
72 >        bool havePos_;
73 >        bool haveOrt_;
74 >        int index_;
75 >        std::vector<int> bonds_;
76   };
77  
78 + }
79   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines