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

# User Rev Content
1 tim 83 /**********************************************************************
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