SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
TraCIServerAPI_Vehicle Class Reference

APIs for getting/setting vehicle values via TraCI. More...

#include <TraCIServerAPI_Vehicle.h>

Collaboration diagram for TraCIServerAPI_Vehicle:
Collaboration graph

Data Structures

class  LaneUtility
 

Static Public Member Functions

static bool getPosition (const std::string &id, Position &p)
 Returns the named vehicle's position. More...
 
static bool processGet (TraCIServer &server, tcpip::Storage &inputStorage, tcpip::Storage &outputStorage)
 Processes a get value command (Command 0xa4: Get Vehicle Variable) More...
 
static bool processSet (TraCIServer &server, tcpip::Storage &inputStorage, tcpip::Storage &outputStorage)
 Processes a set value command (Command 0xc4: Change Vehicle State) More...
 

Private Member Functions

TraCIServerAPI_Vehicleoperator= (const TraCIServerAPI_Vehicle &s)
 invalidated assignment operator More...
 
 TraCIServerAPI_Vehicle (const TraCIServerAPI_Vehicle &s)
 invalidated copy constructor More...
 

Static Private Member Functions

static bool commandDistanceRequest (TraCIServer &server, tcpip::Storage &inputStorage, tcpip::Storage &outputStorage, const MSVehicle *v)
 
static bool findCloserLane (const MSEdge *edge, const Position &pos, SUMOReal &bestDistance, MSLane **lane)
 
static const std::map
< std::string, std::vector
< MSLane * > > & 
getOrBuildVTDMap ()
 
static MSVehicleTypegetSingularType (SUMOVehicle *const veh)
 
static bool vtdMap (const Position &pos, SUMOReal maxRouteDistance, const std::string &origID, const SUMOReal angle, MSVehicle &v, TraCIServer &server, SUMOReal &bestDistance, MSLane **lane, SUMOReal &lanePos, int &routeOffset, ConstMSEdgeVector &edges)
 
static bool vtdMap_matchingRoutePosition (const Position &pos, const std::string &origID, MSVehicle &v, SUMOReal &bestDistance, MSLane **lane, SUMOReal &lanePos, int &routeOffset, ConstMSEdgeVector &edges)
 

Static Private Attributes

static std::map< std::string,
std::vector< MSLane * > > 
gVTDMap
 

Detailed Description

APIs for getting/setting vehicle values via TraCI.

Definition at line 49 of file TraCIServerAPI_Vehicle.h.

Constructor & Destructor Documentation

TraCIServerAPI_Vehicle::TraCIServerAPI_Vehicle ( const TraCIServerAPI_Vehicle s)
private

invalidated copy constructor

Member Function Documentation

bool TraCIServerAPI_Vehicle::findCloserLane ( const MSEdge edge,
const Position pos,
SUMOReal bestDistance,
MSLane **  lane 
)
staticprivate
const std::map< std::string, std::vector< MSLane * > > & TraCIServerAPI_Vehicle::getOrBuildVTDMap ( )
staticprivate
bool TraCIServerAPI_Vehicle::getPosition ( const std::string &  id,
Position p 
)
static

Returns the named vehicle's position.

Parameters
[in]idThe id of the searched vehicle
[out]pThe position, if the vehicle is on the network
Returns
Whether the vehicle is known (and on road)

Definition at line 1814 of file TraCIServerAPI_Vehicle.cpp.

References MSNet::getInstance(), MSVehicle::getPosition(), MSVehicleControl::getVehicle(), and MSNet::getVehicleControl().

Referenced by TraCIServer::findObjectShape().

MSVehicleType & TraCIServerAPI_Vehicle::getSingularType ( SUMOVehicle *const  veh)
staticprivate
TraCIServerAPI_Vehicle& TraCIServerAPI_Vehicle::operator= ( const TraCIServerAPI_Vehicle s)
private

invalidated assignment operator

