Skip to content

Commit

Permalink
adapting type parameter window #36
Browse files Browse the repository at this point in the history
  • Loading branch information
behrisch committed Jun 5, 2023
1 parent e281271 commit af3f8cf
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 49 deletions.
10 changes: 3 additions & 7 deletions src/guisim/GUIContainer.cpp
Expand Up @@ -180,18 +180,14 @@ GUIContainer::getParameterWindow(GUIMainWindow& app,


GUIParameterTableWindow*
GUIContainer::getTypeParameterWindow(GUIMainWindow& app,
GUISUMOAbstractView&) {
GUIParameterTableWindow* ret = new GUIParameterTableWindow(app, *this);
// add items
ret->mkItem("Type Information:", false, "");
ret->mkItem("type [id]", false, myVType->getID());
GUIContainer::getTypeParameterWindow(GUIMainWindow& app, GUISUMOAbstractView&) {
GUIParameterTableWindow* ret = new GUIParameterTableWindow(app, *this, "vType:" + myVType->getID());
ret->mkItem("length", false, myVType->getLength());
ret->mkItem("width", false, myVType->getWidth());
ret->mkItem("height", false, myVType->getHeight());
ret->mkItem("minGap", false, myVType->getMinGap());
ret->mkItem("mass [kg]", false, myVType->getMass());
ret->mkItem("maximum speed [m/s]", false, myVType->getMaxSpeed());
// close building
ret->closeBuilding(&(myVType->getParameter()));
return ret;
}
Expand Down
10 changes: 3 additions & 7 deletions src/guisim/GUIPerson.cpp
Expand Up @@ -247,19 +247,15 @@ GUIPerson::getParameterWindow(GUIMainWindow& app,


GUIParameterTableWindow*
GUIPerson::getTypeParameterWindow(GUIMainWindow& app,
GUISUMOAbstractView&) {
GUIParameterTableWindow* ret = new GUIParameterTableWindow(app, *this);
// add items
ret->mkItem("Type Information:", false, "");
ret->mkItem("type [id]", false, myVType->getID());
GUIPerson::getTypeParameterWindow(GUIMainWindow& app, GUISUMOAbstractView&) {
GUIParameterTableWindow* ret = new GUIParameterTableWindow(app, *this, "vType:" + myVType->getID());
ret->mkItem("length", false, myVType->getLength());
ret->mkItem("width", false, myVType->getWidth());
ret->mkItem("height", false, myVType->getHeight());
ret->mkItem("minGap", false, myVType->getMinGap());
ret->mkItem("mass [kg]", false, myVType->getMass());
ret->mkItem("desired max speed [m/s]", false, myVType->getDesiredMaxSpeed());
ret->mkItem("maximum speed [m/s]", false, myVType->getMaxSpeed());
// close building
ret->closeBuilding(&(myVType->getParameter()));
return ret;
}
Expand Down
33 changes: 14 additions & 19 deletions src/guisim/GUIVehicle.cpp
Expand Up @@ -205,20 +205,17 @@ GUIVehicle::getParameterWindow(GUIMainWindow& app,


GUIParameterTableWindow*
GUIVehicle::getTypeParameterWindow(GUIMainWindow& app,
GUISUMOAbstractView&) {
GUIParameterTableWindow* ret = new GUIParameterTableWindow(app, *this);
// add items
ret->mkItem("Type Information:", false, "");
ret->mkItem("type [id]", false, myType->getID());
ret->mkItem("length", false, myType->getLength());
ret->mkItem("width", false, myType->getWidth());
ret->mkItem("height", false, myType->getHeight());
ret->mkItem("minGap", false, myType->getMinGap());
GUIVehicle::getTypeParameterWindow(GUIMainWindow& app, GUISUMOAbstractView&) {
GUIParameterTableWindow* ret = new GUIParameterTableWindow(app, *this, "vType:" + myType->getID());
ret->mkItem("length [m]", false, myType->getLength());
ret->mkItem("width [m]", false, myType->getWidth());
ret->mkItem("height [m]", false, myType->getHeight());
ret->mkItem("minGap [m]", false, myType->getMinGap());
ret->mkItem("vehicle class", false, SumoVehicleClassStrings.getString(myType->getVehicleClass()));
ret->mkItem("emission class", false, PollutantsInterface::getName(myType->getEmissionClass()));
ret->mkItem("mass [kg]", false, myType->getMass());
ret->mkItem("carFollowModel", false, SUMOXMLDefinitions::CarFollowModels.getString((SumoXMLTag)getCarFollowModel().getModelID()));
ret->mkItem("LaneChangeModel", false, SUMOXMLDefinitions::LaneChangeModels.getString(getLaneChangeModel().getModelID()));
ret->mkItem("laneChangeModel", false, SUMOXMLDefinitions::LaneChangeModels.getString(getLaneChangeModel().getModelID()));
ret->mkItem("guiShape", false, getVehicleShapeName(myType->getGuiShape()));
ret->mkItem("maximum speed [m/s]", false, getVehicleType().getMaxSpeed());
ret->mkItem("desired maximum speed [m/s]", false, getVehicleType().getDesiredMaxSpeed());
Expand All @@ -227,21 +224,21 @@ GUIVehicle::getTypeParameterWindow(GUIMainWindow& app,
ret->mkItem("emergency deceleration [m/s^2]", false, getCarFollowModel().getEmergencyDecel());
ret->mkItem("apparent deceleration [m/s^2]", false, getCarFollowModel().getApparentDecel());
ret->mkItem("imperfection (sigma)", false, getCarFollowModel().getImperfection());
ret->mkItem("desired headway (tau)", false, getCarFollowModel().getHeadwayTime());
ret->mkItem("desired headway (tau) [s]", false, getCarFollowModel().getHeadwayTime());
ret->mkItem("speedFactor", false, myType->getParameter().speedFactor.toStr(gPrecision));
if (myType->getParameter().wasSet(VTYPEPARS_ACTIONSTEPLENGTH_SET)) {
ret->mkItem("action step length [s]", false, myType->getActionStepLengthSecs());
}
ret->mkItem("person capacity", false, myType->getPersonCapacity());
ret->mkItem("boarding time", false, STEPS2TIME(myType->getLoadingDuration(true)));
ret->mkItem("boarding time [s]", false, STEPS2TIME(myType->getLoadingDuration(true)));
ret->mkItem("container capacity", false, myType->getContainerCapacity());
ret->mkItem("loading time", false, STEPS2TIME(myType->getLoadingDuration(false)));
ret->mkItem("loading time [s]", false, STEPS2TIME(myType->getLoadingDuration(false)));
if (MSGlobals::gLateralResolution > 0) {
ret->mkItem("minGapLat", false, myType->getMinGapLat());
ret->mkItem("maxSpeedLat", false, myType->getMaxSpeedLat());
ret->mkItem("minGapLat [m]", false, myType->getMinGapLat());
ret->mkItem("maxSpeedLat [m/s]", false, myType->getMaxSpeedLat());
ret->mkItem("latAlignment", true, new FunctionBindingString<GUIVehicle>(this, &GUIVehicle::getDynamicAlignment));
} else if (MSGlobals::gLaneChangeDuration > 0) {
ret->mkItem("maxSpeedLat", false, myType->getMaxSpeedLat());
ret->mkItem("maxSpeedLat [m/s]", false, myType->getMaxSpeedLat());
}
for (auto item : myType->getParameter().lcParameter) {
ret->mkItem(toString(item.first).c_str(), false, toString(item.second));
Expand All @@ -252,8 +249,6 @@ GUIVehicle::getTypeParameterWindow(GUIMainWindow& app,
if (MSGlobals::gModelParkingManoeuver) {
ret->mkItem("manoeuver Angle vs Times", false, myType->getParameter().getManoeuverAngleTimesS());
}

// close building
ret->closeBuilding(&(myType->getParameter()));
return ret;
}
Expand Down
22 changes: 9 additions & 13 deletions src/mesogui/GUIMEVehicle.cpp
Expand Up @@ -119,24 +119,20 @@ GUIMEVehicle::getParameterWindow(GUIMainWindow& app,


GUIParameterTableWindow*
GUIMEVehicle::getTypeParameterWindow(GUIMainWindow& app,
GUISUMOAbstractView&) {
GUIParameterTableWindow* ret = new GUIParameterTableWindow(app, *this);
// add items
ret->mkItem("Type Information:", false, "");
ret->mkItem("type [id]", false, myType->getID());
ret->mkItem("length", false, myType->getLength());
ret->mkItem("minGap", false, myType->getMinGap());
GUIMEVehicle::getTypeParameterWindow(GUIMainWindow& app, GUISUMOAbstractView&) {
GUIParameterTableWindow* ret = new GUIParameterTableWindow(app, *this, "vType:" + myType->getID());
ret->mkItem("length [m]", false, myType->getLength());
ret->mkItem("width [m]", false, myType->getWidth());
ret->mkItem("height [m]", false, myType->getHeight());
ret->mkItem("minGap [m]", false, myType->getMinGap());
ret->mkItem("vehicle class", false, SumoVehicleClassStrings.getString(myType->getVehicleClass()));
ret->mkItem("emission class", false, PollutantsInterface::getName(myType->getEmissionClass()));
ret->mkItem("mass [kg]", false, myType->getMass());
ret->mkItem("guiShape", false, getVehicleShapeName(myType->getGuiShape()));
ret->mkItem("maximum speed [m/s]", false, getMaxSpeed());
//ret->mkItem("maximum acceleration [m/s^2]", false, getCarFollowModel().getMaxAccel());
//ret->mkItem("maximum deceleration [m/s^2]", false, getCarFollowModel().getMaxDecel());
//ret->mkItem("imperfection (sigma)", false, getCarFollowModel().getImperfection());
//ret->mkItem("desired headway (tau)", false, getCarFollowModel().getHeadwayTime());
ret->mkItem("speedFactor", false, myType->getParameter().speedFactor.toStr(gPrecision));
ret->mkItem("person capacity", false, myType->getPersonCapacity());
ret->mkItem("container capacity", false, myType->getContainerCapacity());
// close building
ret->closeBuilding(&(myType->getParameter()));
return ret;
}
Expand Down
4 changes: 2 additions & 2 deletions src/utils/gui/div/GUIParameterTableWindow.cpp
Expand Up @@ -60,8 +60,8 @@ std::vector<GUIParameterTableWindow*> GUIParameterTableWindow::myContainer;
// ===========================================================================
// method definitions
// ===========================================================================
GUIParameterTableWindow::GUIParameterTableWindow(GUIMainWindow& app, GUIGlObject& o) :
FXMainWindow(app.getApp(), (o.getFullName() + " Parameter").c_str(), nullptr, nullptr, DECOR_ALL, 20, 40, 200, 500),
GUIParameterTableWindow::GUIParameterTableWindow(GUIMainWindow& app, GUIGlObject& o, const std::string& title) :
FXMainWindow(app.getApp(), ((title == "" ? o.getFullName() : title) + " Parameter").c_str(), nullptr, nullptr, DECOR_ALL, 20, 40, 200, 500),
GUIPersistentWindowPos(this, "DIALOG_PARAMETERS", false, 20, 40),
myObject(&o),
myApplication(&app),
Expand Down
2 changes: 1 addition & 1 deletion src/utils/gui/div/GUIParameterTableWindow.h
Expand Up @@ -66,7 +66,7 @@ class GUIParameterTableWindow : public FXMainWindow, public GUIPersistentWindowP
* @param[in] app The application this window belongs to
* @param[in] o The gl-object this table describes
*/
GUIParameterTableWindow(GUIMainWindow& app, GUIGlObject& o);
GUIParameterTableWindow(GUIMainWindow& app, GUIGlObject& o, const std::string& title="");


/// @brief Destructor
Expand Down

0 comments on commit af3f8cf

Please sign in to comment.