| import metaabm; |
| import metaabm::act; |
| import metaabm::function; |
| import emf; |
| |
| extension metaabm::tmpl::names; |
| |
| cached String proto(SAgent agent) : |
| agent.id() + "Proto"; |
| |
| cached pkga() : "org.ascape."; |
| |
| cached pkgm() : pkga() + "model."; |
| |
| cached pkgu() : pkga() + "util."; |
| |
| cached pkgs() : pkgm() + "space."; |
| |
| cached String spaceType(SNDimensional proj) : |
| "UnknownCoordinate"; |
| |
| cached String spaceType(SContinuousSpace proj) : |
| "Continuous"; |
| |
| cached String spaceType(SGrid proj) : |
| "Discrete"; |
| |
| cached String spaceClass(SNeighborhoodType type) : |
| type.toString() == "VON_NEUMANN" ? "VonNeumann" : type.toString().toLowerCase().toFirstUpper(); |
| |
| cached String spaceClass(SProjection proj) : |
| "UnkownSpaceClass"; |
| |
| cached String spaceClass(SGrid proj) : |
| pkgs() + "Array2D" + proj.neighborhood.spaceClass(); |
| |
| cached String spaceClass(SContinuousSpace proj) : |
| pkgs() + "Continuous2D"; |
| |
| cached String spaceClass(SNetwork proj) : |
| pkgs() + "Graph"; |
| |
| cached Boolean periodic(SProjection proj) : |
| false; |
| |
| cached Boolean periodic(SNDimensional proj) : |
| proj.borderRule == SBorderRule::Periodic; |
| |
| cached Integer dimension(SProjection proj) : |
| 0; |
| |
| cached Integer dimension(SNDimensional proj) : |
| proj.dimensionality; |
| |
| cached String defaultView(SProjection proj) : |
| null; |
| |
| cached String defaultView(SGrid proj) : |
| (proj.dimension() == 1) ? |
| "org.ascape.view.vis.Scrolling1DView" : |
| ((proj.dimension() == 2) ? |
| "org.ascape.view.vis.Overhead2DView" : |
| null) |
| ; |
| |
| cached String defaultView(SContinuousSpace proj) : |
| (proj.dimension() == 2) ? |
| "org.ascape.view.vis.Overhead2DContinuousView" : |
| null; |
| |
| cached String coordinateType(SProjection proj) : |
| "UnknownCoordinate"; |
| |
| cached String coordinateType(SNDimensional proj) : |
| "org.ascape.model.space.Coordinate" + proj.dimension() + "D" + spaceType(proj); |
| |
| cached String scape(SAgent agent) : |
| agent.id() + "Scape"; |
| |
| cached String fieldName(SAgent agent) : |
| agent.scape(); |
| |