bool TraCIServerAPI_Vehicle::processGet ( TraCIServer server,
tcpip::Storage inputStorage,
tcpip::Storage outputStorage 
)
static

Processes a get value command (Command 0xa4: Get Vehicle Variable)

Parameters
[in]serverThe TraCI-server-instance which schedules this request
[in]inputStorageThe storage to read the command from
[out]outputStorageThe storage to write the result to

Definition at line 76 of file TraCIServerAPI_Vehicle.cpp.

References MSVehicle::LaneQ::allowsContinuation, RGBColor::alpha(), MSRoute::begin(), MSVehicle::LaneQ::bestContinuations, MSVehicle::LaneQ::bestLaneOffset, RGBColor::blue(), MSVehicle::Stop::busstop, CMD_GET_VEHICLE_VARIABLE, SUMOVehicleParameter::color, commandDistanceRequest(), MSVehicle::Stop::containerstop, MSVehicle::Stop::containerTriggered, MSEdge::dictionary(), DISTANCE_REQUEST, MSRoute::end(), MSVehicle::getAngle(), MSVehicle::getBestLanes(), MSVehicle::getBestLanesContinuation(), MSBaseVehicle::getChosenSpeedFactor(), MSVehicle::getCO2Emissions(), MSVehicle::getCOEmissions(), MSBaseVehicle::getDepartPos(), MSRoute::getDistanceBetween(), MSLane::getEdge(), MSRoute::getEdges(), MSVehicle::getElectricityConsumption(), MSVehicle::getFuelConsumption(), MSVehicle::getHarmonoise_NoiseEmissions(), MSVehicle::getHCEmissions(), Named::getID(), MSVehicleType::getID(), MSVehicle::getInfluencer(), MSNet::getInstance(), MSVehicle::getLane(), MSEdge::getLanes(), MSVehicle::getLeader(), MSLane::getLength(), MSVehicle::getNextStop(), MSVehicle::getNOxEmissions(), MSBaseVehicle::getParameter(), Parameterised::getParameter(), MSVehicle::getPersonNumber(), MSVehicle::getPMxEmissions(), MSVehicle::getPosition(), MSVehicle::getPositionOnLane(), MSBaseVehicle::getRoute(), MSVehicle::getRoutePosition(), MSVehicle::getSignals(), MSVehicle::getSlope(), MSVehicle::getSpeed(), MSVehicle::Influencer::getSpeedMode(), MSVehicle::getSpeedWithoutTraciInfluence(), TraCIServerAPI_VehicleType::getVariable(), MSVehicleControl::getVehicle(), MSNet::getVehicleControl(), MSLane::getVehicleMaxSpeed(), MSBaseVehicle::getVehicleType(), MSVehicle::getWaitingSeconds(), MSVehicle::getWeightsStorage(), RGBColor::green(), MSBaseVehicle::hasDeparted(), MSBaseVehicle::hasValidRoute(), ID_COUNT, ID_LIST, INVALID_DOUBLE_VALUE, INVALID_INT_VALUE, MSEdge::isInternal(), MSLane::isLinkEnd(), MSVehicle::isOnRoad(), MSVehicle::isParking(), MSVehicle::isStopped(), MSVehicle::LaneQ::lane, MSVehicle::LaneQ::length, MSVehicleControl::loadedVehBegin(), MSVehicleControl::loadedVehEnd(), max, GeomHelper::naviDegree(), MSVehicle::LaneQ::nextOccupation, MSVehicle::Stop::parking, POSITION_2D, POSITION_3D, tcpip::Storage::readInt(), tcpip::Storage::readString(), TraCIServer::readTypeCheckingDouble(), TraCIServer::readTypeCheckingInt(), TraCIServer::readTypeCheckingString(), tcpip::Storage::readUnsignedByte(), RGBColor::red(), RESPONSE_GET_VEHICLE_VARIABLE, MSEdgeWeightsStorage::retrieveExistingEffort(), MSEdgeWeightsStorage::retrieveExistingTravelTime(), RTYPE_OK, MSRoute::size(), MSLane::succLinkSec(), SUMOReal, toHex(), MSVehicle::Stop::triggered, TYPE_BYTE, TYPE_COLOR, TYPE_COMPOUND, TYPE_DOUBLE, TYPE_INTEGER, TYPE_STRING, TYPE_STRINGLIST, TYPE_UBYTE, VAR_ACCEL, VAR_ALLOWED_SPEED, VAR_ANGLE, VAR_BEST_LANES, VAR_CO2EMISSION, VAR_COEMISSION, VAR_COLOR, VAR_DECEL, VAR_DISTANCE, VAR_EDGE_EFFORT, VAR_EDGE_TRAVELTIME, VAR_EDGES, VAR_ELECTRICITYCONSUMPTION, VAR_EMISSIONCLASS, VAR_FUELCONSUMPTION, VAR_HCEMISSION, VAR_HEIGHT, VAR_IMPERFECTION, VAR_LANE_ID, VAR_LANE_INDEX, VAR_LANEPOSITION, VAR_LEADER, VAR_LENGTH, VAR_MAXSPEED, VAR_MINGAP, VAR_NEXT_TLS, VAR_NOISEEMISSION, VAR_NOXEMISSION, VAR_PARAMETER, VAR_PERSON_NUMBER, VAR_PMXEMISSION, VAR_POSITION, VAR_POSITION3D, VAR_ROAD_ID, VAR_ROUTE_ID, VAR_ROUTE_INDEX, VAR_ROUTE_VALID, VAR_SHAPECLASS, VAR_SIGNALS, VAR_SLOPE, VAR_SPEED, VAR_SPEED_DEVIATION, VAR_SPEED_FACTOR, VAR_SPEED_WITHOUT_TRACI, VAR_SPEEDSETMODE, VAR_STOPSTATE, VAR_TAU, VAR_TYPE, VAR_VEHICLECLASS, VAR_WAITING_TIME, VAR_WIDTH, tcpip::Storage::writeByte(), tcpip::Storage::writeDouble(), TraCIServer::writeErrorStatusCmd(), tcpip::Storage::writeInt(), TraCIServer::writeResponseWithLength(), TraCIServer::writeStatusCmd(), tcpip::Storage::writeStorage(), tcpip::Storage::writeString(), tcpip::Storage::writeStringList(), tcpip::Storage::writeUnsignedByte(), Position::x(), Position::y(), and Position::z().

