![]() |
SUMO - Simulation of Urban MObility
|
The gui-version of the MSInductLoop. More...
#include <GUIInductLoop.h>
Data Structures | |
class | MyWrapper |
A MSInductLoop-visualiser. More... | |
Public Types | |
enum | Notification { NOTIFICATION_DEPARTED, NOTIFICATION_JUNCTION, NOTIFICATION_SEGMENT, NOTIFICATION_LANE_CHANGE, NOTIFICATION_TELEPORT, NOTIFICATION_PARKING, NOTIFICATION_ARRIVED, NOTIFICATION_VAPORIZED, NOTIFICATION_TELEPORT_ARRIVED } |
Definition of a vehicle state. More... | |
Public Member Functions | |
void | addTo (const StoringVisitor &cont) const |
Adds this object to the given container. More... | |
virtual GUIDetectorWrapper * | buildDetectorGUIRepresentation () |
Returns this detector's visualisation-wrapper. More... | |
std::vector< VehicleData > | collectVehiclesOnDet (SUMOTime t) const |
Returns vehicle data for vehicles that have been on the detector starting at the given time. More... | |
const std::string & | getDescription () const |
const std::string & | getID () const |
Returns the id. More... | |
const MSLane * | getLane () const |
Returns the lane the reminder works on. More... | |
SUMOReal | getPosition () const |
Returns the position of the detector on the lane. More... | |
GUIInductLoop (const std::string &id, MSLane *const lane, SUMOReal position, bool splitByType) | |
Constructor. More... | |
virtual void | notifyMoveInternal (SUMOVehicle &veh, SUMOReal timeOnLane, SUMOReal speed) |
Internal notification about the vehicle moves. More... | |
void | reset () |
Resets all generated values to allow computation of next interval. More... | |
void | setDescription (const std::string &description) |
void | setID (const std::string &newID) |
resets the id More... | |
~GUIInductLoop () | |
Destructor. More... | |
Methods inherited from MSMoveReminder | |
bool | notifyEnter (SUMOVehicle &veh, Notification reason) |
Checks whether the reminder is activated by a vehicle entering the lane. More... | |
bool | notifyMove (SUMOVehicle &veh, SUMOReal oldPos, SUMOReal newPos, SUMOReal newSpeed) |
Checks whether the vehicle shall be counted and/or shall still touch this MSMoveReminder. More... | |
bool | notifyLeave (SUMOVehicle &veh, SUMOReal lastPos, MSMoveReminder::Notification reason) |
Dismisses the vehicle if it is on the detector due to a lane change. More... | |
Methods returning current values | |
SUMOReal | getCurrentSpeed () const |
Returns the speed of the vehicle on the detector. More... | |
SUMOReal | getCurrentLength () const |
Returns the length of the vehicle on the detector. More... | |
SUMOReal | getCurrentOccupancy () const |
Returns the current occupancy. More... | |
unsigned int | getCurrentPassedNumber () const |
Returns the number of vehicles that have passed the detector. More... | |
std::vector< std::string > | getCurrentVehicleIDs () const |
Returns the ids of vehicles that have passed the detector. More... | |
SUMOReal | getTimestepsSinceLastDetection () const |
Returns the time since the last vehicle left the detector. More... | |
Methods inherited from MSDetectorFileOutput. | |
void | writeXMLOutput (OutputDevice &dev, SUMOTime startTime, SUMOTime stopTime) |
Writes collected values into the given stream. More... | |
void | writeXMLDetectorProlog (OutputDevice &dev) const |
Opens the XML-output using "detector" as root element. More... | |
Interface methods, to be derived by subclasses | |
void | updateDetector (SUMOVehicle &veh, SUMOReal entryPos, SUMOReal leavePos, SUMOTime entryTime, SUMOTime currentTime, SUMOTime leaveTime, bool cleanUp) |
Virtual methods to implement by derived classes | |
virtual void | detectorUpdate (const SUMOTime step) |
Updates the detector (computes values) More... | |
Static Public Member Functions | |
template<class T > | |
static std::string | getIDSecure (const T *obj, const std::string &fallBack="NULL") |
get an identifier for Named-like object which may be Null More... | |
Data Fields | |
MFXMutex | myLock |
Mutex preventing parallel read/write access to internal MSInductLoop state. More... | |
Protected Types | |
typedef std::deque< VehicleData > | VehicleDataCont |
Type of myVehicleDataCont. More... | |
typedef std::map< SUMOVehicle *, SUMOReal > | VehicleMap |
Type of myVehiclesOnDet. More... | |
Protected Member Functions | |
void | removeFromVehicleUpdateValues (SUMOVehicle &veh) |
void | writeTypedXMLOutput (OutputDevice &dev, SUMOTime startTime, SUMOTime stopTime, const std::string &type, const VehicleDataCont &vdc, const VehicleMap &vm) |
Methods that add and remove vehicles from internal container | |
void | enterDetectorByMove (SUMOVehicle &veh, SUMOReal entryTimestep) |
Introduces a vehicle to the detector's map myVehiclesOnDet. More... | |
void | leaveDetectorByMove (SUMOVehicle &veh, SUMOReal leaveTimestep) |
Processes a vehicle that leaves the detector. More... | |
void | leaveDetectorByLaneChange (SUMOVehicle &veh, SUMOReal lastPos) |
Removes a vehicle from the detector's map myVehiclesOnDet. More... | |
Static Protected Member Functions | |
Function for summing up values | |
static SUMOReal | speedSum (SUMOReal sumSoFar, const MSInductLoop::VehicleData &data) |
Adds up VehicleData::speedM. More... | |
static SUMOReal | lengthSum (SUMOReal sumSoFar, const MSInductLoop::VehicleData &data) |
Adds up VehicleData::lengthM. More... | |
Protected Attributes | |
std::string | myDescription |
a description of this moveReminder More... | |
unsigned | myDismissedVehicleNumber |
The number of dismissed vehicles. More... | |
std::string | myID |
The name of the object. More... | |
MSLane *const | myLane |
Lane on which the reminder works. More... | |
SUMOReal | myLastLeaveTime |
Leave-time of the last vehicle detected [s]. More... | |
SUMOReal | myLastOccupancy |
Occupancy by the last vehicle detected. More... | |
VehicleDataCont | myLastVehicleDataCont |
Data of vehicles that have completely passed the detector in the last time interval. More... | |
const SUMOReal | myPosition |
Detector's position on lane [m]. More... | |
bool | mySplitByType |
Whether additional information split by vehicle classes shall be generated. More... | |
VehicleDataCont | myVehicleDataCont |
Data of vehicles that have completely passed the detector. More... | |
VehicleMap | myVehiclesOnDet |
Data for vehicles that have entered the detector (vehicle -> enter time) More... | |
The gui-version of the MSInductLoop.
Allows the building of a wrapper (also declared herein) which draws the detector on the gl-canvas. Uses a mutex to avoid parallel read/write operations. The mutex is only set within methods that change MSInductLoop-internal state and within "collectVehiclesOnDet". All other reading operations should be performed via the simulation loop only.
Definition at line 55 of file GUIInductLoop.h.
|
protectedinherited |
Type of myVehicleDataCont.
Definition at line 355 of file MSInductLoop.h.
|
protectedinherited |
Type of myVehiclesOnDet.
Definition at line 365 of file MSInductLoop.h.
|
inherited |
Definition of a vehicle state.
Definition at line 95 of file MSMoveReminder.h.
GUIInductLoop::GUIInductLoop | ( | const std::string & | id, |
MSLane *const | lane, | ||
SUMOReal | position, | ||
bool | splitByType | ||
) |
Constructor.
[in] | id | Unique id |
[in] | lane | Lane where detector woks on |
[in] | position | Position of the detector within the lane |
[in] | splitByType | Whether additional information split by vehicle classes shall be generated |
Definition at line 55 of file GUIInductLoop.cpp.
GUIInductLoop::~GUIInductLoop | ( | ) |
Destructor.
Definition at line 60 of file GUIInductLoop.cpp.
|
inlineinherited |
Adds this object to the given container.
Definition at line 126 of file Named.h.
References Named::StoringVisitor::add().
|
virtual |
Returns this detector's visualisation-wrapper.
Reimplemented from MSDetectorFileOutput.
Definition at line 64 of file GUIInductLoop.cpp.
References MSInductLoop::myPosition.
|
virtual |
Returns vehicle data for vehicles that have been on the detector starting at the given time.
This method uses a mutex to prevent parallel read/write access to the vehicle buffer
[in] | t | The time from which vehicles shall be counted |
Reimplemented from MSInductLoop.
Definition at line 96 of file GUIInductLoop.cpp.
References MSInductLoop::collectVehiclesOnDet(), and myLock.
|
inlinevirtualinherited |
Updates the detector (computes values)
[in] | step | The current time step |
Reimplemented in MSMeanData, MSE3Collector, MSMeanData_Harmonoise, and MSE2Collector.
Definition at line 113 of file MSDetectorFileOutput.h.
References UNUSED_PARAMETER.
|
protectedvirtual |
Introduces a vehicle to the detector's map myVehiclesOnDet.
Locks the internal mutex before calling MSInductLoop::enterDetectorByMove()
veh | The entering vehicle. |
entryTimestep | Timestep (not necessary integer) of entrance. |
Reimplemented from MSInductLoop.
Definition at line 77 of file GUIInductLoop.cpp.
References MSInductLoop::enterDetectorByMove(), and myLock.
|
inherited |
Returns the length of the vehicle on the detector.
If no vehicle is on the detector, -1 is returned, otherwise this vehicle's length.
Definition at line 154 of file MSInductLoop.cpp.
References MSInductLoop::collectVehiclesOnDet(), DELTA_T, MSNet::getInstance(), MSInductLoop::lengthSum(), and SUMOReal.
Referenced by GUIInductLoop::MyWrapper::getParameterWindow(), MSInductLoop::getPosition(), and TraCIServerAPI_InductionLoop::processGet().
|
inherited |
Returns the current occupancy.
If a vehicle is on the detector, 1 is returned. If a vehicle has passed the detector in this timestep, its occupancy value is returned. If no vehicle has passed, 0 is returned.
Definition at line 163 of file MSInductLoop.cpp.
References MSInductLoop::collectVehiclesOnDet(), DELTA_T, MSNet::getCurrentTimeStep(), MSNet::getInstance(), HAS_NOT_LEFT_DETECTOR, MAX2(), MIN2(), STEPS2TIME, SUMOReal, and TS.
Referenced by GUIInductLoop::MyWrapper::getParameterWindow(), MSInductLoop::getPosition(), and TraCIServerAPI_InductionLoop::processGet().
|
inherited |
Returns the number of vehicles that have passed the detector.
If a vehicle is on the detector, 1 is returned. If a vehicle has passed the detector in this timestep, 1 is returned. If no vehicle has passed, 0 is returned.
Definition at line 182 of file MSInductLoop.cpp.
References MSInductLoop::collectVehiclesOnDet(), DELTA_T, and MSNet::getInstance().
Referenced by GUIInductLoop::MyWrapper::getParameterWindow(), MSInductLoop::getPosition(), and TraCIServerAPI_InductionLoop::processGet().
|
inherited |
Returns the speed of the vehicle on the detector.
If no vehicle is on the detector, -1 is returned, otherwise this vehicle's current speed.
Definition at line 145 of file MSInductLoop.cpp.
References MSInductLoop::collectVehiclesOnDet(), DELTA_T, MSNet::getInstance(), MSInductLoop::speedSum(), and SUMOReal.
Referenced by GUIInductLoop::MyWrapper::getParameterWindow(), MSInductLoop::getPosition(), and TraCIServerAPI_InductionLoop::processGet().
|
inherited |
Returns the ids of vehicles that have passed the detector.
Definition at line 189 of file MSInductLoop.cpp.
References MSInductLoop::collectVehiclesOnDet(), DELTA_T, MSNet::getInstance(), and SUMOReal.
Referenced by MSInductLoop::getPosition(), and TraCIServerAPI_InductionLoop::processGet().
|
inlineinherited |
Definition at line 213 of file MSMoveReminder.h.
References MSMoveReminder::myDescription, and MSMoveReminder::removeFromVehicleUpdateValues().
Referenced by MSBaseVehicle::addStops().
|
inlineinherited |
Returns the id.
Definition at line 65 of file Named.h.
References Named::myID.
Referenced by NIImporter_SUMO::_loadNetwork(), MSVehicleTransfer::add(), TraCIServerAPI_Lane::StoringVisitor::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), IntermodalRouter< E, L, N, V >::addAccess(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSNet::addBusStop(), MSNet::addChargingStation(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSNet::addContainerStop(), NIXMLConnectionsHandler::addCrossing(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), NBEdge::addRestrictedLane(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), ROVehicle::addStop(), MSVehicle::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciBusOrContainerStop(), MSVehicle::addTraciStop(), AGActivityTripWriter::addTrip(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSContainer::MSContainerStage_Driving::beginEventOutput(), MSContainer::MSContainerStage_Waiting::beginEventOutput(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MS_E2_ZS_CollectorOverLanes::buildCollector(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), GNEConnector::buildIinternalLanes(), GNETLSEditor::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), NBEdge::checkGeometry(), MSVehicleTransfer::checkInsertions(), MSSwarmTrafficLightLogic::choosePolicy(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), NLDetectorBuilder::convUncontE2PosLength(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), GUINet::createTLWrapper(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), NIVissimDistrictConnection::dict_BuildDistricts(), MSContainer::MSContainerStage_Driving::endEventOutput(), MSContainer::MSContainerStage_Waiting::endEventOutput(), MSPerson::MSPersonStage_Driving::endEventOutput(), MSPerson::MSPersonStage_Waiting::endEventOutput(), MSE3Collector::enter(), METriggeredCalibrator::execute(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSTrafficLightLogic::SwitchCommand::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), TraCIServerAPI_Vehicle::findCloserLane(), NBRampsComputer::fulfillsRampConstraints(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSNet::getBusStopID(), MSNet::getChargingStationID(), NBEdge::getConnection(), MSNet::getContainerStopID(), NBEdge::getCrossingAngle(), GNEEdge::getDest(), RODFNet::getDetectorEdge(), MSMeanData::getEdgeID(), MSE2Collector::getEstimateQueueLength(), NBEdge::getFirstNonPedestrianLane(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), MSTLLogicControl::TLSLogicVariants::getLogicInstantiatingOff(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUIMEInductLoop::MyWrapper::getParameterWindow(), GUI_E2_ZS_Collector::MyWrapper::getParameterWindow(), GUIVehicle::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), GNEEdge::getSource(), MSVehicleControl::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBEdgeCont::guessSidewalks(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollision(), NBEdgeCont::ignoreFilterMatch(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), IntermodalNetwork< E, L, N, V >::IntermodalNetwork(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isDestination(), RODFNet::isFalseSource(), RODFNet::isSource(), MSSOTLTrafficLightLogic::isThresholdPassed(), NBNodeCont::joinJunctions(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), ODDistrictCont::makeDistricts(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), NBLoadedTLDef::myCompute(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSE2Collector::notifyMove(), GUIViewTraffic::onGamingClick(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSEdge::by_id_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_JE2013::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSRightOfWayJunction::postloadInit(), AGStreet::print(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Person::processGet(), TraCIServerAPI_ArealDetector::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processSet(), NIXMLNodesHandler::processTrafficLightDefinitions(), NWWriter_SUMO::prohibitionConnection(), MSPModel_Striping::PState::PState(), NBEdgeCont::recheckPostProcessConnections(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), NBNodeCont::removeIsolatedRoads(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBEdgeCont::rename(), GNENet::renameEdge(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), RONet::saveAndRemoveRoutesUntil(), MSBaseVehicle::saveState(), MSLane::saveState(), MSDevice_Battery::setActualBatteryCapacity(), MSDevice_Battery::setAirDragCoefficient(), NBNodeCont::setAsTLControlled(), MSChargingStation::setChrgPower(), MSDevice_Battery::setConstantPowerIntake(), NBEdge::setControllingTLInformation(), MSChargingStation::setEfficency(), MSDevice_Battery::setFrontSurfaceArea(), MSDevice_Battery::setInternalMomentOfInertia(), GNEJunction::setLogicValid(), MSDevice_Battery::setMass(), MSDevice_Battery::setMaximumBatteryCapacity(), NIXMLEdgesHandler::setNodes(), MSDevice_Battery::setPowerMax(), MSDevice_Battery::setPropulsionEfficiency(), MSDevice_Battery::setRadialDragCoefficient(), MSDevice_Battery::setRecuperationEfficiency(), MSLink::setRequestInformation(), MSDevice_Battery::setRollDragCoefficient(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), NBEdgeCont::splitAt(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), METriggeredCalibrator::tryEmit(), MSSOTLTrafficLightLogic::trySwitch(), MSSOTLTrafficLightLogic::updateCTS(), GNETLSEditor::updateDescription(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap(), MSPModel_Striping::PState::walk(), MSLCM_JE2013::wantsChange(), MSBatteryExport::write(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), NBSign::writeAsPOI(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeInternalConnections(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), MSInductLoop::writeTypedXMLOutput(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), SUMO::Polygon::writeXML(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().
|
inlinestaticinherited |
get an identifier for Named-like object which may be Null
Definition at line 58 of file Named.h.
Referenced by operator<<(), and toString().
|
inlineinherited |
Returns the lane the reminder works on.
Definition at line 89 of file MSMoveReminder.h.
References MSMoveReminder::myLane.
Referenced by MSDevice_Tripinfo::computeLengthAndDuration(), MSE2Collector::detectorUpdate(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUI_E2_ZS_Collector::MyWrapper::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), TraCIServerAPI_InductionLoop::getPosition(), TraCIServerAPI_InductionLoop::getTree(), GUIInstantInductLoop::MyWrapper::MyWrapper(), GUI_E2_ZS_Collector::MyWrapper::MyWrapper(), GUIInductLoop::MyWrapper::MyWrapper(), MSMeanData_Amitran::MSLaneMeanDataValues::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSMeanData::MeanDataValues::notifyMove(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_ArealDetector::processGet(), and MSMeanData::writeEdge().
|
inlineinherited |
Returns the position of the detector on the lane.
Definition at line 100 of file MSInductLoop.h.
References MSInductLoop::getCurrentLength(), MSInductLoop::getCurrentOccupancy(), MSInductLoop::getCurrentPassedNumber(), MSInductLoop::getCurrentSpeed(), MSInductLoop::getCurrentVehicleIDs(), MSInductLoop::getTimestepsSinceLastDetection(), MSInductLoop::myPosition, MSInductLoop::notifyEnter(), MSInductLoop::notifyLeave(), MSInductLoop::notifyMove(), SUMOReal, MSInductLoop::writeXMLDetectorProlog(), and MSInductLoop::writeXMLOutput().
Referenced by TraCIServerAPI_InductionLoop::getPosition(), TraCIServerAPI_InductionLoop::getTree(), and TraCIServerAPI_InductionLoop::processGet().
|
inherited |
Returns the time since the last vehicle left the detector.
Definition at line 200 of file MSInductLoop.cpp.
References MSNet::getInstance(), MSInductLoop::myLastLeaveTime, MSInductLoop::myVehiclesOnDet, and STEPS2TIME.
Referenced by MSActuatedTrafficLightLogic::gapControl(), GUIInductLoop::MyWrapper::getParameterWindow(), MSInductLoop::getPosition(), and TraCIServerAPI_InductionLoop::processGet().
|
protectedvirtual |
Removes a vehicle from the detector's map myVehiclesOnDet.
Locks the internal mutex before calling MSInductLoop::leaveDetectorByLaneChange()
veh | The leaving vehicle. |
lastPos | The last position of the leaving vehicle. |
Reimplemented from MSInductLoop.
Definition at line 89 of file GUIInductLoop.cpp.
References MSInductLoop::leaveDetectorByLaneChange(), and myLock.
|
protectedvirtual |
Processes a vehicle that leaves the detector.
Locks the internal mutex before calling MSInductLoop::leaveDetectorByMove()
veh | The leaving vehicle. |
leaveTimestep | Timestep (not necessary integer) of leaving. |
Reimplemented from MSInductLoop.
Definition at line 83 of file GUIInductLoop.cpp.
References MSInductLoop::leaveDetectorByMove(), and myLock.
|
inlinestaticprotectedinherited |
Adds up VehicleData::lengthM.
Definition at line 331 of file MSInductLoop.h.
References MSInductLoop::VehicleData::lengthM.
Referenced by MSInductLoop::getCurrentLength(), and MSInductLoop::writeTypedXMLOutput().
|
virtualinherited |
Checks whether the reminder is activated by a vehicle entering the lane.
Lane change means in this case that the vehicle changes to the lane the reminder is placed at.
[in] | veh | The entering vehicle. |
[in] | reason | how the vehicle enters the lane |
Reimplemented from MSMoveReminder.
Definition at line 86 of file MSInductLoop.cpp.
References MSNet::getInstance(), MSVehicleType::getLength(), SUMOVehicle::getPositionOnLane(), SUMOVehicle::getVehicleType(), MSInductLoop::myPosition, MSInductLoop::myVehiclesOnDet, MSMoveReminder::NOTIFICATION_DEPARTED, MSMoveReminder::NOTIFICATION_LANE_CHANGE, MSMoveReminder::NOTIFICATION_PARKING, MSMoveReminder::NOTIFICATION_TELEPORT, STEPS2TIME, and SUMOReal.
Referenced by MSInductLoop::getPosition().
|
virtualinherited |
Dismisses the vehicle if it is on the detector due to a lane change.
If the vehicle is on the detector, it will be dismissed by incrementing myDismissedVehicleNumber and removing this vehicle's entering time from myVehiclesOnDet.
[in] | veh | The leaving vehicle. |
[in] | lastPos | Position on the lane when leaving. |
[in] | isArrival | whether the vehicle arrived at its destination |
[in] | isLaneChange | whether the vehicle changed from the lane |
Reimplemented from MSMoveReminder.
Definition at line 135 of file MSInductLoop.cpp.
References MSInductLoop::leaveDetectorByLaneChange(), MSMoveReminder::NOTIFICATION_JUNCTION, and SUMOReal.
Referenced by MSInductLoop::getPosition().
|
virtualinherited |
Checks whether the vehicle shall be counted and/or shall still touch this MSMoveReminder.
As soon a vehicle enters the detector, its entry time is computed and stored in myVehiclesOnDet via enterDetectorByMove. If it passes the detector, the according leaving time is computed and stored, too, using leaveDetectorByMove.
[in] | veh | Vehicle that asks this remider. |
[in] | oldPos | Position before move. |
[in] | newPos | Position after move with newSpeed. |
[in] | newSpeed | Moving speed. |
Reimplemented from MSMoveReminder.
Definition at line 102 of file MSInductLoop.cpp.
References MSInductLoop::enterDetectorByMove(), MSNet::getInstance(), MSVehicleType::getLength(), SUMOVehicle::getVehicleType(), MSInductLoop::leaveDetectorByMove(), MSInductLoop::myPosition, MSInductLoop::myVehiclesOnDet, STEPS2TIME, and SUMOReal.
Referenced by MSInductLoop::getPosition().
|
inlinevirtualinherited |
Internal notification about the vehicle moves.
Indicator if the reminders is still active for the passed vehicle/parameters. If false, the vehicle will erase this reminder from it's reminder-container.
[in] | veh | Vehicle that asks this reminder. |
[in] | timeOnLane | time the vehicle spent on the lane. |
[in] | speed | Moving speed. |
Reimplemented in MSMeanData::MeanDataValueTracker, MSDevice_Tripinfo, MSMeanData_Net::MSLaneMeanDataValues, MSMeanData_Harmonoise::MSLaneMeanDataValues, MSMeanData_Amitran::MSLaneMeanDataValues, and MSMeanData_Emissions::MSLaneMeanDataValues.
Definition at line 201 of file MSMoveReminder.h.
References UNUSED_PARAMETER.
Referenced by MSMeanData::MeanDataValues::notifyMove(), and MSMoveReminder::updateDetector().
|
protectedinherited |
Definition at line 94 of file MSMoveReminder.cpp.
References MSMoveReminder::myLastVehicleUpdateValues.
Referenced by MSMoveReminder::getDescription(), MSMeanData_Net::MSLaneMeanDataValues::notifyLeave(), and MSMoveReminder::updateDetector().
|
virtual |
Resets all generated values to allow computation of next interval.
Locks the internal mutex before calling MSInductLoop::reset()
Reimplemented from MSInductLoop.
Definition at line 70 of file GUIInductLoop.cpp.
References myLock, and MSInductLoop::reset().
|
inlineinherited |
Definition at line 209 of file MSMoveReminder.h.
References MSMoveReminder::myDescription.
Referenced by MSMeanData::init(), MEInductLoop::MEInductLoop(), METriggeredCalibrator::METriggeredCalibrator(), and MSCalibrator::MSCalibrator().
|
inlineinherited |
resets the id
[in] | newID | The new id of this object |
Definition at line 73 of file Named.h.
References Named::myID.
Referenced by NBNodeCont::rename(), and NBEdgeCont::rename().
|
inlinestaticprotectedinherited |
Adds up VehicleData::speedM.
Definition at line 326 of file MSInductLoop.h.
References MSInductLoop::VehicleData::speedM.
Referenced by MSInductLoop::getCurrentSpeed(), and MSInductLoop::writeTypedXMLOutput().
|
inherited |
Definition at line 51 of file MSMoveReminder.cpp.
References MSMoveReminder::myLastVehicleUpdateValues, MSMoveReminder::notifyMoveInternal(), MSMoveReminder::removeFromVehicleUpdateValues(), STEPS2TIME, and SUMOReal.
Referenced by MSMoveReminder::notifyLeave(), and MEVehicle::updateDetectorForWriting().
|
protectedinherited |
Definition at line 249 of file MSInductLoop.cpp.
References StringUtils::escapeXML(), Named::getID(), MSInductLoop::lengthSum(), MAX2(), MIN2(), MSInductLoop::myDismissedVehicleNumber, MSInductLoop::speedSum(), STEPS2TIME, SUMOReal, and time2string().
Referenced by MSInductLoop::writeXMLOutput().
|
virtualinherited |
Opens the XML-output using "detector" as root element.
[in] | dev | The output device to write the root into |
IOError | If an error on writing occurs (!!! not yet implemented) |
Implements MSDetectorFileOutput.
Definition at line 210 of file MSInductLoop.cpp.
References OutputDevice::writeXMLHeader().
Referenced by MSInductLoop::getPosition().
|
virtualinherited |
Writes collected values into the given stream.
[in] | dev | The output device to write the data into |
[in] | startTime | First time step the data were gathered |
[in] | stopTime | Last time step the data were gathered |
IOError | If an error on writing occurs (!!! not yet implemented) |
Implements MSDetectorFileOutput.
Definition at line 216 of file MSInductLoop.cpp.
References MSInductLoop::mySplitByType, MSInductLoop::myVehicleDataCont, MSInductLoop::myVehiclesOnDet, MSInductLoop::reset(), and MSInductLoop::writeTypedXMLOutput().
Referenced by MSInductLoop::getPosition().
|
protectedinherited |
a description of this moveReminder
Definition at line 225 of file MSMoveReminder.h.
Referenced by MSMoveReminder::getDescription(), and MSMoveReminder::setDescription().
|
protectedinherited |
The number of dismissed vehicles.
Definition at line 351 of file MSInductLoop.h.
Referenced by MSInductLoop::leaveDetectorByLaneChange(), MSInductLoop::reset(), and MSInductLoop::writeTypedXMLOutput().
|
protectedinherited |
The name of the object.
Definition at line 133 of file Named.h.
Referenced by GUI_E2_ZS_CollectorOverLanes::buildCollector(), RODFDetector::buildDestinationDistribution(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), MSSOTLTrafficLightLogic::checkPhases(), NBNode::computeNodeShape(), METriggeredCalibrator::execute(), MSCalibrator::execute(), Named::getID(), NBEdge::getLaneID(), NBEdge::getLaneIDInsecure(), ROEdge::getStoredEffort(), ROEdge::getTravelTime(), MSActuatedTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSCalibrator::init(), NBEdge::init(), MSCalibrator::myStartElement(), MSMeanData::openInterval(), RORouteDef::preComputeCurrentRoute(), NBEdge::reinitNodes(), MSRoute::release(), Named::setID(), MSSOTLTrafficLightLogic::setToATargetPhase(), NBEdge::splitGeometry(), RODFDetector::writeEmitterDefinition(), MSXMLRawOut::writeLane(), NBNode::writeLogic(), RODFDetector::writeSingleSpeedTrigger(), MEInductLoop::writeXMLOutput(), MSCalibrator::writeXMLOutput(), and MSE3Collector::writeXMLOutput().
|
protectedinherited |
Lane on which the reminder works.
Definition at line 223 of file MSMoveReminder.h.
Referenced by MSE2Collector::detectorUpdate(), MSE2Collector::getEstimatedCurrentVehicleNumber(), MSE2Collector::getEstimateQueueLength(), MSMoveReminder::getLane(), MSE2Collector::MSE2Collector(), MSMoveReminder::MSMoveReminder(), MSE2Collector::notifyEnter(), MSE2Collector::notifyMove(), MSE2Collector::by_vehicle_position_sorter::operator()(), and MSMeanData::MeanDataValueTracker::reset().
|
protectedinherited |
Leave-time of the last vehicle detected [s].
Definition at line 345 of file MSInductLoop.h.
Referenced by MSInductLoop::getTimestepsSinceLastDetection(), and MSInductLoop::leaveDetectorByMove().
|
protectedinherited |
Occupancy by the last vehicle detected.
Definition at line 348 of file MSInductLoop.h.
Referenced by MSInductLoop::leaveDetectorByMove().
|
protectedinherited |
Data of vehicles that have completely passed the detector in the last time interval.
Definition at line 361 of file MSInductLoop.h.
Referenced by MSInductLoop::collectVehiclesOnDet(), and MSInductLoop::reset().
|
mutable |
Mutex preventing parallel read/write access to internal MSInductLoop state.
Definition at line 210 of file GUIInductLoop.h.
Referenced by collectVehiclesOnDet(), enterDetectorByMove(), leaveDetectorByLaneChange(), leaveDetectorByMove(), and reset().
|
protectedinherited |
Detector's position on lane [m].
Definition at line 339 of file MSInductLoop.h.
Referenced by buildDetectorGUIRepresentation(), MSInductLoop::getPosition(), MSInductLoop::leaveDetectorByLaneChange(), MSInductLoop::MSInductLoop(), MSInductLoop::notifyEnter(), and MSInductLoop::notifyMove().
|
protectedinherited |
Whether additional information split by vehicle classes shall be generated.
Definition at line 342 of file MSInductLoop.h.
Referenced by MSInductLoop::writeXMLOutput().
|
protectedinherited |
Data of vehicles that have completely passed the detector.
Definition at line 358 of file MSInductLoop.h.
Referenced by MSInductLoop::collectVehiclesOnDet(), MSInductLoop::leaveDetectorByMove(), MSInductLoop::reset(), and MSInductLoop::writeXMLOutput().
|
protectedinherited |
Data for vehicles that have entered the detector (vehicle -> enter time)
Definition at line 368 of file MSInductLoop.h.
Referenced by MSInductLoop::collectVehiclesOnDet(), MSInductLoop::enterDetectorByMove(), MSInductLoop::getTimestepsSinceLastDetection(), MSInductLoop::leaveDetectorByLaneChange(), MSInductLoop::leaveDetectorByMove(), MSInductLoop::notifyEnter(), MSInductLoop::notifyMove(), and MSInductLoop::writeXMLOutput().