![]() |
SUMO - Simulation of Urban MObility
|
The car-following model and parameter. More...
#include <MSVehicleType.h>
Public Member Functions | |
void | check () |
Checks whether vehicle type parameters may be problematic (Currently, only the value for the action step length is compared with the value for the desired headway time.) More... | |
const SUMOVTypeParameter & | getParameter () const |
bool | isVehicleSpecific () const |
Returns whether this type belongs to a single vehicle only (was modified) More... | |
MSVehicleType (const SUMOVTypeParameter ¶meter) | |
Constructor. More... | |
bool | wasSet (int what) const |
Returns whether the given parameter was set. More... | |
virtual | ~MSVehicleType () |
Destructor. More... | |
Atomar getter for simulation | |
const std::string & | getID () const |
Returns the name of the vehicle type. More... | |
int | getNumericalID () const |
Returns the running index of the vehicle type. More... | |
double | getLength () const |
Get vehicle's length [m]. More... | |
double | getLengthWithGap () const |
Get vehicle's length including the minimum gap [m]. More... | |
double | getMinGap () const |
Get the free space in front of vehicles of this class. More... | |
double | getMinGapLat () const |
Get the minimum lateral gap that vehicles of this type maintain. More... | |
const MSCFModel & | getCarFollowModel () const |
Returns the vehicle type's car following model definition (const version) More... | |
MSCFModel & | getCarFollowModel () |
Returns the vehicle type's car following model definition (non-const version) More... | |
LaneChangeModel | getLaneChangeModel () const |
double | getMaxSpeed () const |
Get vehicle's maximum speed [m/s]. More... | |
double | computeChosenSpeedDeviation (std::mt19937 *rng, const double minDev=-1.) const |
Computes and returns the speed deviation. More... | |
double | getDefaultProbability () const |
Get the default probability of this vehicle type. More... | |
SUMOVehicleClass | getVehicleClass () const |
Get this vehicle type's vehicle class. More... | |
SUMOEmissionClass | getEmissionClass () const |
Get this vehicle type's emission class. More... | |
const RGBColor & | getColor () const |
Returns this type's color. More... | |
const Distribution_Parameterized & | getSpeedFactor () const |
Returns this type's speed factor. More... | |
SUMOTime | getActionStepLength () const |
Returns this type's default action step length. More... | |
double | getActionStepLengthSecs () const |
Returns this type's default action step length in seconds. More... | |
double | getImpatience () const |
Returns this type's impatience. More... | |
Atomar getter for visualization | |
double | getWidth () const |
Get the width which vehicles of this class shall have when being drawn. More... | |
double | getHeight () const |
Get the height which vehicles of this class shall have when being drawn. More... | |
SUMOVehicleShape | getGuiShape () const |
Get this vehicle type's shape. More... | |
std::string | getOSGFile () const |
Get this vehicle type's 3D model file name. More... | |
std::string | getImgFile () const |
Get this vehicle type's raster model file name. More... | |
int | getPersonCapacity () const |
Get this vehicle type's person capacity. More... | |
int | getContainerCapacity () const |
Get this vehicle type's container capacity. More... | |
SUMOTime | getBoardingDuration () const |
Get this vehicle type's boarding duration. More... | |
SUMOTime | getLoadingDuration () const |
Get this vehicle type's loading duration. More... | |
double | getMaxSpeedLat () const |
Get vehicle's maximum lateral speed [m/s]. More... | |
LateralAlignment | getPreferredLateralAlignment () const |
Get vehicle's preferred lateral alignment. More... | |
Setter methods | |
void | setLength (const double &length) |
Set a new value for this type's length. More... | |
void | setHeight (const double &height) |
Set a new value for this type's height. More... | |
void | setMinGap (const double &minGap) |
Set a new value for this type's minimum gap. More... | |
void | setMinGapLat (const double &minGapLat) |
Set a new value for this type's minimum lataral gap. More... | |
void | setMaxSpeed (const double &maxSpeed) |
Set a new value for this type's maximum speed. More... | |
void | setMaxSpeedLat (const double &maxSpeedLat) |
Set a new value for this type's maximum lateral speed. More... | |
void | setVClass (SUMOVehicleClass vclass) |
Set a new value for this type's vehicle class. More... | |
void | setDefaultProbability (const double &prob) |
Set a new value for this type's default probability. More... | |
void | setSpeedFactor (const double &factor) |
Set a new value for this type's speed factor. More... | |
void | setSpeedDeviation (const double &dev) |
Set a new value for this type's speed deviation. More... | |
void | setActionStepLength (const SUMOTime actionStepLength, bool resetActionOffset) |
Set a new value for this type's action step length. More... | |
void | setEmissionClass (SUMOEmissionClass eclass) |
Set a new value for this type's emission class. More... | |
void | setColor (const RGBColor &color) |
Set a new value for this type's color. More... | |
void | setWidth (const double &width) |
Set a new value for this type's width. More... | |
void | setShape (SUMOVehicleShape shape) |
Set a new value for this type's shape. More... | |
void | setImpatience (const double impatience) |
Set a new value for this type's impatience. More... | |
void | setPreferredLateralAlignment (LateralAlignment latAlignment) |
Set vehicle's preferred lateral alignment. More... | |
Private Member Functions | |
MSVehicleType (const MSVehicleType &) | |
Invalidated copy constructor. More... | |
MSVehicleType & | operator= (const MSVehicleType &) |
Invalidated assignment operator. More... | |
Private Attributes | |
double | myCachedActionStepLengthSecs |
the vtypes actionsStepLength in seconds (cached because needed very often) More... | |
MSCFModel * | myCarFollowModel |
instance of the car following model. More... | |
const int | myIndex |
the running index More... | |
const MSVehicleType * | myOriginalType |
The original type. More... | |
SUMOVTypeParameter | myParameter |
the parameter container More... | |
bool | myWarnedActionStepLengthTauOnce |
Indicator whether the user was already warned once about an action step length larger than the desired time headway. More... | |
Static Private Attributes | |
static int | myNextIndex = 0 |
next value for the running index More... | |
methods for building vehicle types | |
MSVehicleType * | buildSingularType (const std::string &id) const |
Duplicates the microsim vehicle type giving the newly created type the given id, marking it as vehicle specific. More... | |
MSVehicleType * | duplicateType (const std::string &id, bool persistent) const |
Duplicates the microsim vehicle type giving the newly created type the given id. More... | |
static MSVehicleType * | build (SUMOVTypeParameter &from) |
Builds the microsim vehicle type described by the given parameter. More... | |
The car-following model and parameter.
MSVehicleType stores the parameter of a single vehicle type and methods that use these for computing the vehicle's car-following behavior
It is assumed that within the simulation many vehicles are using the same vehicle type, quite common is using only one vehicle type for all vehicles.
You can think of it like of having a vehicle type for each VW Golf or Ford Mustang in your simulation while the car instances just refer to it.
Definition at line 72 of file MSVehicleType.h.
MSVehicleType::MSVehicleType | ( | const SUMOVTypeParameter & | parameter | ) |
Constructor.
[in] | parameter | The vehicle type's parameter |
Definition at line 64 of file MSVehicleType.cpp.
References SUMOVTypeParameter::actionStepLength, MSGlobals::gActionStepLength, getLength(), getMaxSpeed(), myCachedActionStepLengthSecs, myParameter, STEPS2TIME, VTYPEPARS_ACTIONSTEPLENGTH_SET, and SUMOVTypeParameter::wasSet().
Referenced by build(), and duplicateType().
|
virtual |
|
private |
Invalidated copy constructor.
|
static |
Builds the microsim vehicle type described by the given parameter.
[in] | from | The vehicle type description |
ProcessError | on false values (not et used) |
Definition at line 282 of file MSVehicleType.cpp.
References SUMOVTypeParameter::cfModel, check(), SUMOVTypeParameter::getCFParam(), SUMOVTypeParameter::getCFParamString(), SUMOVTypeParameter::getDefaultAccel(), SUMOVTypeParameter::getDefaultDecel(), SUMOVTypeParameter::getDefaultImperfection(), SUMOVTypeParameter::id, MSVehicleType(), myCarFollowModel, SUMO_ATTR_ACCEL, SUMO_ATTR_APPARENTDECEL, SUMO_ATTR_CF_IDM_DELTA, SUMO_ATTR_CF_IDM_STEPPING, SUMO_ATTR_CF_IDMM_ADAPT_FACTOR, SUMO_ATTR_CF_IDMM_ADAPT_TIME, SUMO_ATTR_CF_KERNER_PHI, SUMO_ATTR_CF_PWAGNER2009_APPROB, SUMO_ATTR_CF_PWAGNER2009_TAULAST, SUMO_ATTR_CF_WIEDEMANN_ESTIMATION, SUMO_ATTR_CF_WIEDEMANN_SECURITY, SUMO_ATTR_DECEL, SUMO_ATTR_EMERGENCYDECEL, SUMO_ATTR_K, SUMO_ATTR_SIGMA, SUMO_ATTR_TAU, SUMO_ATTR_TMP1, SUMO_ATTR_TMP2, SUMO_ATTR_TMP3, SUMO_ATTR_TMP4, SUMO_ATTR_TMP5, SUMO_ATTR_TRAIN_TYPE, SUMO_TAG_CF_BKERNER, SUMO_TAG_CF_DANIEL1, SUMO_TAG_CF_IDM, SUMO_TAG_CF_IDMM, SUMO_TAG_CF_KRAUSS, SUMO_TAG_CF_KRAUSS_ORIG1, SUMO_TAG_CF_KRAUSS_PLUS_SLOPE, SUMO_TAG_CF_KRAUSSX, SUMO_TAG_CF_PWAGNER2009, SUMO_TAG_CF_RAIL, SUMO_TAG_CF_SMART_SK, SUMO_TAG_CF_WIEDEMANN, SUMOVTypeParameter::vehicleClass, and WRITE_WARNING.
Referenced by getPreferredLateralAlignment(), MSVehicleControl::MSVehicleControl(), and MSRouteHandler::myEndElement().
MSVehicleType * MSVehicleType::buildSingularType | ( | const std::string & | id | ) | const |
Duplicates the microsim vehicle type giving the newly created type the given id, marking it as vehicle specific.
[in] | id | The new id of the type |
Definition at line 370 of file MSVehicleType.cpp.
References duplicateType().
Referenced by getPreferredLateralAlignment(), MSBaseVehicle::getSingularType(), and MSTransportable::getSingularType().
void MSVehicleType::check | ( | ) |
Checks whether vehicle type parameters may be problematic (Currently, only the value for the action step length is compared with the value for the desired headway time.)
Definition at line 391 of file MSVehicleType.cpp.
References SUMOVTypeParameter::actionStepLength, getCarFollowModel(), MSCFModel::getHeadwayTime(), getID(), myParameter, myWarnedActionStepLengthTauOnce, STEPS2TIME, VTYPEPARS_ACTIONSTEPLENGTH_SET, SUMOVTypeParameter::wasSet(), and WRITE_WARNING.
Referenced by build(), getParameter(), and setActionStepLength().
double MSVehicleType::computeChosenSpeedDeviation | ( | std::mt19937 * | rng, |
const double | minDev = -1. |
||
) | const |
Computes and returns the speed deviation.
Definition at line 83 of file MSVehicleType.cpp.
References MAX2(), myParameter, Distribution_Parameterized::sample(), and SUMOVTypeParameter::speedFactor.
Referenced by GUITransportableControl::buildPerson(), MSTransportableControl::buildPerson(), MEVehicleControl::buildVehicle(), GUIMEVehicleControl::buildVehicle(), GUIVehicleControl::buildVehicle(), MSVehicleControl::buildVehicle(), getMaxSpeed(), and MSEdge::insertVehicle().
MSVehicleType * MSVehicleType::duplicateType | ( | const std::string & | id, |
bool | persistent | ||
) | const |
Duplicates the microsim vehicle type giving the newly created type the given id.
[in] | id | The new id of the type |
[in] | persistent | If true the created vType will be persistent and can be used by several vehicles, otherwise it may be removed before simulation end, |
Definition at line 376 of file MSVehicleType.cpp.
References MSCFModel::duplicate(), getID(), MSNet::getInstance(), SUMOVTypeParameter::id, MSVehicleType(), myCarFollowModel, myOriginalType, and myParameter.
Referenced by buildSingularType(), libsumo::VehicleType::copy(), and getPreferredLateralAlignment().
|
inline |
Returns this type's default action step length.
Definition at line 224 of file MSVehicleType.h.
References SUMOVTypeParameter::actionStepLength, and myParameter.
Referenced by MSVehicle::getActionStepLength().
|
inline |
Returns this type's default action step length in seconds.
Definition at line 232 of file MSVehicleType.h.
References myCachedActionStepLengthSecs.
Referenced by libsumo::VehicleType::getActionStepLength(), libsumo::Vehicle::getActionStepLength(), and MSVehicle::getActionStepLengthSecs().
|
inline |
Get this vehicle type's boarding duration.
Definition at line 306 of file MSVehicleType.h.
References SUMOVTypeParameter::boardingDuration, and myParameter.
Referenced by MSTransportableControl::boardAnyWaiting(), and GUIVehicle::getTypeParameterWindow().
|
inline |
Returns the vehicle type's car following model definition (const version)
Definition at line 147 of file MSVehicleType.h.
References myCarFollowModel.
Referenced by MSLink::blockedByFoe(), check(), MEVehicle::estimateLeaveSpeed(), MSVehicle::estimateLeaveSpeed(), libsumo::VehicleType::getAccel(), libsumo::VehicleType::getApparentDecel(), libsumo::Vehicle::getApparentDecel(), MSVehicle::getCarFollowModel(), libsumo::VehicleType::getDecel(), libsumo::Vehicle::getDecel(), libsumo::VehicleType::getEmergencyDecel(), libsumo::Vehicle::getEmergencyDecel(), libsumo::VehicleType::getImperfection(), libsumo::Vehicle::getImperfection(), libsumo::VehicleType::getTau(), libsumo::Vehicle::getTau(), MESegment::isOpen(), MSVehicle::MSVehicle(), MSVehicle::processTraCISpeedControl(), MSCalibrator::remainingVehicleCapacity(), libsumo::VehicleType::setAccel(), libsumo::VehicleType::setApparentDecel(), libsumo::VehicleType::setDecel(), libsumo::VehicleType::setEmergencyDecel(), libsumo::VehicleType::setImperfection(), libsumo::VehicleType::setTau(), MSVehicleControl::vehicleDeparted(), and MSMeanData_Emissions::MSLaneMeanDataValues::write().
|
inline |
Returns the vehicle type's car following model definition (non-const version)
Definition at line 155 of file MSVehicleType.h.
References myCarFollowModel.
|
inline |
Returns this type's color.
Definition at line 208 of file MSVehicleType.h.
References SUMOVTypeParameter::color, and myParameter.
Referenced by libsumo::VehicleType::getColor(), and GUIBaseVehicle::setFunctionalColor().
|
inline |
Get this vehicle type's container capacity.
Definition at line 299 of file MSVehicleType.h.
References SUMOVTypeParameter::containerCapacity, and myParameter.
Referenced by GUIMEVehicle::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), and MSTransportableControl::loadAnyWaiting().
|
inline |
Get the default probability of this vehicle type.
Definition at line 182 of file MSVehicleType.h.
References SUMOVTypeParameter::defaultProbability, and myParameter.
Referenced by MSRouteHandler::myEndElement(), MSRouteHandler::openVehicleTypeDistribution(), and setDefaultProbability().
|
inline |
Get this vehicle type's emission class.
Definition at line 200 of file MSVehicleType.h.
References SUMOVTypeParameter::emissionClass, and myParameter.
Referenced by MSVehicle::getCO2Emissions(), MSVehicle::getCOEmissions(), MSVehicle::getElectricityConsumption(), libsumo::VehicleType::getEmissionClass(), MSVehicle::getFuelConsumption(), MSVehicle::getHarmonoise_NoiseEmissions(), MSVehicle::getHCEmissions(), MSVehicle::getNOxEmissions(), MSVehicle::getPMxEmissions(), GUIMEVehicle::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), MSDevice_Emissions::notifyMove(), MSMeanData_Emissions::MSLaneMeanDataValues::notifyMoveInternal(), MSMeanData_Harmonoise::MSLaneMeanDataValues::notifyMoveInternal(), MSEmissionExport::write(), MSMeanData_Emissions::MSLaneMeanDataValues::write(), MSAmitranTrajectories::writeVehicle(), and MSFullExport::writeVehicles().
|
inline |
Get this vehicle type's shape.
Definition at line 268 of file MSVehicleType.h.
References myParameter, and SUMOVTypeParameter::shape.
Referenced by GUIBaseVehicle::drawAction_drawVehicleAsPoly(), MSVehicle::getBoundingPoly(), and libsumo::VehicleType::getShapeClass().
|
inline |
Get the height which vehicles of this class shall have when being drawn.
Definition at line 260 of file MSVehicleType.h.
References SUMOVTypeParameter::height, and myParameter.
Referenced by libsumo::VehicleType::getHeight(), GUIContainer::getTypeParameterWindow(), GUIPerson::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), and setHeight().
|
inline |
Returns the name of the vehicle type.
Definition at line 100 of file MSVehicleType.h.
References SUMOVTypeParameter::id, and myParameter.
Referenced by MSChargingStation::addChargeValueForOutput(), MSRouteHandler::addPersonTrip(), MSVehicleControl::addVType(), check(), MSRouteHandler::closeVehicle(), MSInductLoop::collectVehiclesOnDet(), duplicateType(), MSVTypeProbe::execute(), libsumo::Simulation::findIntermodalRoute(), MSDevice_Tripinfo::generateOutput(), MSBaseVehicle::getSingularType(), MSTransportable::getSingularType(), libsumo::Person::getSingularVType(), libsumo::Person::getTypeID(), libsumo::Vehicle::getTypeID(), GUIContainer::getTypeParameterWindow(), GUIPerson::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), MSAbstractLaneChangeModel::laneChangeOutput(), MSInductLoop::leaveDetectorByMove(), MSE2Collector::makeVehicleInfo(), MEVehicle::MEVehicle(), MSVehicle::MSVehicle(), MSRouteHandler::myEndElement(), MSDevice_Bluelight::notifyMove(), TraCIServerAPI_Vehicle::processSet(), MSVehicleControl::removeVType(), MSPerson::routeOutput(), MSStopOut::stopEnded(), MSDetectorFileOutput::vehicleApplies(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSDevice_Vehroutes::writeOutput(), MSAmitranTrajectories::writeVehicle(), and MSFullExport::writeVehicles().
|
inline |
Get this vehicle type's raster model file name.
Definition at line 283 of file MSVehicleType.h.
References SUMOVTypeParameter::imgFile, and myParameter.
Referenced by GUIContainer::drawAction_drawAsImage(), GUIPerson::drawAction_drawAsImage(), and GUIBaseVehicle::drawAction_drawVehicleAsImage().
|
inline |
Returns this type's impatience.
Definition at line 240 of file MSVehicleType.h.
References SUMOVTypeParameter::impatience, and myParameter.
Referenced by MSPModel_Striping::PState::getImpatience(), and setImpatience().
|
inline |
Definition at line 160 of file MSVehicleType.h.
References SUMOVTypeParameter::lcModel, and myParameter.
Referenced by MSVehicle::MSVehicle().
|
inline |
Get vehicle's length [m].
Definition at line 116 of file MSVehicleType.h.
References SUMOVTypeParameter::length, and myParameter.
Referenced by MSCFModel_Wiedemann::_v(), MSPModel_Striping::addCrossingVehs(), MSVehicle::addStop(), MSStoppingPlace::addTransportable(), MSLane::basePos(), MSLane::checkForPedestrians(), MSVehicle::checkRewindLinkLanes(), MSInductLoop::collectVehiclesOnDet(), MSLaneChanger::computeOvertakingTime(), MSLane::detectCollisions(), GUIContainer::drawAction_drawAsImage(), GUIPerson::drawAction_drawAsImage(), GUIVehicle::drawAction_drawLinkItems(), GUIVehicle::drawAction_drawRailCarriages(), GUIBaseVehicle::drawAction_drawVehicleAsImage(), GUIBaseVehicle::drawAction_drawVehicleAsPoly(), GUIBaseVehicle::drawAction_drawVehicleAsTrianglePlus(), MSLane::enteredByLaneChange(), MSVehicle::enterLaneAtInsertion(), MSVehicle::enterLaneAtLaneChange(), MSDevice_SSM::estimateConflictTimes(), MSLane::executeMovements(), MSLane::freeInsertion(), libsumo::Vehicle::getAccel(), MSVehicle::getBackPosition(), MEVehicle::getBackPositionOnLane(), MSVehicle::getBackPositionOnLane(), MSTransportable::getBoundingBox(), MSLane::getBruttoOccupancy(), GUIBaseVehicle::getCenteringBoundary(), MSLane::getCriticalLeader(), MSEdge::getDepartPosBound(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), libsumo::VehicleType::getLength(), libsumo::Vehicle::getLength(), MSPModel_Striping::PState::getLength(), MSBaseVehicle::getLength(), MSLane::getNettoOccupancy(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSVehicle::getPositionOnLane(), MSLaneChanger::getRealFollower(), GUIContainer::getTypeParameterWindow(), GUIPerson::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), MSLink::getZipperSpeed(), MSLane::handleCollisionBetween(), MSLane::incorporateVehicle(), MSLCM_SL2015::informFollower(), MSLCM_SL2015::informLeader(), MSLane::integrateNewVehicle(), MSLane::isInsertionSuccess(), MSLCM_SL2015::keepLatGap(), MSInductLoop::leaveDetectorByMove(), MSLane::leftByLaneChange(), MSE2Collector::makeVehicleInfo(), MSPModel_Striping::moveInDirectionOnLane(), MSVehicleType(), MSPModel_Striping::nextBlocking(), MSInstantInductLoop::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSInductLoop::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSE2Collector::notifyMove(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), MSLCM_LC2013::overtakeDistance(), MSVehicle::planMoveInternal(), MSVehicle::processLinkAproaches(), MSVehicle::processNextStop(), MSStoppingPlace::removeTransportable(), MSLane::removeVehicle(), GUIVehicle::selectBlockingFoes(), MSLink::setApproaching(), setLength(), MSVehicle::setTentativeLaneAndPosition(), MSLaneChangerSublane::startChangeSublane(), MSVehicle::unsafeLinkAhead(), MSLCM_SL2015::updateCFRelated(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSInstantInductLoop::write(), and MSQueueExport::writeLane().
|
inline |
Get vehicle's length including the minimum gap [m].
Definition at line 124 of file MSVehicleType.h.
References SUMOVTypeParameter::length, SUMOVTypeParameter::minGap, and myParameter.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::changeOpposite(), MSLaneChangerSublane::checkChangeToNewLane(), MSLane::checkForPedestrians(), MSVehicle::checkRewindLinkLanes(), MSLaneChanger::computeOvertakingTime(), GUIEdge::drawMesoVehicles(), MSLane::enteredByLaneChange(), MSLane::executeMovements(), MESegment::getTimeHeadway(), MESegment::hasSpaceFor(), MSLane::incorporateVehicle(), MSLCM_SL2015::informFollower(), MSLCM_SL2015::informLeader(), MSEdge::insertVehicle(), MSLane::integrateNewVehicle(), MESegment::isOpen(), MSLane::leftByLaneChange(), MESegment::loadState(), MSVehicle::overlap(), MSLCM_LC2013::overtakeDistance(), MESegment::receive(), MSLaneChanger::ChangeElem::registerHop(), MSLaneChanger::registerUnchanged(), METriggeredCalibrator::remainingVehicleCapacity(), MSCalibrator::remainingVehicleCapacity(), MESegment::removeCar(), MSLane::removeVehicle(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), MSLCM_DK2008::wantsChangeToLeft(), and MSLCM_DK2008::wantsChangeToRight().
|
inline |
Get this vehicle type's loading duration.
Definition at line 313 of file MSVehicleType.h.
References SUMOVTypeParameter::loadingDuration, and myParameter.
Referenced by GUIVehicle::getTypeParameterWindow(), and MSTransportableControl::loadAnyWaiting().
|
inline |
Get vehicle's maximum speed [m/s].
Definition at line 168 of file MSVehicleType.h.
References computeChosenSpeedDeviation(), SUMOVTypeParameter::maxSpeed, and myParameter.
Referenced by MSRouteHandler::addPersonTrip(), libsumo::Person::appendWalkingStage(), GUIApplicationWindow::checkGamingEvents(), MSCFModel::estimateSpeedAfterDistance(), libsumo::Simulation::findIntermodalRoute(), libsumo::VehicleType::getMaxSpeed(), libsumo::Vehicle::getMaxSpeed(), MSBaseVehicle::getMaxSpeed(), MSPerson::MSPersonStage_Walking::getMaxSpeed(), MSVehicle::getMaxSpeedOnLane(), GUIContainer::getTypeParameterWindow(), GUIPerson::getTypeParameterWindow(), MSCFModel::insertionStopSpeed(), MSCFModel_KraussPS::maxNextSpeed(), MSCFModel::maxNextSpeed(), MEVehicle::MEVehicle(), MSVehicle::MSVehicle(), MSVehicleType(), MSRouteHandler::myStartElement(), MSPModel_Striping::nextBlocking(), MSPerson::reroute(), libsumo::Person::rerouteTraveltime(), setMaxSpeed(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), and MSMeanData_Emissions::MSLaneMeanDataValues::write().
|
inline |
Get vehicle's maximum lateral speed [m/s].
Definition at line 320 of file MSVehicleType.h.
References SUMOVTypeParameter::maxSpeedLat, and myParameter.
Referenced by MSLCM_SL2015::checkBlocking(), MSLCM_SL2015::commitManoeuvre(), MSLCM_SL2015::computeSpeedLat(), libsumo::VehicleType::getMaxSpeedLat(), MSLeaderInfo::getSubLanes(), GUIVehicle::getTypeParameterWindow(), and setMaxSpeedLat().
|
inline |
Get the free space in front of vehicles of this class.
Definition at line 132 of file MSVehicleType.h.
References SUMOVTypeParameter::minGap, and myParameter.
Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_SL2015::_patchSpeed(), MSCFModel_IDM::_v(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeaders(), MSLaneChanger::checkChange(), MSLane::checkFailure(), MSVehicle::checkRewindLinkLanes(), MSLaneChanger::computeOvertakingTime(), MSLane::detectCollisionBetween(), GUIBaseVehicle::drawOnPos(), MSLane::freeInsertion(), MSLane::getCriticalLeader(), MSLane::getFollowersOnConsecutive(), MSStoppingPlace::getLastFreePos(), MSLane::getLeader(), MSVehicle::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), libsumo::VehicleType::getMinGap(), libsumo::Vehicle::getMinGap(), MSPModel_Striping::PState::getMinGap(), MSLane::getOppositeLeader(), MSLaneChanger::getRealLeader(), GUIContainer::getTypeParameterWindow(), GUIPerson::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), MSLink::getZipperSpeed(), MSLCM_SL2015::informLeaders(), MSLane::isInsertionSuccess(), MSLane::lastInsertion(), MSE2Collector::makeVehicleInfo(), MSLCM_DK2008::patchSpeed(), MSVehicle::processNextStop(), MSLane::safeInsertionSpeed(), MSAbstractLaneChangeModel::setFollowerGaps(), MSAbstractLaneChangeModel::setLeaderGaps(), setMinGap(), MSAbstractLaneChangeModel::setOrigLeaderGaps(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSLCM_DK2008::wantsChangeToLeft(), and MSLCM_DK2008::wantsChangeToRight().
|
inline |
Get the minimum lateral gap that vehicles of this type maintain.
Definition at line 139 of file MSVehicleType.h.
References SUMOVTypeParameter::minGapLat, and myParameter.
Referenced by libsumo::VehicleType::getMinGapLat(), GUIVehicle::getTypeParameterWindow(), setMinGapLat(), and MSLCM_SL2015::updateGaps().
|
inline |
Returns the running index of the vehicle type.
Definition at line 108 of file MSVehicleType.h.
References myIndex.
Referenced by MSAmitranTrajectories::writeVehicle().
|
inline |
Get this vehicle type's 3D model file name.
Definition at line 275 of file MSVehicleType.h.
References myParameter, and SUMOVTypeParameter::osgFile.
|
inline |
Definition at line 524 of file MSVehicleType.h.
References check(), and myParameter.
Referenced by MSLink::blockedAtTime(), MSLink::blockedByFoe(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice::equippedByDefaultAssignmentOptions(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSLink::getLeaderInfo(), MSDevice_SSM::getMeasuresAndThresholds(), MSDevice_SSM::getOutputFilename(), libsumo::VehicleType::getParameter(), GUIContainer::getTypeParameterWindow(), GUIPerson::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), MSBaseVehicle::getVClass(), MSTriggeredRerouter::getWeight(), MSPModel_Striping::PState::ignoreRed(), MSVehicle::ignoreRed(), MSVehicle::keepClear(), MSCFModel_Krauss::moveHelper(), MSDevice_SSM::requestsTrajectories(), libsumo::VehicleType::setParameter(), and MSDevice_SSM::useGeoCoords().
|
inline |
Get this vehicle type's person capacity.
Definition at line 291 of file MSVehicleType.h.
References myParameter, and SUMOVTypeParameter::personCapacity.
Referenced by MSTransportableControl::boardAnyWaiting(), GUIMEVehicle::getTypeParameterWindow(), and GUIVehicle::getTypeParameterWindow().
|
inline |
Get vehicle's preferred lateral alignment.
Definition at line 327 of file MSVehicleType.h.
References build(), buildSingularType(), duplicateType(), SUMOVTypeParameter::latAlignment, myParameter, setActionStepLength(), setColor(), setDefaultProbability(), setEmissionClass(), setHeight(), setImpatience(), setLength(), setMaxSpeed(), setMaxSpeedLat(), setMinGap(), setMinGapLat(), setPreferredLateralAlignment(), setShape(), setSpeedDeviation(), setSpeedFactor(), setVClass(), and setWidth().
Referenced by MSLCM_SL2015::_wantsChangeSublane(), libsumo::VehicleType::getLateralAlignment(), and GUIVehicle::getTypeParameterWindow().
|
inline |
Returns this type's speed factor.
Definition at line 216 of file MSVehicleType.h.
References myParameter, and SUMOVTypeParameter::speedFactor.
Referenced by libsumo::VehicleType::getSpeedDeviation(), libsumo::Vehicle::getSpeedDeviation(), libsumo::VehicleType::getSpeedFactor(), and MSEdge::insertVehicle().
|
inline |
Get this vehicle type's vehicle class.
Definition at line 191 of file MSVehicleType.h.
References myParameter, and SUMOVTypeParameter::vehicleClass.
Referenced by MSLCM_LC2013::_wantsChange(), MSRouteHandler::addPersonTrip(), MSVehicle::addStop(), MSBaseVehicle::calculateArrivalParams(), MSLaneChanger::change(), MSLaneChanger::changeOpposite(), MSVehicleTransfer::checkInsertions(), MSLCM_SL2015::checkStrategicChange(), MSRouteHandler::closeVehicle(), MSVehicle::executeMove(), libsumo::Simulation::findIntermodalRoute(), MSEdge::getDepartLane(), GUIMEVehicle::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), libsumo::VehicleType::getVehicleClass(), MSBaseVehicle::hasValidRoute(), MEVehicle::MEVehicle(), MSVehicle::MSVehicle(), MSLane::succLinkSec(), MSVehicle::updateBestLanes(), and MSLCM_SL2015::updateExpectedSublaneSpeeds().
|
inline |
Get the width which vehicles of this class shall have when being drawn.
Definition at line 253 of file MSVehicleType.h.
References myParameter, and SUMOVTypeParameter::width.
Referenced by MSLCM_LC2013::adaptSpeedToPedestrians(), MSPModel_Striping::addCrossingVehs(), MSLane::checkForPedestrians(), MSDevice_SSM::classifyEncounter(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), GUIContainer::drawAction_drawAsImage(), GUIPerson::drawAction_drawAsImage(), GUIVehicle::drawAction_drawRailCarriages(), GUIBaseVehicle::drawAction_drawVehicleAsImage(), GUIBaseVehicle::drawAction_drawVehicleAsPoly(), MSVehicle::getBoundingBox(), MSVehicle::getBoundingPoly(), MSLane::getDepartPosLat(), MSLink::getLeaderInfo(), GUIVehicle::getLeftSideOnEdge(), MSPModel_Striping::getNextLaneObstacles(), MSVehicle::getRightSideOnEdge(), MSVehicle::getRightSideOnLane(), MSLeaderInfo::getSubLanes(), GUIContainer::getTypeParameterWindow(), GUIPerson::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), libsumo::VehicleType::getWidth(), libsumo::Vehicle::getWidth(), MSLCM_SL2015::getWidth(), MSBaseVehicle::getWidth(), MSLane::insertVehicle(), MSPModel_Striping::moveInDirectionOnLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), MSPModel_Striping::nextBlocking(), MSPModel_Striping::PState::otherStripe(), MSVehicle::planMoveInternal(), MSVehicle::Influencer::postProcessRemoteControl(), setWidth(), and MSLCM_SL2015::updateCFRelated().
|
inline |
Returns whether this type belongs to a single vehicle only (was modified)
Definition at line 519 of file MSVehicleType.h.
References myOriginalType.
Referenced by MSBaseVehicle::getSingularType(), MSTransportable::getSingularType(), MSBaseVehicle::replaceVehicleType(), MSTransportable::replaceVehicleType(), setActionStepLength(), MSTransportable::~MSTransportable(), and MSVehicle::~MSVehicle().
|
private |
Invalidated assignment operator.
void MSVehicleType::setActionStepLength | ( | const SUMOTime | actionStepLength, |
bool | resetActionOffset | ||
) |
Set a new value for this type's action step length.
[in] | actionStepLength | The new action step length of this type (in ms.) |
[in] | resetActionOffset | If True (default), the next action point is scheduled immediately. if If resetActionOffset == False, the interval between the last and the next action point is updated to match the given value for all vehicles of this type, or if the latter is smaller than the time since the last action point, the next action follows immediately. |
Definition at line 202 of file MSVehicleType.cpp.
References SUMOVTypeParameter::actionStepLength, check(), MSNet::getInstance(), MSNet::getVehicleControl(), MSBaseVehicle::getVehicleType(), isVehicleSpecific(), MSVehicleControl::loadedVehBegin(), MSVehicleControl::loadedVehEnd(), myCachedActionStepLengthSecs, myParameter, SUMOVTypeParameter::parametersSet, MSVehicle::resetActionOffset(), STEPS2TIME, MSVehicle::updateActionOffset(), and VTYPEPARS_ACTIONSTEPLENGTH_SET.
Referenced by getPreferredLateralAlignment(), libsumo::VehicleType::setActionStepLength(), and libsumo::Vehicle::setActionStepLength().
void MSVehicleType::setColor | ( | const RGBColor & | color | ) |
Set a new value for this type's color.
[in] | color | The new color of this type |
Definition at line 245 of file MSVehicleType.cpp.
References SUMOVTypeParameter::color, myParameter, SUMOVTypeParameter::parametersSet, and VTYPEPARS_COLOR_SET.
Referenced by getPreferredLateralAlignment(), libsumo::VehicleType::setColor(), and libsumo::Person::setColor().
void MSVehicleType::setDefaultProbability | ( | const double & | prob | ) |
Set a new value for this type's default probability.
If the given value<0 then the one from the original type will be used.
[in] | prob | The new default probability of this type |
Definition at line 169 of file MSVehicleType.cpp.
References SUMOVTypeParameter::defaultProbability, getDefaultProbability(), myOriginalType, myParameter, SUMOVTypeParameter::parametersSet, and VTYPEPARS_PROBABILITY_SET.
Referenced by getPreferredLateralAlignment().
void MSVehicleType::setEmissionClass | ( | SUMOEmissionClass | eclass | ) |
Set a new value for this type's emission class.
[in] | eclass | The new emission class of this type |
Definition at line 238 of file MSVehicleType.cpp.
References SUMOVTypeParameter::emissionClass, myParameter, SUMOVTypeParameter::parametersSet, and VTYPEPARS_EMISSIONCLASS_SET.
Referenced by getPreferredLateralAlignment(), and libsumo::VehicleType::setEmissionClass().
void MSVehicleType::setHeight | ( | const double & | height | ) |
Set a new value for this type's height.
If the given value<0 then the one from the original type will be used.
[in] | height | The new height of this type |
Definition at line 101 of file MSVehicleType.cpp.
References getHeight(), SUMOVTypeParameter::height, myOriginalType, myParameter, SUMOVTypeParameter::parametersSet, and VTYPEPARS_HEIGHT_SET.
Referenced by getPreferredLateralAlignment(), libsumo::VehicleType::setHeight(), and libsumo::Person::setHeight().
void MSVehicleType::setImpatience | ( | const double | impatience | ) |
Set a new value for this type's impatience.
[in] | impatience | The new impatience of this type |
Definition at line 262 of file MSVehicleType.cpp.
References getImpatience(), SUMOVTypeParameter::impatience, myOriginalType, myParameter, SUMOVTypeParameter::parametersSet, and VTYPEPARS_IMPATIENCE_SET.
Referenced by getPreferredLateralAlignment().
void MSVehicleType::setLength | ( | const double & | length | ) |
Set a new value for this type's length.
If the given value<0 then the one from the original type will be used.
[in] | length | The new length of this type |
Definition at line 90 of file MSVehicleType.cpp.
References getLength(), SUMOVTypeParameter::length, myOriginalType, myParameter, SUMOVTypeParameter::parametersSet, and VTYPEPARS_LENGTH_SET.
Referenced by getPreferredLateralAlignment(), libsumo::VehicleType::setLength(), and libsumo::Person::setLength().
void MSVehicleType::setMaxSpeed | ( | const double & | maxSpeed | ) |
Set a new value for this type's maximum speed.
If the given value<0 then the one from the original type will be used.
[in] | maxSpeed | The new maximum speed of this type |
Definition at line 134 of file MSVehicleType.cpp.
References getMaxSpeed(), SUMOVTypeParameter::maxSpeed, myOriginalType, myParameter, SUMOVTypeParameter::parametersSet, and VTYPEPARS_MAXSPEED_SET.
Referenced by getPreferredLateralAlignment(), libsumo::VehicleType::setMaxSpeed(), and libsumo::Vehicle::setMaxSpeed().
void MSVehicleType::setMaxSpeedLat | ( | const double & | maxSpeedLat | ) |
Set a new value for this type's maximum lateral speed.
If the given value<0 then the one from the original type will be used.
[in] | maxSpeedLat | The new maximum lateral speed of this type |
Definition at line 145 of file MSVehicleType.cpp.
References getMaxSpeedLat(), SUMOVTypeParameter::maxSpeedLat, myOriginalType, myParameter, SUMOVTypeParameter::parametersSet, and VTYPEPARS_MAXSPEED_LAT_SET.
Referenced by getPreferredLateralAlignment(), and libsumo::VehicleType::setMaxSpeedLat().
void MSVehicleType::setMinGap | ( | const double & | minGap | ) |
Set a new value for this type's minimum gap.
If the given value<0 then the one from the original type will be used.
[in] | minGap | The new minimum gap of this type |
Definition at line 112 of file MSVehicleType.cpp.
References getMinGap(), SUMOVTypeParameter::minGap, myOriginalType, myParameter, SUMOVTypeParameter::parametersSet, and VTYPEPARS_MINGAP_SET.
Referenced by getPreferredLateralAlignment(), libsumo::VehicleType::setMinGap(), and libsumo::Person::setMinGap().
void MSVehicleType::setMinGapLat | ( | const double & | minGapLat | ) |
Set a new value for this type's minimum lataral gap.
If the given value<0 then the one from the original type will be used.
[in] | minGapLat | The new minimum lateral gap of this type |
Definition at line 123 of file MSVehicleType.cpp.
References getMinGapLat(), SUMOVTypeParameter::minGapLat, myOriginalType, myParameter, SUMOVTypeParameter::parametersSet, and VTYPEPARS_MINGAP_LAT_SET.
Referenced by getPreferredLateralAlignment(), and libsumo::VehicleType::setMinGapLat().
void MSVehicleType::setPreferredLateralAlignment | ( | LateralAlignment | latAlignment | ) |
Set vehicle's preferred lateral alignment.
Definition at line 162 of file MSVehicleType.cpp.
References SUMOVTypeParameter::latAlignment, myParameter, SUMOVTypeParameter::parametersSet, and VTYPEPARS_LATALIGNMENT_SET.
Referenced by getPreferredLateralAlignment(), MSDevice_Bluelight::notifyMove(), and libsumo::VehicleType::setLateralAlignment().
void MSVehicleType::setShape | ( | SUMOVehicleShape | shape | ) |
Set a new value for this type's shape.
[in] | shape | The new shape of this type |
Definition at line 273 of file MSVehicleType.cpp.
References myParameter, SUMOVTypeParameter::parametersSet, SUMOVTypeParameter::shape, and VTYPEPARS_SHAPE_SET.
Referenced by getPreferredLateralAlignment(), libsumo::VehicleType::setShapeClass(), and libsumo::Vehicle::setShapeClass().
void MSVehicleType::setSpeedDeviation | ( | const double & | dev | ) |
Set a new value for this type's speed deviation.
If the given value<0 then the one from the original type will be used.
[in] | dev | The new speed deviation of this type |
Definition at line 191 of file MSVehicleType.cpp.
References Distribution_Parameterized::getParameter(), myOriginalType, myParameter, SUMOVTypeParameter::parametersSet, SUMOVTypeParameter::speedFactor, and VTYPEPARS_SPEEDFACTOR_SET.
Referenced by getPreferredLateralAlignment(), and libsumo::VehicleType::setSpeedDeviation().
void MSVehicleType::setSpeedFactor | ( | const double & | factor | ) |
Set a new value for this type's speed factor.
If the given value<0 then the one from the original type will be used.
[in] | factor | The new speed factor of this type |
Definition at line 180 of file MSVehicleType.cpp.
References Distribution_Parameterized::getParameter(), myOriginalType, myParameter, SUMOVTypeParameter::parametersSet, SUMOVTypeParameter::speedFactor, and VTYPEPARS_SPEEDFACTOR_SET.
Referenced by getPreferredLateralAlignment(), and libsumo::VehicleType::setSpeedFactor().
void MSVehicleType::setVClass | ( | SUMOVehicleClass | vclass | ) |
Set a new value for this type's vehicle class.
[in] | vclass | The new vehicle class of this type |
Definition at line 156 of file MSVehicleType.cpp.
References myParameter, SUMOVTypeParameter::parametersSet, SUMOVTypeParameter::vehicleClass, and VTYPEPARS_VEHICLECLASS_SET.
Referenced by getPreferredLateralAlignment(), and libsumo::VehicleType::setVehicleClass().
void MSVehicleType::setWidth | ( | const double & | width | ) |
Set a new value for this type's width.
If the given value<0 then the one from the original type will be used.
[in] | width | The new width of this type |
Definition at line 252 of file MSVehicleType.cpp.
References getWidth(), myOriginalType, myParameter, SUMOVTypeParameter::parametersSet, VTYPEPARS_WIDTH_SET, and SUMOVTypeParameter::width.
Referenced by getPreferredLateralAlignment(), libsumo::VehicleType::setWidth(), and libsumo::Person::setWidth().
|
inline |
Returns whether the given parameter was set.
[in] | what | The parameter which one asks for |
Definition at line 89 of file MSVehicleType.h.
References myParameter, and SUMOVTypeParameter::parametersSet.
Referenced by MSRouteHandler::myStartElement(), and GUIBaseVehicle::setFunctionalColor().
|
private |
the vtypes actionsStepLength in seconds (cached because needed very often)
Definition at line 539 of file MSVehicleType.h.
Referenced by getActionStepLengthSecs(), MSVehicleType(), and setActionStepLength().
|
private |
instance of the car following model.
Definition at line 549 of file MSVehicleType.h.
Referenced by build(), duplicateType(), getCarFollowModel(), and ~MSVehicleType().
|
private |
|
staticprivate |
next value for the running index
Definition at line 555 of file MSVehicleType.h.
|
private |
The original type.
Definition at line 552 of file MSVehicleType.h.
Referenced by duplicateType(), isVehicleSpecific(), setDefaultProbability(), setHeight(), setImpatience(), setLength(), setMaxSpeed(), setMaxSpeedLat(), setMinGap(), setMinGapLat(), setSpeedDeviation(), setSpeedFactor(), and setWidth().
|
private |
the parameter container
Definition at line 536 of file MSVehicleType.h.
Referenced by check(), computeChosenSpeedDeviation(), duplicateType(), getActionStepLength(), getBoardingDuration(), getColor(), getContainerCapacity(), getDefaultProbability(), getEmissionClass(), getGuiShape(), getHeight(), getID(), getImgFile(), getImpatience(), getLaneChangeModel(), getLength(), getLengthWithGap(), getLoadingDuration(), getMaxSpeed(), getMaxSpeedLat(), getMinGap(), getMinGapLat(), getOSGFile(), getParameter(), getPersonCapacity(), getPreferredLateralAlignment(), getSpeedFactor(), getVehicleClass(), getWidth(), MSVehicleType(), setActionStepLength(), setColor(), setDefaultProbability(), setEmissionClass(), setHeight(), setImpatience(), setLength(), setMaxSpeed(), setMaxSpeedLat(), setMinGap(), setMinGapLat(), setPreferredLateralAlignment(), setShape(), setSpeedDeviation(), setSpeedFactor(), setVClass(), setWidth(), and wasSet().
|
private |
Indicator whether the user was already warned once about an action step length larger than the desired time headway.
Definition at line 543 of file MSVehicleType.h.
Referenced by check().