ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/GenericData.hpp
(Generate patch)

Comparing trunk/OOPSE/libmdtools/GenericData.hpp (file contents):
Revision 658 by tim, Thu Jul 31 15:35:07 2003 UTC vs.
Revision 1091 by tim, Tue Mar 16 19:22:56 2004 UTC

# Line 1 | Line 1
1   #ifndef __GENERICDATA_H__
2   #define __GENERICDATA_H__
3  
4 + #include <algorithm>
5   #include <string>
6   #include <vector>
7  
8 + #define ZCONSTIME_ID            "ZCONSTIME"
9 + #define ZCONSPARADATA_ID    "ZCONSPARA"
10 + #define ZCONSFILENAME_ID     "ZCONSFILENAME"
11 + #define ZCONSTOL_ID              "ZCONSTOL"
12 + #define ZCONSFORCEPOLICY_ID "ZCONSFORCEPOLICY"
13 + #define ZCONSGAP_ID "ZCONSGAP"
14 + #define ZCONSFIXTIME_ID "ZCONSFIXTIME"
15 +
16 + #define CHIVALUE_ID "CHIVALUE"
17 + #define INTEGRALOFCHIDT_ID "INTEGRALOFCHIDT"
18 + #define ETAVALUE_ID "ETAVALUE"
19 +
20   using namespace std;
21  
22   class GenericData
# Line 13 | Line 26 | class GenericData
26      GenericData(const GenericData& rhs)  {  id = rhs.getID(); }
27      GenericData& operator =(const GenericData& rhs);
28      virtual ~GenericData() {}
29 <    
29 >
30      const string& getID() const {  return id; }
31 <    void setID(string rhs)     {  id = rhs;  }
32 <    
31 >    void setID(string rhs)     {  id = rhs;  }
32 >
33    protected:
34      string id;
35   };
36  
37   /** Something we can improve it here is to use template
38 < **
38 > **
39   */
27 class IndexData : public GenericData
28 {
29  public:
30    IndexData();
31    IndexData(const IndexData& rhs);
32    IndexData& operator = (const IndexData& rhs);
33    
34    const vector<int>& getIndexData() const   {  return indexData; }
35    void setIndexData(const vector<int>& rhs) {  indexData = rhs;  }
36  protected:
37    vector<int> indexData;  
38 };
39
40   class DoubleData : public GenericData{
41  
42    public:
43  
44      double getData()         { return data; }
45      void setData(double rhs) { data = rhs;  }
46 <            
46 >
47    protected:
48      double data;
49   };
50  
51   class StringData : public GenericData{
52 <
53 <  public:  
52 >
53 >  public:
54      const string& getData() const  {  return data; }
55      void setData(const string& rhs) {  data = rhs;  }
56    protected:
57 <    string data;
57 >    string data;
58   };
59 +
60 + struct ZConsParaItem {
61 +  int zconsIndex;
62 +  bool havingZPos;
63 +  double zPos;
64 +  double kRatio;
65 + };
66 +
67 + class ZConsParaData : public GenericData{
68 +
69 +  public:
70 +    ZConsParaData();
71 +    void addItem(ZConsParaItem& item) {data.push_back(item);}
72 +    vector<ZConsParaItem>* getData() {return &data;}
73 +    void setData(vector<ZConsParaItem>& theData) {data = theData;}
74 +    void sortByIndex();
75 +    bool isIndexUnique();
76 +
77 +  private:
78 +    vector<ZConsParaItem> data;
79 +  };
80 +
81 + class ZConsParaSortCriterion{
82 +  public:
83 +    bool operator ()(const ZConsParaItem& item1, const ZConsParaItem& item2){
84 +      return item1.zconsIndex < item2.zconsIndex;
85 +    }
86 +
87 + };
88 +
89 + class DoubleArrayData : public GenericData{
90 +
91 + public:
92 +   vector<double> getData() const  {  return data; }
93 +   void setData(double* source, int num){
94 +    data.clear();
95 +    for(int i = 0; i < num; i++)
96 +     data.push_back(source[i]);
97 +   }
98 + protected:
99 +   vector<double> data;
100 + };
101   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines