blob: ed2ab4b1e0c45518693b6e737529e7560dcf423b [file] [log] [blame]
mparkera60f1fe2010-08-04 18:47:49 +00001import metaabm;
2import metaabm::act;
3import metaabm::function;
4import emf;
5
6extension metaabm::tmpl::names;
7
8cached String proto(SAgent agent) :
9 agent.id() + "Proto";
10
11cached pkga() : "org.ascape.";
12
13cached pkgm() : pkga() + "model.";
14
15cached pkgu() : pkga() + "util.";
16
17cached pkgs() : pkgm() + "space.";
18
19cached String spaceType(SNDimensional proj) :
20 "UnknownCoordinate";
21
22cached String spaceType(SContinuousSpace proj) :
23 "Continuous";
24
25cached String spaceType(SGrid proj) :
26 "Discrete";
27
28cached String spaceClass(SNeighborhoodType type) :
29 type.toString() == "VON_NEUMANN" ? "VonNeumann" : type.toString().toLowerCase().toFirstUpper();
30
31cached String spaceClass(SProjection proj) :
32 "UnkownSpaceClass";
33
34cached String spaceClass(SGrid proj) :
35 pkgs() + "Array2D" + proj.neighborhood.spaceClass();
36
37cached String spaceClass(SContinuousSpace proj) :
38 pkgs() + "Continuous2D";
39
40cached String spaceClass(SNetwork proj) :
41 pkgs() + "Graph";
42
43cached Boolean periodic(SProjection proj) :
44 false;
45
46cached Boolean periodic(SNDimensional proj) :
47 proj.borderRule == SBorderRule::Periodic;
48
49cached Integer dimension(SProjection proj) :
50 0;
51
52cached Integer dimension(SNDimensional proj) :
53 proj.dimensionality;
54
55cached String defaultView(SProjection proj) :
56 null;
57
58cached String defaultView(SGrid proj) :
59 (proj.dimension() == 1) ?
60 "org.ascape.view.vis.Scrolling1DView" :
61 ((proj.dimension() == 2) ?
62 "org.ascape.view.vis.Overhead2DView" :
63 null)
64;
65
66cached String defaultView(SContinuousSpace proj) :
67 (proj.dimension() == 2) ?
68 "org.ascape.view.vis.Overhead2DContinuousView" :
69 null;
70
71cached String coordinateType(SProjection proj) :
72 "UnknownCoordinate";
73
74cached String coordinateType(SNDimensional proj) :
75 "org.ascape.model.space.Coordinate" + proj.dimension() + "D" + spaceType(proj);
76
77cached String scape(SAgent agent) :
78 agent.id() + "Scape";
79
80cached String fieldName(SAgent agent) :
81 agent.scape();
mparker7fff34b2009-12-03 04:36:08 +000082