Referenced by TraCIServer::TraCIServer().

bool TraCIServerAPI_Vehicle::processSet ( TraCIServer server,
tcpip::Storage inputStorage,
tcpip::Storage outputStorage 
)
static

Processes a set value command (Command 0xc4: Change Vehicle State)

Parameters
[in]serverThe TraCI-server-instance which schedules this request
[in]inputStorageThe storage to read the command from
[out]outputStorageThe storage to write the result to

Definition at line 496 of file TraCIServerAPI_Vehicle.cpp.

References MSInsertionControl::add(), ADD, ADD_FULL, MSEdgeWeightsStorage::addEffort(), MSVehicle::addTraciBusOrContainerStop(), MSVehicle::addTraciStop(), MSEdgeWeightsStorage::addTravelTime(), MSVehicleControl::addVehicle(), RGBColor::alpha(), MSInsertionControl::alreadyDeparted(), SUMOVehicleParameter::arrivalLane, SUMOVehicleParameter::arrivalLaneProcedure, SUMOVehicleParameter::arrivalPos, SUMOVehicleParameter::arrivalPosProcedure, SUMOVehicleParameter::arrivalSpeed, SUMOVehicleParameter::arrivalSpeedProcedure, RGBColor::blue(), MSVehicleControl::buildVehicle(), CMD_CHANGELANE, CMD_CHANGETARGET, CMD_GET_VEHICLE_VARIABLE, CMD_REROUTE_EFFORT, CMD_REROUTE_TRAVELTIME, CMD_RESUME, CMD_SET_VEHICLE_VARIABLE, CMD_SLOWDOWN, CMD_STOP, SUMOVehicleParameter::color, SUMOAbstractRouter< E, V >::compute(), DELTA_T, SUMOVehicleParameter::depart, DEPART_DEF_MAX, DEPART_GIVEN, DEPART_LANE_DEF_MAX, DEPART_LANE_GIVEN, DEPART_POS_DEF_MAX, DEPART_POS_GIVEN, DEPART_SPEED_DEF_MAX, DEPART_SPEED_GIVEN, SUMOVehicleParameter::departLane, SUMOVehicleParameter::departLaneProcedure, SUMOVehicleParameter::departPos, SUMOVehicleParameter::departPosProcedure, SUMOVehicleParameter::departProcedure, SUMOVehicleParameter::departSpeed, SUMOVehicleParameter::departSpeedProcedure, MSRoute::dictionary(), MSLane::dictionary(), MSEdge::dictionary(), PositionVector::distance2D(), MSVehicle::Stop::duration, MSVehicle::Stop::edge, MSVehicle::enterLaneAtMove(), MSLane::forceVehicleInsertion(), SUMOVehicleParameter::fromTaz, MSGlobals::gCheckRoutes, MSNet::getCurrentTimeStep(), MSBaseVehicle::getEdge(), MSLane::getEdge(), Named::getID(), MSBaseVehicle::getID(), MSVehicle::getInfluencer(), MSNet::getInsertionControl(), MSNet::getInstance(), MSVehicle::getLane(), MSEdge::getLanes(), MSBaseVehicle::getParameter(), MSVehicle::getPosition(), MSVehicle::getRerouteOrigin(), MSNet::getRouterTT(), MSLane::getShape(), getSingularType(), MSVehicle::getSpeed(), MSVehicleControl::getVehicle(), MSNet::getVehicleControl(), MSBaseVehicle::getVehicleType(), MSVehicleControl::getVType(), MSVehicle::getWeightsStorage(), MSVehicleType::getWidth(), MSLane::getWidth(), MSGlobals::gLateralResolution, RGBColor::green(), MSBaseVehicle::hasDeparted(), MSBaseVehicle::hasValidRoute(), SUMOVehicleParameter::id, INVALID_DOUBLE_VALUE, GeomHelper::INVALID_OFFSET, MSVehicle::isOnRoad(), MSEdgeWeightsStorage::knowsEffort(), MSEdgeWeightsStorage::knowsTravelTime(), SUMOVehicleParameter::line, max, MIN2(), PositionVector::move2side(), MSMoveReminder::NOTIFICATION_ARRIVED, MSMoveReminder::NOTIFICATION_TELEPORT, MSMoveReminder::NOTIFICATION_TELEPORT_ARRIVED, MSMoveReminder::NOTIFICATION_VAPORIZED, NUMERICAL_EPS, MSVehicle::onRemovalFromNet(), SUMOVehicleParameter::parseArrivalLane(), SUMOVehicleParameter::parseArrivalPos(), SUMOVehicleParameter::parseArrivalSpeed(), SUMOVehicleParameter::parseDepart(), SUMOVehicleParameter::parseDepartLane(), SUMOVehicleParameter::parseDepartPos(), SUMOVehicleParameter::parseDepartSpeed(), MSEdge::parseEdgesList(), SUMOVehicleParameter::personNumber, POSITION_EPS, MSVehicle::Stop::reached, tcpip::Storage::readInt(), tcpip::Storage::readString(), TraCIServer::readTypeCheckingByte(), TraCIServer::readTypeCheckingColor(), TraCIServer::readTypeCheckingDouble(), TraCIServer::readTypeCheckingInt(), TraCIServer::readTypeCheckingString(), TraCIServer::readTypeCheckingStringList(), tcpip::Storage::readUnsignedByte(), RGBColor::red(), REMOVE, REMOVE_ARRIVED, REMOVE_PARKING, REMOVE_TELEPORT, REMOVE_TELEPORT_ARRIVED, REMOVE_VAPORIZED, MSEdgeWeightsStorage::removeEffort(), MSEdgeWeightsStorage::removeTravelTime(), MSLane::removeVehicle(), MSVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), MSVehicle::replaceVehicleType(), MSBaseVehicle::reroute(), RTYPE_ERR, RTYPE_OK, MSVehicleControl::scheduleVehicleRemoval(), RGBColor::set(), MSBaseVehicle::setChosenSpeedFactor(), MSVehicle::Influencer::setConsiderMaxAcceleration(), MSVehicle::Influencer::setConsiderMaxDeceleration(), MSVehicle::Influencer::setConsiderSafeVelocity(), MSVehicle::Influencer::setEmergencyBrakeRedLight(), MSVehicle::Influencer::setLaneChangeMode(), MSVehicle::Influencer::setLaneTimeLine(), SUMOVehicleParameter::setParameter, MSVehicle::Influencer::setRespectJunctionPriority(), MSVehicle::Influencer::setSpeedTimeLine(), MSVehicle::setTentativeLaneAndPosition(), TraCIServerAPI_VehicleType::setVariable(), TraCIServer::setVTDControlled(), MSVehicle::Stop::startPos, STEPS2TIME, MSBaseVehicle::succEdge(), SUMOReal, SUMOTime_MAX, MSVehicle::switchOffSignal(), MSVehicle::switchOnSignal(), toHex(), toString(), SUMOVehicleParameter::toTaz, TYPE_COMPOUND, VAR_ACCEL, VAR_COLOR, VAR_DECEL, VAR_EDGE_EFFORT, VAR_EDGE_TRAVELTIME, VAR_EMISSIONCLASS, VAR_HEIGHT, VAR_IMPERFECTION, VAR_LANECHANGE_MODE, VAR_LENGTH, VAR_MAXSPEED, VAR_MINGAP, VAR_MOVE_TO, VAR_MOVE_TO_VTD, VAR_PARAMETER, VAR_ROUTE, VAR_ROUTE_ID, VAR_SHAPECLASS, VAR_SIGNALS, VAR_SPEED, VAR_SPEED_FACTOR, VAR_SPEEDSETMODE, VAR_TAU, VAR_TYPE, VAR_VEHICLECLASS, VAR_WIDTH, VEHPARS_COLOR_SET, vtdMap(), vtdMap_matchingRoutePosition(), MSVehicle::willPass(), WRITE_MESSAGE, WRITE_WARNING, TraCIServer::writeErrorStatusCmd(), and TraCIServer::writeStatusCmd().

Referenced by TraCIServer::TraCIServer().

bool TraCIServerAPI_Vehicle::vtdMap ( const Position pos,
SUMOReal  maxRouteDistance,
const std::string &  origID,
const SUMOReal  angle,
MSVehicle v,
TraCIServer server,
SUMOReal bestDistance,
MSLane **  lane,
SUMOReal lanePos,
int &  routeOffset,
ConstMSEdgeVector edges 
)
staticprivate
bool TraCIServerAPI_Vehicle::vtdMap_matchingRoutePosition ( const Position pos,
const std::string &  origID,
MSVehicle v,
SUMOReal bestDistance,
MSLane **  lane,
SUMOReal lanePos,
int &  routeOffset,
ConstMSEdgeVector edges 
)
staticprivate

Field Documentation

std::map< std::string, std::vector< MSLane * > > TraCIServerAPI_Vehicle::gVTDMap
staticprivate

Definition at line 95 of file TraCIServerAPI_Vehicle.h.

Referenced by getOrBuildVTDMap().


The documentation for this class was generated from the following files: