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

# Content
1 #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 TExtraData &TExtraData::operator =(const TExtraData &extraData)
18 {
19 if (this == &extraData)
20 return *this;
21
22 _ident = extraData._ident;
23 _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 TEnergyData &TEnergyData::operator =(const TEnergyData &energyData)
40 {
41 if (this == &energyData)
42 return *this;
43 TExtraData::operator =(energyData);
44 _energy = energyData._energy;
45 }
46
47 TEnergyData::~TEnergyData()
48 {
49 _energy.clear();
50 }
51
52 map<int, float>::iterator TEnergyData::FindEnergy(int energyType)
53 {
54 return _energy.find(energyType);
55 }
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 (*i).second = value;
70 }
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 return &((*i).second);
93 }
94 else
95 {
96 return NULL;
97 }
98 }