ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/FAS/src/extradata.cpp
Revision: 67
Committed: Tue Aug 13 17:07:15 2002 UTC (21 years, 10 months ago) by tim
File size: 1767 byte(s)
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 tim 66 #include <algorithm>
2     #include "extradata.h"
3    
4     //member function for TExtraData
5     TExtraData::TExtraData()
6     {
7     _ident = "unknown";
8     _type = TExtraDataType::UNKNOWN;
9     }
10    
11     TExtraData::TExtraData(const TExtraData & extraData)
12     {
13     _ident = extraData._ident;
14     _type = extraData._type;
15     }
16    
17 tim 67 TExtraData &TExtraData::operator =(const TExtraData &extraData)
18 tim 66 {
19     if (this == &extraData)
20     return *this;
21    
22 tim 67 _ident = extraData._ident;
23 tim 66 _type = extraData._type;
24     return *this;
25     }
26    
27     //member function for Energy Data
28     TEnergyData::TEnergyData()
29     {
30     _ident = "Energy";
31     _type = TExtraDataType::ENERGY;
32     }
33    
34     TEnergyData::TEnergyData(const TEnergyData &energyData) : TExtraData(energyData)
35     {
36     _energy = energyData._energy;
37     }
38    
39 tim 67 TEnergyData &TEnergyData::operator =(const TEnergyData &energyData)
40 tim 66 {
41     if (this == &energyData)
42     return *this;
43 tim 67 TExtraData::operator =(energyData);
44     _energy = energyData._energy;
45 tim 66 }
46    
47     TEnergyData::~TEnergyData()
48     {
49     _energy.clear();
50     }
51    
52     map<int, float>::iterator TEnergyData::FindEnergy(int energyType)
53     {
54 tim 67 return _energy.find(energyType);
55 tim 66 }
56    
57     void TEnergyData::AddEnergy(int energyType, float value)
58     {
59     _energy.insert(map<int,float>::value_type(energyType, value));
60     }
61    
62     void TEnergyData::ReplaceEnergy(int energyType, float value)
63     {
64     map<int, float>::iterator i;
65     i = FindEnergy(energyType);
66    
67     if (i != _energy.end())
68     {
69 tim 67 (*i).second = value;
70 tim 66 }
71     }
72    
73     void TEnergyData::DeleteEnergy(int energyType)
74     {
75     map<int, float>::iterator i;
76     i = FindEnergy(energyType);
77    
78     if (i != _energy.end())
79     {
80     _energy.erase(i);
81     }
82     }
83    
84     //return the energy with specified type, return NULL if not find
85     float *TEnergyData::GetEnergy(int energyType)
86     {
87     map<int, float>::iterator i;
88     i = FindEnergy(energyType);
89    
90     if (i != _energy.end())
91     {
92 tim 67 return &((*i).second);
93 tim 66 }
94     else
95     {
96     return NULL;
97     }
98     }