GUIParameterTableWindow* GUIPerson::getParameterWindow(GUIMainWindow& app, GUISUMOAbstractView&) { GUIParameterTableWindow* ret = new GUIParameterTableWindow(app, *this, 16); // add items //ret->mkItem("type [NAME]", false, myType->getID()); ret->mkItem("stage", false, getCurrentStageDescription()); ret->mkItem("start edge [id]", false, getFromEdge()->getID()); ret->mkItem("dest edge [id]", false, getDestination().getID()); ret->mkItem("edge [id]", false, getEdge()->getID()); ret->mkItem("position [m]", true, new FunctionBinding<GUIPerson, SUMOReal>(this, &GUIPerson::getEdgePos)); ret->mkItem("speed [m/s]", true, new FunctionBinding<GUIPerson, SUMOReal>(this, &GUIPerson::getSpeed)); ret->mkItem("angle [degree]", true, new FunctionBinding<GUIPerson, SUMOReal>(this, &GUIPerson::getNaviDegree)); ret->mkItem("waiting time [s]", true, new FunctionBinding<GUIPerson, SUMOReal>(this, &GUIPerson::getWaitingSeconds)); ret->mkItem("parameters [key:val]", false, toString(getParameter().getMap())); ret->mkItem("", false, ""); ret->mkItem("Type Information:", false, ""); ret->mkItem("type [id]", false, myVType->getID()); ret->mkItem("length", false, myVType->getLength()); ret->mkItem("minGap", false, myVType->getMinGap()); ret->mkItem("maximum speed [m/s]", false, myVType->getMaxSpeed()); ret->mkItem("type parameters [key:val]", false, toString(myVType->getParameter().getMap())); // close building ret->closeBuilding(); return ret; }
void MSPerson::MSPersonStage_Driving::routeOutput(OutputDevice& os) const { os.openTag("ride").writeAttr(SUMO_ATTR_FROM, getFromEdge()->getID()).writeAttr(SUMO_ATTR_TO, getDestination().getID()); os.writeAttr(SUMO_ATTR_LINES, myLines).closeTag(); }
void MSContainer::MSContainerStage_Driving::routeOutput(OutputDevice& os) const { os.openTag("transport").writeAttr(SUMO_ATTR_FROM, getFromEdge()->getID()).writeAttr(SUMO_ATTR_TO, getDestination()->getID()); os.writeAttr(SUMO_ATTR_LINES, myLines).closeTag(); }