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

Comparing trunk/OOPSE-2.0/src/brains/Snapshot.hpp (file contents):
Revision 1615 by tim, Wed Oct 20 05:52:25 2004 UTC vs.
Revision 1648 by tim, Tue Oct 26 22:19:22 2004 UTC

# Line 30 | Line 30
30    * @time 23:56am
31    * @version 1.0
32    */
33 +  
34   #ifndef BRAINS_SNAPSHOT_HPP
35   #define BRAINS_SNAPSHOT_HPP
36 +
37 + #include <vector>
38 +
39 + #include "brains/DataStorage.hpp"
40 +
41 + using namespace std;
42 +
43   namespace oopse{
44  
45 +    class StuntDouble;
46 +    
47      /**
48       * @class Snapshot Snapshot.hpp "brains/Snapshot.hpp"
49       * @brief Snapshot class is a repository class for storing dynamic data during
50       *  Simulation
51 +     * Every snapshot class will contain one DataStorage  for atoms and one DataStorage
52 +     *  for rigid bodies.
53       * @see SimData
54       */
55      class Snapshot {
56          public:
57              
58 <            PropertyMap properties_;
58 >            Snapshot(int nAtoms, int nRigidbodies) {
59 >                atomData.resize(nAtoms);
60 >                rigidbodyData.resize(nRigidbodies);
61 >            }
62 >
63 >            Snapshot(const Snapshot& s);
64 >
65 >            Snapshot& operator =(const Snapshot& s);
66              
67 <        private:
67 >            /** Returns the id of this Snapshot */
68 >            int getID() {
69 >                return id_;
70 >            }
71 >
72 >            /** Sets the id of this Snapshot */
73 >            void setID(int id) {
74 >                id_ = id;
75 >            }
76 >
77 >            //template<typename T>
78 >            //static typename T::ElemPointerType getArrayPointer(vector<T>& v) {
79 >            //    return v[0]->getArrayPointer();
80 >            //}
81 >
82 >            int getSize() {
83 >                return atomData.getSize() + rigidbodyData.getSize();
84 >            }
85 >
86 >            /** Returns the number of atoms */
87 >            int getNumberOfAtoms() {
88 >                return atomData.getSize();
89 >            }
90 >
91 >            /** Returns the number of rigid bodies */
92 >            int getNumberOfRigidBodies() {
93 >                return rigidbodyData.getSize();
94 >            }
95 >
96 >            /** Returns the H-Matrix */
97 >            Mat3x3d getHmat() {
98 >                return hmat_;
99 >            }
100 >
101 >            /** Sets the H-Matrix */
102 >            void setHamt(const Mat3x3d& m) {
103 >                hmat_ = m;
104 >                invHmat_ = hmat_.inverse();
105 >            }
106 >
107 >            /** Returns the inverse H-Matrix */
108 >            Mat3x3d getInvHmat() {
109 >                return invHmat_
110 >            }
111 >
112 >            double getTimeStamp() {
113 >                return timeStamp_;
114 >            }
115 >
116 >            void setTimeStamp(double timeStamp) {
117 >                timeStamp_ =timeStamp;
118 >            }
119 >
120 >
121 >            DataStorage atomData;
122 >            DataStorage rigidbodyData;
123              
124 +            friend class StuntDouble;
125 +            
126 +        private:
127 +            double timeStamp_;
128 +            Mat3x3d hmat_;
129 +            Mat3x3d invHmat_;
130 +            int id_; /**< identification number of the snapshot */
131      };
132  
133 +    typedef DataStorage (Snapshot::*DataStoragePointer);
134   }
135   #endif //BRAINS_SNAPSHOT_HPP

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines