blob: 62e9dd906a83cc9ef056abb7135392f47e0bf3ce [file] [log] [blame]
«IMPORT emf»
«IMPORT metaabm»
«IMPORT metaabm::act»
«IMPORT metaabm::function»
«IMPORT ScapeAspect»
«EXTENSION metaabm::tmpl::types»
«EXTENSION metaabm::tmpl::names»
«EXTENSION metaabm::tmpl::infer»
«EXTENSION metaabm::tmpl::util»
«EXTENSION metaabm::tmpl::projections»
«EXTENSION metaabm::ascape::tmpl::namesascape»
«EXTENSION metaabm::ascape::tmpl::inferascape»
«AROUND metaabm::tmpl::Java::ClassFile FOR IID
«IF SStyle.isInstance(this
«FILE javaFileLoc().replaceFirst(".java", "3DEditPart.java")-»
«EXPAND metaabm::tmpl::Java::ClassText»
«ENDFILE
«ENDIF»
«ENDAROUND»
«AROUND metaabm::tmpl::Java::ExtendType FOR ASink
«IF function.color()-»org.eclipse.swt.graphics.Color
«ELSEIF function.shape()-»org.eclipse.draw3d.shapes.Shape
«ELSEIF function.id().startsWith("graphic")-»org.eclipse.draw3d.shapes.Shape
«ELSEIF function.id() == "randomState"-»«inputs.get(0).value.typeName()»
«ELSE-»«typeName()»«ENDIF
«ENDAROUND»
«AROUND metaabm::tmpl::Java::ClassName FOR IID-»«typeName()»3DEditPart«ENDAROUND»
«AROUND metaabm::tmpl::Java::ClassInheiritance FOR SStyleextends org.eclipse.amp.agf3dIF agent.isHost()»Tile«ELSE»Cube«ENDIF»Edit3DPart«ENDAROUND»
«AROUND metaabm::tmpl::Java::Body FOR SStyle
«targetDef.proceed()»
protected void updateGraphics() {
org.eclipse.swt.graphics.Color color = null;
org.eclipse.draw3d.shapes.SolidCube shape = null;
«REM» «IF !agent.isHost()»
for (int i = 1; i <= 4; i++) {
setShowMarker(i, false);
}
«ENDIF» «ENDREM»
«FOREACH ((AGroup) rootActivity).roots AS act»«agent.typeName()» «act.id()» = agent.typeName()») getModel();«ENDFOREACH»
«EXPAND metaabm::tmpl::Java::ActionBody
}
«ENDAROUND»
«AROUND metaabm::tmpl::Java::InnerBlock (List[metaabm::act::AAct] path, Boolean inner) FOR AEvaluate
«IF function.id().startsWith("shapeRectangle")-»
shape = getCube();
«ELSEIF function.id().startsWith("shapeOval")-»
shape = getCube();
«ELSEIF function.id().startsWith("shapeMarker")-»
«LET function.id() == "shapeMarker" ? "1" : function.id().replaceFirst("shapeMarker", "") AS index»
setShowMarkerindex», true);
shape = getMarkerindex»);
«ENDLET»
«ELSEIF function.id().startsWith("color") || function.id().startsWith("graphic"
«IF function.id().startsWith("color")-»
color = «EXPAND metaabm::tmpl::Java::FunctionInnerBlock(path, inner)»;
«ELSEIF function.id().startsWith("graphicFill")-»
shape.setColor(color, 255);
«ELSEIF function.id().startsWith("graphicOutline")-»
//outline: shape.setColor(color, 255);
«ENDIF»
«ELSE
«targetDef.proceed()»
«ENDIF
«ENDAROUND»
«AROUND metaabm::tmpl::Java::FunctionInnerBlock (List[metaabm::act::AAct] path, Boolean inner) FOR ASink
«IF function.id() == "randomUnit"
getRandom().nextDouble()
«ELSEIF function.id() == "randomIs"
getRandom().nextBoolean()
«ELSEIF function.id() == "uniformDistribution"
randomInRangeinputs.expression(path, inner).toString(", ")»);
«ELSEIF function.id() == "timeNow"
«path.last().accessPath(this, innergetScape().getPeriod()
«ELSEIF function.id() == "available"
isAvailable()
«ELSEIF function.id() == "withinBoundaries"
«expressionSink(path, function, inner
«ELSEIF function.id() == "colorRGB"
org.ascape.util.vis.ColorFeatureConcrete.create((int) inputs.expression(path, inner).toString(" * 255), (int) (" * 255))
«ELSEIF function.id().startsWith("color")-»
org.eclipse.draw2d.ColorConstantsfunction.id().replaceFirst("color","").toFirstLower()»
«ELSE
«targetDef.proceed()»
«ENDIF
«ENDAROUND»