ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/FAS/src/energydata.cpp
Revision: 83
Committed: Fri Aug 16 15:30:40 2002 UTC (21 years, 10 months ago) by tim
File size: 2376 byte(s)
Log Message:
*** empty log message ***

File Contents

# Content
1 /**********************************************************************
2 * Copyright (C) 2002-2003 by Gezelter's Group
3 *This program is free software; you can redistribute it and/or modify
4 *it under the terms of the GNU General Public License as published by
5 *the Free Software Foundation version 2 of the License.
6 *
7 *This program is distributed in the hope that it will be useful,
8 *but WITHOUT ANY WARRANTY; without even the implied warranty of
9 *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 *GNU General Public License for more details.
11 *
12 ************************************************************************
13 *Author: Teng Lin Email: tlin@nd.edu
14 *Date: 08/13/2002 Version: 1.0
15 *
16 ************************************************************************
17 *Description:
18 *
19 ***********************************************************************/
20 #include "energydata.h"
21 /***********************************************************************
22 * Class TEnergyData
23 ***********************************************************************/
24 TEnergyData::TEnergyData()
25 {
26 _ident = "Energy";
27 _type = TExtraDataType::ENERGY;
28 }
29
30 TEnergyData::TEnergyData(const TEnergyData &energyData) : TExtraData(energyData)
31 {
32 _energy = energyData._energy;
33 }
34
35 TEnergyData &TEnergyData::operator =(const TEnergyData &energyData)
36 {
37 if (this == &energyData)
38 return *this;
39 TExtraData::operator =(energyData);
40 _energy = energyData._energy;
41 }
42
43 TEnergyData::~TEnergyData()
44 {
45 _energy.clear();
46 }
47
48 map<int, float>::iterator TEnergyData::FindEnergy(int energyType)
49 {
50 return _energy.find(energyType);
51 }
52
53 void TEnergyData::AddEnergy(int energyType, float value)
54 {
55 _energy.insert(map<int,float>::value_type(energyType, value));
56 }
57
58 void TEnergyData::ReplaceEnergy(int energyType, float value)
59 {
60 map<int, float>::iterator i;
61 i = FindEnergy(energyType);
62
63 if (i != _energy.end())
64 {
65 (*i).second = value;
66 }
67 }
68
69 void TEnergyData::DeleteEnergy(int energyType)
70 {
71 map<int, float>::iterator i;
72 i = FindEnergy(energyType);
73
74 if (i != _energy.end())
75 {
76 _energy.erase(i);
77 }
78 }
79
80 //return the energy with specified type, return NULL if not find
81 float *TEnergyData::GetEnergy(int energyType)
82 {
83 map<int, float>::iterator i;
84 i = FindEnergy(energyType);
85
86 if (i != _energy.end())
87 {
88 return &((*i).second);
89 }
90 else
91 {
92 return NULL;
93 }
94 }
95