Eclipse SUMO - Simulation of Urban MObility
MSFCDExport Class Reference

Realises dumping FCD Data. More...

#include <MSFCDExport.h>

Static Public Member Functions

static void write (OutputDevice &of, SUMOTime timestep, bool elevation)
 Writes the position and the angle of each vehicle into the given device. More...
 

Private Member Functions

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

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 *e, MSTransportable *p, const SUMOVehicle *v, bool filter, bool shapeFilter, bool inRadius, SumoXMLTag tag, bool useGeo, bool elevation, SumoXMLAttrMask mask)
 write transportable More...
 

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 218 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 213 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,
SUMOTime  timestep,
bool  elevation 
)
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]elevationWhether elevation data shall be written
Exceptions
IOErrorIf an error on writing occurs (!!! not yet implemented)

Definition at line 50 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(), OptionsCont::getBool(), MSNet::getContainerControl(), SUMOVehicle::getContainers(), MSEdge::getDistanceAt(), MSRoute::getDistanceBetween(), MSBaseVehicle::getEdge(), MSLane::getEdge(), SUMOTrafficObject::getEdge(), MSNet::getEdgeControl(), MSDevice_FCD::getEdgeFilter(), MSEdgeControl::getEdges(), GeoConvHelper::getFinal(), OptionsCont::getFloat(), MSVehicleType::getID(), Named::getID(), MSNet::getInstance(), MSVehicle::getLane(), SUMOTrafficObject::getLane(), MSVehicle::getLaneChangeModel(), MSEdge::getLanes(), SUMOVehicle::getLateralPositionOnLane(), MSVehicle::getLeader(), MSVehicleType::getMinGap(), SUMOVehicle::getOdometer(), OptionsCont::getOptions(), MSNet::getPersonControl(), SUMOVehicle::getPersons(), SUMOTrafficObject::getPosition(), SUMOTrafficObject::getPositionOnLane(), MSBaseVehicle::getPrefixedParameter(), MSBaseVehicle::getRoute(), MSBaseVehicle::getRoutePosition(), MSVehicle::getSignals(), SUMOTrafficObject::getSlope(), SUMOTrafficObject::getSpeed(), MSAbstractLaneChangeModel::getSpeedLat(), MSBaseVehicle::getStopArrivalDelay(), OptionsCont::getString(), OptionsCont::getStringVector(), MSNet::getVehicleControl(), MSBaseVehicle::getVehicleType(), SUMOTrafficObject::getVehicleType(), MSDevice_FCD::getWrittenAttributes(), gPrecision, gPrecisionGeo, MSGlobals::gSublane, MSNet::hasContainers(), hasOwnOutput(), MSNet::hasPersons(), MSDevice_FCD::hasShapeFilter(), MSTransportableControl::hasTransportables(), INVALID_DOUBLE, MSLane::isInternal(), OptionsCont::isSet(), isVisible(), MSVehicleControl::loadedVehBegin(), MSVehicleControl::loadedVehEnd(), GeomHelper::naviDegree(), OutputDevice::openTag(), OutputDevice::setPrecision(), string2time(), SUMO_ATTR_ACCELERATION, SUMO_ATTR_ACCELERATION_LAT, SUMO_ATTR_ANGLE, SUMO_ATTR_ARRIVALDELAY, SUMO_ATTR_DISTANCE, SUMO_ATTR_EDGE, 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_SIGNALS, SUMO_ATTR_SLOPE, SUMO_ATTR_SPEED, SUMO_ATTR_SPEED_LAT, SUMO_ATTR_TIME, SUMO_ATTR_TYPE, SUMO_ATTR_X, SUMO_ATTR_Y, SUMO_ATTR_Z, SUMO_TAG_CONTAINER, SUMO_TAG_PERSON, SUMO_TAG_VEHICLE, time2string(), toString(), OutputDevice::useAttribute(), OutputDevice::writeAttr(), OutputDevice::writeOptionalAttr(), 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 e,
MSTransportable p,
const SUMOVehicle v,
bool  filter,
bool  shapeFilter,
bool  inRadius,
SumoXMLTag  tag,
bool  useGeo,
bool  elevation,
SumoXMLAttrMask  mask 
)
staticprivate

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