| author | deba | 
| Sat, 14 May 2005 21:13:00 +0000 | |
| changeset 1424 | c3d754f5e631 | 
| permissions | -rw-r--r-- | 
| ladanyi@1412 | 1  | 
#include <mapstorage.h>  | 
| ladanyi@1412 | 2  | 
|
| ladanyi@1412 | 3  | 
MapStorage::MapStorage(Graph & graph):g(graph)  | 
| ladanyi@1412 | 4  | 
{
 | 
| ladanyi@1412 | 5  | 
for(int i=0;i<PROPERTY_NUM;i++)  | 
| ladanyi@1412 | 6  | 
  {
 | 
| ladanyi@1412 | 7  | 
Graph::EdgeMap<double> emd(g);  | 
| ladanyi@1412 | 8  | 
default_edgemaps.push_back(emd);  | 
| ladanyi@1412 | 9  | 
Graph::NodeMap<double> nmd(g);  | 
| ladanyi@1412 | 10  | 
default_nodemaps.push_back(nmd);  | 
| ladanyi@1412 | 11  | 
}  | 
| ladanyi@1412 | 12  | 
|
| ladanyi@1412 | 13  | 
//std::string defaultstr="Default ";  | 
| ladanyi@1412 | 14  | 
for(int i=0;i<PROPERTY_NUM;i++)  | 
| ladanyi@1412 | 15  | 
  {
 | 
| ladanyi@1412 | 16  | 
for (EdgeIt j(g); j!=INVALID; ++j)  | 
| ladanyi@1412 | 17  | 
      {
 | 
| ladanyi@1412 | 18  | 
(default_edgemaps[i])[j]=property_defaults[i];  | 
| ladanyi@1412 | 19  | 
}  | 
| ladanyi@1412 | 20  | 
addEdgeMap(property_strings[i],&(default_edgemaps[i]));  | 
| ladanyi@1412 | 21  | 
}  | 
| ladanyi@1412 | 22  | 
|
| ladanyi@1412 | 23  | 
};  | 
| ladanyi@1412 | 24  | 
|
| ladanyi@1412 | 25  | 
int MapStorage::addNodeMap(const std::string & name, Graph::NodeMap<double> *nodemap)  | 
| ladanyi@1412 | 26  | 
{
 | 
| ladanyi@1412 | 27  | 
nodemap_storage[name]=nodemap;  | 
| ladanyi@1412 | 28  | 
return 0;  | 
| ladanyi@1412 | 29  | 
}  | 
| ladanyi@1412 | 30  | 
int MapStorage::addEdgeMap(const std::string & name, Graph::EdgeMap<double> *edgemap)  | 
| ladanyi@1412 | 31  | 
{
 | 
| ladanyi@1412 | 32  | 
edgemap_storage[name]=edgemap;  | 
| ladanyi@1412 | 33  | 
return 0;  | 
| ladanyi@1412 | 34  | 
}  | 
| ladanyi@1412 | 35  | 
|
| ladanyi@1412 | 36  | 
double MapStorage::maxOfNodeMap(const std::string & name)  | 
| ladanyi@1412 | 37  | 
{
 | 
| ladanyi@1412 | 38  | 
double max=0;  | 
| ladanyi@1412 | 39  | 
for (NodeIt j(g); j!=INVALID; ++j)  | 
| ladanyi@1412 | 40  | 
  {
 | 
| ladanyi@1412 | 41  | 
if( (*nodemap_storage[name])[j]>max )  | 
| ladanyi@1412 | 42  | 
    {
 | 
| ladanyi@1412 | 43  | 
max=(*nodemap_storage[name])[j];  | 
| ladanyi@1412 | 44  | 
}  | 
| ladanyi@1412 | 45  | 
}  | 
| ladanyi@1412 | 46  | 
return max;  | 
| ladanyi@1412 | 47  | 
}  | 
| ladanyi@1412 | 48  | 
|
| ladanyi@1412 | 49  | 
double MapStorage::maxOfEdgeMap(const std::string & name)  | 
| ladanyi@1412 | 50  | 
{
 | 
| ladanyi@1412 | 51  | 
double max=0;  | 
| ladanyi@1412 | 52  | 
for (EdgeIt j(g); j!=INVALID; ++j)  | 
| ladanyi@1412 | 53  | 
  {
 | 
| ladanyi@1412 | 54  | 
if( (*edgemap_storage[name])[j]>max )  | 
| ladanyi@1412 | 55  | 
    {
 | 
| ladanyi@1412 | 56  | 
max=(*edgemap_storage[name])[j];  | 
| ladanyi@1412 | 57  | 
}  | 
| ladanyi@1412 | 58  | 
}  | 
| ladanyi@1412 | 59  | 
return max;  | 
| ladanyi@1412 | 60  | 
}  | 
| ladanyi@1412 | 61  | 
|
| ladanyi@1412 | 62  | 
double MapStorage::minOfNodeMap(const std::string & name)  | 
| ladanyi@1412 | 63  | 
{
 | 
| ladanyi@1412 | 64  | 
NodeIt j(g);  | 
| ladanyi@1412 | 65  | 
double min=(*nodemap_storage[name])[j];  | 
| ladanyi@1412 | 66  | 
for (; j!=INVALID; ++j)  | 
| ladanyi@1412 | 67  | 
  {
 | 
| ladanyi@1412 | 68  | 
if( (*nodemap_storage[name])[j]<min )  | 
| ladanyi@1412 | 69  | 
    {
 | 
| ladanyi@1412 | 70  | 
min=(*nodemap_storage[name])[j];  | 
| ladanyi@1412 | 71  | 
}  | 
| ladanyi@1412 | 72  | 
}  | 
| ladanyi@1412 | 73  | 
return min;  | 
| ladanyi@1412 | 74  | 
}  | 
| ladanyi@1412 | 75  | 
|
| ladanyi@1412 | 76  | 
double MapStorage::minOfEdgeMap(const std::string & name)  | 
| ladanyi@1412 | 77  | 
{
 | 
| ladanyi@1412 | 78  | 
EdgeIt j(g);  | 
| ladanyi@1412 | 79  | 
double min=(*edgemap_storage[name])[j];  | 
| ladanyi@1412 | 80  | 
for (EdgeIt j(g); j!=INVALID; ++j)  | 
| ladanyi@1412 | 81  | 
  {
 | 
| ladanyi@1412 | 82  | 
if( (*edgemap_storage[name])[j]<min )  | 
| ladanyi@1412 | 83  | 
    {
 | 
| ladanyi@1412 | 84  | 
min=(*edgemap_storage[name])[j];  | 
| ladanyi@1412 | 85  | 
}  | 
| ladanyi@1412 | 86  | 
}  | 
| ladanyi@1412 | 87  | 
return min;  | 
| ladanyi@1412 | 88  | 
}  | 
| ladanyi@1412 | 89  |