Log In | Get Help   
Home My Page Projects Code Snippets Project Openings Mareframe
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files
[mareframe] Annotation of /trunk/gadget/livesonareas.cc
[mareframe] / trunk / gadget / livesonareas.cc Repository:
ViewVC logotype

Annotation of /trunk/gadget/livesonareas.cc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (view) (download)

1 : agomez 1 #include "livesonareas.h"
2 :     #include "errorhandler.h"
3 :     #include "gadget.h"
4 :     #include "global.h"
5 :    
6 :     LivesOnAreas::LivesOnAreas(const IntVector& Areas) : areas(Areas) {
7 :     int i, j, maxim = 0;
8 :     if (areas.Size() == 0)
9 :     handle.logMessage(LOGFAIL, "Error in input files - found no areas");
10 :    
11 :     for (i = 0; i < areas.Size(); i++)
12 :     if (areas[i] > maxim)
13 :     maxim = areas[i];
14 :    
15 :     for (i = 0; i < areas.Size(); i++)
16 :     for (j = 0; j < areas.Size(); j++)
17 :     if ((areas[i] == areas[j]) && (i != j))
18 :     handle.logMessage(LOGFAIL, "Error in input files - repeated area", i);
19 :    
20 :     areaConvert.Reset();
21 :     areaConvert.resize(maxim + 1, -1);
22 :     for (i = 0; i < areas.Size(); i++)
23 :     if ((areas[i] >= 0) && (areas[i] <= maxim))
24 :     areaConvert[areas[i]] = i;
25 :     }
26 :    
27 :     int LivesOnAreas::isInArea(int area) const {
28 :     if (0 <= area && area < areaConvert.Size())
29 :     return (areaConvert[area] >= 0);
30 :     return 0;
31 :     }
32 :    
33 :     int LivesOnAreas::areaNum(int area) const {
34 :     if (0 <= area && area < areaConvert.Size())
35 :     return areaConvert[area];
36 :     return -1;
37 :     }
38 :    
39 :     void LivesOnAreas::storeAreas(const IntVector& Areas) {
40 :     int i, j, maxim = 0;
41 :     if (Areas.Size() == 0)
42 :     handle.logMessage(LOGFAIL, "Error in input files - found no areas");
43 :    
44 :     areas.Reset();
45 :     areas.resize(Areas.Size(), -1);
46 :     for (i = 0; i < areas.Size(); i++) {
47 :     areas[i] = Areas[i];
48 :     if (areas[i] > maxim)
49 :     maxim = areas[i];
50 :     }
51 :    
52 :     for (i = 0; i < areas.Size(); i++)
53 :     for (j = 0; j < areas.Size(); j++)
54 :     if ((areas[i] == areas[j]) && (i != j))
55 :     handle.logMessage(LOGFAIL, "Error in input files - repeated area", i);
56 :    
57 :     areaConvert.Reset();
58 :     areaConvert.resize(maxim + 1, -1);
59 :     for (i = 0; i < areas.Size(); i++)
60 :     if ((areas[i] >= 0) && (areas[i] <= maxim))
61 :     areaConvert[areas[i]] = i;
62 :     }

root@forge.cesga.es
ViewVC Help
Powered by ViewVC 1.0.0  

Powered By FusionForge