SUMO - Simulation of Urban MObility
|
Changes the speed allowed on a set of lanes. More...
#include <MSLaneSpeedTrigger.h>
Public Member Functions | |
void | characters (const XMLCh *const chars, const XERCES3_SIZE_t length) |
The inherited method called when characters occured. | |
void | endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname) |
The inherited method called when a tag is being closed. | |
SUMOTime | execute (SUMOTime currentTime) |
Executes a switch command. | |
SUMOReal | getCurrentSpeed () const |
Returns the current speed. | |
SUMOReal | getDefaultSpeed () const |
const std::string & | getFileName () const |
returns the current file name | |
const std::string & | getID () const |
Returns the id. | |
SUMOReal | getLoadedSpeed () |
MSLaneSpeedTrigger (const std::string &id, const std::vector< MSLane * > &destLanes, const std::string &file) | |
Constructor. | |
SUMOTime | processCommand (bool move2next, SUMOTime currentTime) |
void | registerParent (const int tag, GenericSAXHandler *handler) |
Assigning a parent handler which is enabled when the specified tag is closed. | |
void | setFileName (const std::string &name) |
Sets the current file name. | |
void | setID (const std::string &newID) |
resets the id | |
void | setOverriding (bool val) |
void | setOverridingValue (SUMOReal val) |
void | startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const Attributes &attrs) |
The inherited method called when a new tag opens. | |
virtual | ~MSLaneSpeedTrigger () |
Destructor. | |
SAX ErrorHandler callbacks | |
void | warning (const SAXParseException &exception) |
Handler for XML-warnings. | |
void | error (const SAXParseException &exception) |
Handler for XML-errors. | |
void | fatalError (const SAXParseException &exception) |
Handler for XML-errors. |
Protected Member Functions | |
std::string | buildErrorMessage (const SAXParseException &exception) |
Builds an error message. | |
virtual void | myCharacters (int element, const std::string &chars) |
Callback method for characters to implement by derived classes. | |
inherited from GenericSAXHandler | |
virtual void | myStartElement (int element, const SUMOSAXAttributes &attrs) |
Called on the opening of a tag;. | |
virtual void | myEndElement (int element) |
Called on the closing of a tag;. |
Protected Attributes | |
bool | myAmOverriding |
The information whether the read speed shall be overridden. | |
std::vector< std::pair < SUMOTime, SUMOReal > >::iterator | myCurrentEntry |
SUMOReal | myCurrentSpeed |
SUMOReal | myDefaultSpeed |
The original speed allowed on the lanes. | |
std::vector< MSLane * > | myDestLanes |
std::string | myID |
The name of the object. | |
std::vector< std::pair < SUMOTime, SUMOReal > > | myLoadedSpeeds |
SUMOReal | mySpeedOverrideValue |
The speed to use if overriding the read speed. |
Private Member Functions | |
void | init () |
MSLaneSpeedTrigger (const MSLaneSpeedTrigger &) | |
Invalidated copy constructor. | |
MSLaneSpeedTrigger & | operator= (const MSLaneSpeedTrigger &) |
Invalidated assignment operator. |
Private Attributes | |
bool | myDidInit |
The information whether init was called. |
Changes the speed allowed on a set of lanes.
This trigger reads the next maximum velocity of the lane he is responsible for from a file and sets it. Lanes with variable speeds are so possible.
Definition at line 61 of file MSLaneSpeedTrigger.h.
MSLaneSpeedTrigger::MSLaneSpeedTrigger | ( | const std::string & | id, |
const std::vector< MSLane * > & | destLanes, | ||
const std::string & | file | ||
) |
Constructor.
[in] | id | The id of the lane speed trigger |
[in] | net | The net the lane speed trigger belongs to |
[in] | destLanes | List of lanes affected by this speed trigger |
[in] | file | Name of the file to read the speeds to set from |
Definition at line 62 of file MSLaneSpeedTrigger.cpp.
References init(), myCurrentSpeed, myDidInit, and XMLSubSys::runParser().
|
virtual |
Destructor.
Definition at line 100 of file MSLaneSpeedTrigger.cpp.
|
private |
Invalidated copy constructor.
|
protectedinherited |
Builds an error message.
The error message includes the file name and the line/column information as supported by the given SAXParseException
[in] | exception | The name of the currently processed file |
Definition at line 193 of file GenericSAXHandler.cpp.
References GenericSAXHandler::getFileName().
Referenced by GenericSAXHandler::error(), GenericSAXHandler::fatalError(), and GenericSAXHandler::warning().
|
inherited |
The inherited method called when characters occured.
The retrieved characters are converted into a string and appended into a private buffer. They are reported as soon as the element ends.
recheck/describe what happens with characters when a new element is opened
describe characters processing in the class' head
Definition at line 176 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myCharactersVector.
|
inherited |
The inherited method called when a tag is being closed.
This method calls the user-implemented methods myCharacters with the previously collected and converted characters.
Then, myEndElement is called, supplying it the qname converted to its enum- and string-representations.
recheck/describe encoding of the string-representation
do not generate and report the string-representation
Definition at line 126 of file GenericSAXHandler.cpp.
References GenericSAXHandler::convertTag(), GenericSAXHandler::myCharacters(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myEndElement(), GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, XMLSubSys::setHandler(), SUMO_TAG_INCLUDE, and SUMO_TAG_NOTHING.
|
inherited |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
[in] | exception | The occured exception to process |
ProcessError | On any call |
Definition at line 212 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
Referenced by NLHandler::getLanesFromIndices().
Executes a switch command.
Calls processCommand()
[in] | currentTime | The current simulation time |
Implements Command.
Definition at line 104 of file MSLaneSpeedTrigger.cpp.
References processCommand().
Referenced by init().
|
inherited |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
ProcessError | On any call |
[in] | exception | The occured exception to process |
Definition at line 218 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
SUMOReal MSLaneSpeedTrigger::getCurrentSpeed | ( | ) | const |
Returns the current speed.
Definition at line 211 of file MSLaneSpeedTrigger.cpp.
References MSNet::getCurrentTimeStep(), MSNet::getInstance(), myAmOverriding, myCurrentEntry, myDefaultSpeed, myLoadedSpeeds, and mySpeedOverrideValue.
Referenced by GUILaneSpeedTrigger::drawGL(), GUILaneSpeedTrigger::getParameterWindow(), and processCommand().
SUMOReal MSLaneSpeedTrigger::getDefaultSpeed | ( | ) | const |
Definition at line 181 of file MSLaneSpeedTrigger.cpp.
References myDefaultSpeed.
|
inherited |
returns the current file name
Definition at line 86 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NLHandler::addE1Detector(), NLHandler::addE2Detector(), NLHandler::addEdgeLaneMeanData(), NLHandler::addInstantE1Detector(), NLHandler::addRouteProbeDetector(), NLHandler::addVTypeProbeDetector(), NLHandler::beginE3Detector(), GenericSAXHandler::buildErrorMessage(), MSRouteLoader::init(), PCNetProjectionLoader::loadIfSet(), NILoader::loadXMLType(), MSTriggeredXMLReader::myInit(), GUISettingsHandler::myStartElement(), RODFDetectorHandler::myStartElement(), NLHandler::myStartElement(), NIImporter_OpenDrive::myStartElement(), RORDGenerator_ODAmounts::RORDGenerator_ODAmounts(), ROTypedXMLRoutesLoader::ROTypedXMLRoutesLoader(), XMLSubSys::runParser(), and GenericSAXHandler::startElement().
|
inlineinherited |
Returns the id.
Reimplemented in MS_E2_ZS_CollectorOverLanes.
Definition at line 61 of file Named.h.
References Named::myID.
Referenced by MSDetectorControl::add(), ShapeContainer::add(), RORouteDef_Alternatives::addAlternative(), MSNet::addBusStop(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), NIImporter_OpenDrive::addE2EConnectionsSecure(), RONet::addNode(), NIImporter_SUMO::addPhase(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), MSRouteHandler::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), NIVisumTL::build(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), NBEdge::buildInnerEdges(), NIVissimEdge::buildNBEdge(), NBNodeCont::buildOffRamp(), NBNodeCont::buildOnRamp(), ODDistrictHandler::closeDistrict(), NBTrafficLightDefinition::collectEdges(), NBOwnTLDef::collectLinks(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBNode::computeNodeShape(), NBTrafficLightLogicCont::computeSingleLogic(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NBEdge::connections_sorter(), MSLane::detectCollisions(), NIVissimDistrictConnection::dict_BuildDistricts(), MSE3Collector::enter(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), MSNet::getBusStopID(), NIImporter_VISUM::getNamedEdgeContinuating(), NLTriggerBuilder::getPosition(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBEdgeCont::ignoreFilterMatch(), MSActuatedTrafficLightLogic::init(), MSAgentbasedTrafficLightLogic::init(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), NIImporter_OpenDrive::loadNetwork(), MSLane::moveCritical(), MSVehicle::MSVehicle(), RORDLoader_SUMOBase::myCharacters(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), NIXMLTrafficLightsHandler::myEndElement(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_Tripinfo::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBNode::nodes_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(), NBLoadedTLDef::SignalGroup::patchTYellow(), RORouteDef_Complete::preComputeCurrentRoute(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_Vehicle::processGet(), NWWriter_SUMO::prohibitionConnection(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBEdgeCont::rename(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), NBNodeCont::setAsTLControlled(), NBEdge::setControllingTLInformation(), MSLane::setCritical(), NIXMLEdgesHandler::setNodes(), NBOwnTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), RORDLoader_SUMOBase::startRoute(), NBEdge::startShapeAt(), NIXMLConnectionsHandler::validateLaneInfo(), MSInstantInductLoop::write(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeInternalConnections(), NWWriter_SUMO::writeJunction(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), MSInductLoop::writeTypedXMLOutput(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().
SUMOReal MSLaneSpeedTrigger::getLoadedSpeed | ( | ) |
Definition at line 201 of file MSLaneSpeedTrigger.cpp.
References myCurrentEntry, and myLoadedSpeeds.
|
private |
Definition at line 79 of file MSLaneSpeedTrigger.cpp.
References MSEventControl::addEvent(), execute(), MSNet::getBeginOfTimestepEvents(), MSNet::getCurrentTimeStep(), MSNet::getInstance(), myCurrentEntry, myCurrentSpeed, myDidInit, myLoadedSpeeds, MSEventControl::NO_CHANGE, and processCommand().
Referenced by MSLaneSpeedTrigger(), and myEndElement().
|
protectedvirtualinherited |
Callback method for characters to implement by derived classes.
Called by "endElement" (see there).
[in] | element | The opened element, given as a int |
[in] | chars | The complete embedded character string ProcessError These method may throw a ProcessError if something fails |
Reimplemented in NIImporter_OpenDrive, NIImporter_SUMO, PCNetProjectionLoader, NIImporter_ITSUMO::Handler, PCLoaderXML, RORDLoader_SUMOBase, and ROJTRTurnDefLoader.
Definition at line 228 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::endElement().
|
protectedvirtual |
Called on the closing of a tag;.
[in] | element | ID of the currently closed element |
ProcessError | If something fails |
Reimplemented from GenericSAXHandler.
Definition at line 173 of file MSLaneSpeedTrigger.cpp.
References init(), myDidInit, and SUMO_TAG_VSS.
|
protectedvirtual |
Called on the opening of a tag;.
[in] | element | ID of the currently opened element |
[in] | attrs | Attributes within the currently opened element |
ProcessError | If something fails |
Reimplemented from GenericSAXHandler.
Definition at line 143 of file MSLaneSpeedTrigger.cpp.
References Named::getID(), SUMOSAXAttributes::getOptSUMORealReporting(), SUMOSAXAttributes::getSUMOTimeReporting(), myLoadedSpeeds, SUMO_ATTR_SPEED, SUMO_ATTR_TIME, SUMO_TAG_STEP, SUMOReal, time2string(), WRITE_ERROR, and WRITE_WARNING.
|
private |
Invalidated assignment operator.
Definition at line 110 of file MSLaneSpeedTrigger.cpp.
References getCurrentSpeed(), MSGlobals::gUseMesoSim, myCurrentEntry, myDestLanes, myLoadedSpeeds, SUMOReal, and UNUSED_PARAMETER.
Referenced by execute(), init(), setOverriding(), and setOverridingValue().
|
inherited |
Assigning a parent handler which is enabled when the specified tag is closed.
Definition at line 168 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, and XMLSubSys::setHandler().
Referenced by NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), and NLTriggerBuilder::parseAndBuildRerouter().
|
inherited |
Sets the current file name.
[in] | name | The name of the currently processed file |
Definition at line 80 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NIImporter_SUMO::_loadNetwork(), GUISettingsHandler::GUISettingsHandler(), AGActivityGen::importInfoCity(), NIImporter_OpenStreetMap::load(), PCNetProjectionLoader::loadIfSet(), loadNet(), ROLoader::loadNet(), NIImporter_ITSUMO::loadNetwork(), NIImporter_MATSim::loadNetwork(), NIImporter_OpenDrive::loadNetwork(), NILoader::loadXMLType(), and XMLSubSys::runParser().
|
inlineinherited |
resets the id
Definition at line 67 of file Named.h.
References Named::myID.
Referenced by NBNodeCont::rename(), and NBEdgeCont::rename().
void MSLaneSpeedTrigger::setOverriding | ( | bool | val | ) |
Definition at line 187 of file MSLaneSpeedTrigger.cpp.
References MSNet::getInstance(), myAmOverriding, and processCommand().
Referenced by GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onCmdChangeOption().
void MSLaneSpeedTrigger::setOverridingValue | ( | SUMOReal | val | ) |
Definition at line 194 of file MSLaneSpeedTrigger.cpp.
References MSNet::getInstance(), mySpeedOverrideValue, and processCommand().
Referenced by GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onCmdChangeOption(), GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onCmdPreDef(), and GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onCmdUserDef().
|
inherited |
The inherited method called when a new tag opens.
The method parses the supplied XMLCh*-qname using the internal name/enum-map to obtain the enum representation of the attribute name.
Then, "myStartElement" is called supplying the enumeration value, the string-representation of the name and the attributes.
recheck/describe encoding of the string-representation
do not generate and report the string-representation
Definition at line 105 of file GenericSAXHandler.cpp.
References GenericSAXHandler::convertTag(), FileHelpers::getConfigurationRelative(), GenericSAXHandler::getFileName(), SUMOSAXAttributesImpl_Xerces::getString(), FileHelpers::isAbsolute(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myPredefinedTags, GenericSAXHandler::myPredefinedTagsMML, GenericSAXHandler::myStartElement(), XMLSubSys::runParser(), SUMO_ATTR_HREF, and SUMO_TAG_INCLUDE.
|
inherited |
Handler for XML-warnings.
The message is built using buildErrorMessage and reported to the warning-instance of the MsgHandler.
[in] | exception | The occured exception to process |
Definition at line 206 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.
|
protected |
The information whether the read speed shall be overridden.
Definition at line 137 of file MSLaneSpeedTrigger.h.
Referenced by getCurrentSpeed(), and setOverriding().
Definition at line 143 of file MSLaneSpeedTrigger.h.
Referenced by getCurrentSpeed(), getLoadedSpeed(), init(), and processCommand().
|
protected |
the speed that will be set on the next call
Definition at line 131 of file MSLaneSpeedTrigger.h.
Referenced by init(), and MSLaneSpeedTrigger().
|
protected |
The original speed allowed on the lanes.
Definition at line 134 of file MSLaneSpeedTrigger.h.
Referenced by getCurrentSpeed(), getDefaultSpeed(), and GUILaneSpeedTrigger::GUILaneSpeedTrigger().
|
protected |
the lane the trigger is responsible for
Definition at line 128 of file MSLaneSpeedTrigger.h.
Referenced by processCommand().
|
private |
The information whether init was called.
Definition at line 157 of file MSLaneSpeedTrigger.h.
Referenced by init(), MSLaneSpeedTrigger(), and myEndElement().
|
protectedinherited |
The name of the object.
Definition at line 83 of file Named.h.
Referenced by NLDetectorBuilder::addE3Entry(), NLDetectorBuilder::addE3Exit(), NBEdge::computeEdgeShape(), Named::getID(), NBEdge::getLaneID(), NBEdge::init(), RORouteDef_OrigDest::preComputeCurrentRoute(), RORouteDef_Alternatives::preComputeCurrentRoute(), RORouteDef_Complete::preComputeCurrentRoute(), MSRoute::release(), Named::setID(), NBEdge::splitGeometry(), MSXMLRawOut::writeLane(), NBNode::writeLogic(), MSE3Collector::writeXMLOutput(), and MSMeanData::writeXMLOutput().
Definition at line 142 of file MSLaneSpeedTrigger.h.
Referenced by getCurrentSpeed(), getLoadedSpeed(), init(), myStartElement(), and processCommand().
|
protected |
The speed to use if overriding the read speed.
Definition at line 140 of file MSLaneSpeedTrigger.h.
Referenced by getCurrentSpeed(), GUILaneSpeedTrigger::GUILaneSpeedTrigger(), and setOverridingValue().