Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
MSFCDExport Class Reference

Realises dumping FCD Data. More...

#include <MSFCDExport.h>

Static Public Member Functions

static void write (OutputDevice &of, const SUMOTime timestep, const SumoXMLTag tag=SUMO_TAG_NOTHING)
 Writes the position and the angle of each vehicle into the given device.
 

Private Member Functions

 MSFCDExport (const MSFCDExport &)
 Invalidated copy constructor.
 
MSFCDExportoperator= (const MSFCDExport &)
 Invalidated assignment operator.
 

Static Private Member Functions

static bool hasOwnOutput (const MSTransportable *p, bool filter, bool shapeFilter, bool isInRadius=false)
 
static bool hasOwnOutput (const SUMOVehicle *veh, bool filter, bool shapeFilter, bool isInRadius=false)
 
static bool isVisible (const SUMOVehicle *veh)
 
static void writeTransportable (OutputDevice &of, const MSEdge *const e, const MSTransportable *const p, const SUMOVehicle *const v, const bool filter, const bool shapeFilter, const bool inRadius, const SumoXMLTag tag, const bool useGeo, const SumoXMLAttrMask mask)
 write transportable
 

Detailed Description

Realises dumping FCD Data.

The class offers a static method, which writes Position of each vehicle of the network into the given OutputDevice.

Todo:
consider error-handling on write (using IOError)

Definition at line 47 of file MSFCDExport.h.

Constructor & Destructor Documentation

◆ MSFCDExport()

MSFCDExport::MSFCDExport ( const MSFCDExport )
private

Invalidated copy constructor.

Member Function Documentation

◆ hasOwnOutput() [1/2]

bool MSFCDExport::hasOwnOutput ( const MSTransportable p,
bool  filter,
bool  shapeFilter,
bool  isInRadius = false 
)
staticprivate

◆ hasOwnOutput() [2/2]

bool MSFCDExport::hasOwnOutput ( const SUMOVehicle veh,
bool  filter,
bool  shapeFilter,
bool  isInRadius = false 
)
staticprivate

Definition at line 261 of file MSFCDExport.cpp.

References SUMOTrafficObject::getDevice(), SUMOTrafficObject::getEdge(), MSDevice_FCD::getEdgeFilter(), and MSDevice_FCD::shapeFilter().

Referenced by write(), and writeTransportable().

Here is the caller graph for this function:

◆ isVisible()

bool MSFCDExport::isVisible ( const SUMOVehicle veh)
staticprivate

Definition at line 255 of file MSFCDExport.cpp.

References SUMOVehicle::isOnRoad(), SUMOVehicle::isParking(), and SUMOVehicle::isRemoteControlled().

Referenced by write().

Here is the caller graph for this function:

◆ operator=()

MSFCDExport & MSFCDExport::operator= ( const MSFCDExport )
private

Invalidated assignment operator.

◆ write()

void MSFCDExport::write ( OutputDevice of,
const SUMOTime  timestep,
const SumoXMLTag  tag = SUMO_TAG_NOTHING 
)
static

Writes the position and the angle of each vehicle into the given device.

Opens the current time step and export the values vehicle id, position and angle

Parameters
[in]ofThe output device to use
[in]timestepThe current time step
[in]tagWhich tags to write
Exceptions
IOErrorIf an error on writing occurs (!!! not yet implemented)

Definition at line 52 of file MSFCDExport.cpp.

References GeoConvHelper::cartesian2geo(), OutputDevice::closeTag(), libsumo::CMD_GET_PERSON_VARIABLE, libsumo::CMD_GET_VEHICLE_VARIABLE, libsumo::Helper::collectObjectsInRange(), StringUtils::escapeXML(), MSVehicle::getAcceleration(), MSAbstractLaneChangeModel::getAccelerationLat(), SUMOVehicle::getAngle(), MSDevice_FCD::getBegin(), MEVehicle::getBlockTime(), MEVehicle::getBlockTimeSeconds(), MSNet::getContainerControl(), SUMOVehicle::getContainers(), MSEdge::getDistanceAt(), MSRoute::getDistanceBetween(), MSBaseVehicle::getEdge(), MSLane::getEdge(), SUMOTrafficObject::getEdge(), MSNet::getEdgeControl(), MSDevice_FCD::getEdgeFilter(), MSEdgeControl::getEdges(), MEVehicle::getEventTimeSeconds(), GeoConvHelper::getFinal(), MSVehicleType::getID(), Named::getID(), MSNet::getInstance(), MSVehicle::getLane(), SUMOTrafficObject::getLane(), MSVehicle::getLaneChangeModel(), MSEdge::getLanes(), MEVehicle::getLastEntryTimeSeconds(), SUMOVehicle::getLateralPositionOnLane(), MSVehicle::getLeader(), MSDevice_FCD::getMaxLeaderDistance(), MSVehicleType::getMinGap(), SUMOVehicle::getOdometer(), MSDevice_FCD::getParamsToWrite(), MSDevice_FCD::getPeriod(), MSNet::getPersonControl(), SUMOVehicle::getPersons(), SUMOTrafficObject::getPosition(), SUMOTrafficObject::getPositionOnLane(), MEVehicle::getQueIndex(), MSDevice_FCD::getRadius(), MSBaseVehicle::getRoute(), MSBaseVehicle::getRoutePosition(), MEVehicle::getSegmentIndex(), MSVehicle::getSignals(), SUMOTrafficObject::getSlope(), SUMOTrafficObject::getSpeed(), MSAbstractLaneChangeModel::getSpeedLat(), MSNet::getVehicleControl(), MSBaseVehicle::getVehicleType(), SUMOTrafficObject::getVehicleType(), MSDevice_FCD::getWrittenAttributes(), gPrecision, gPrecisionGeo, MSGlobals::gUseMesoSim, MSNet::hasContainers(), hasOwnOutput(), MSNet::hasPersons(), MSDevice_FCD::hasShapeFilter(), MSTransportableControl::hasTransportables(), MSDevice_FCD::initOnce(), INVALID_DOUBLE, MSLane::isInternal(), isVisible(), MSVehicleControl::loadedVehBegin(), MSVehicleControl::loadedVehEnd(), GeomHelper::naviDegree(), OutputDevice::openTag(), OutputDevice::setPrecision(), SUMO_ATTR_ACCELERATION, SUMO_ATTR_ACCELERATION_LAT, SUMO_ATTR_ANGLE, SUMO_ATTR_ARRIVALDELAY, SUMO_ATTR_BLOCKTIME, SUMO_ATTR_DISTANCE, SUMO_ATTR_EDGE, SUMO_ATTR_ENTRYTIME, SUMO_ATTR_EVENTTIME, SUMO_ATTR_ID, SUMO_ATTR_LANE, SUMO_ATTR_LEADER_GAP, SUMO_ATTR_LEADER_ID, SUMO_ATTR_LEADER_SPEED, SUMO_ATTR_ODOMETER, SUMO_ATTR_POSITION, SUMO_ATTR_POSITION_LAT, SUMO_ATTR_QUEUE, SUMO_ATTR_SEGMENT, SUMO_ATTR_SIGNALS, SUMO_ATTR_SLOPE, SUMO_ATTR_SPEED, SUMO_ATTR_SPEED_LAT, SUMO_ATTR_TAG, SUMO_ATTR_TIME, SUMO_ATTR_TYPE, SUMO_ATTR_X, SUMO_ATTR_Y, SUMO_ATTR_Z, SUMO_TAG_CONTAINER, SUMO_TAG_NOTHING, SUMO_TAG_PERSON, SUMO_TAG_VEHICLE, SUMOTime_MAX, toString(), MSDevice_FCD::useGeo(), OutputDevice::writeAttr(), MSEmissionExport::writeEmissions(), OutputDevice::writeFuncAttr(), OutputDevice::writeOptionalAttr(), OutputDevice::writeTime(), writeTransportable(), Position::x(), Position::y(), and Position::z().

Referenced by MSNet::writeOutput().

Here is the caller graph for this function:

◆ writeTransportable()

void MSFCDExport::writeTransportable ( OutputDevice of,
const MSEdge *const  e,
const MSTransportable *const  p,
const SUMOVehicle *const  v,
const bool  filter,
const bool  shapeFilter,
const bool  inRadius,
const SumoXMLTag  tag,
const bool  useGeo,
const SumoXMLAttrMask  mask 
)
staticprivate

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