Todo List

Class BinaryInputDevice
Recheck whether this class could be replaced by a "normal InputDevice"

Class BinaryInputDevice
Maybe some kind of a well-defined types should be used (so that they have a well-defined length)

Class BinaryInputDevice
Maybe the byte-order should be defined

Global BinaryInputDevice::operator>> (BinaryInputDevice &os, std::string &s)
Use either a buffer with a flexible size or report an error if the buffer is too small!

Class Command_SaveTLCoupledDet
Problem: The detector may not save the last state (on simulation end)

Class Command_SaveTLCoupledLaneDet
Problem: The detector may not save the last state (on simulation end)

Class Command_SaveTLSSwitches
Revalidate this - as tls are not seting the link information directly ater being switched, the computed information may be delayed

Class Command_SaveTLSSwitchStates
Revalidate this - as tls are not seting the link information directly ater being switched, the computed information may be delayed

Global Command_SaveTLSSwitchStates::execute (SUMOTime currentTime)
Here, a discrete even (on switch / program change) would be appropriate

Global GenericSAXHandler::GenericSAXHandler (Tag *tags, Attr *attrs, const std::string &file)
Why are both lists non-const and given as pointers?

Global GenericSAXHandler::characters (const XMLCh *const chars, const XERCES3_SIZE_t length)
recheck/describe what happens with characters when a new element is opened

Global GenericSAXHandler::characters (const XMLCh *const chars, const XERCES3_SIZE_t length)
describe characters processing in the class' head

Global GenericSAXHandler::convert (const std::string &name) const
recheck encoding

Global GenericSAXHandler::endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname)
recheck/describe encoding of the string-representation

Global GenericSAXHandler::endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname)
do not generate and report the string-representation

Global GenericSAXHandler::setFileName (const std::string &name)
Hmmm - this is as unsafe as having a direct access to the variable; recheck

Global GenericSAXHandler::startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const Attributes &attrs)
recheck/describe encoding of the string-representation

Global GenericSAXHandler::startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const Attributes &attrs)
do not generate and report the string-representation

Global GeoConvHelper::addProjectionOptions (OptionsCont &oc)
let the container be retrieved

Global GUI_E2_ZS_Collector::GUI_E2_ZS_Collector (const std::string &id, DetectorUsage usage, MSLane *const lane, SUMOReal startPos, SUMOReal detLength, SUMOTime haltingTimeThreshold, SUMOReal haltingSpeedThreshold, SUMOReal jamDistThreshold)
The lane should not be given as a pointer

Global MSDetectorFileOutput::reset ()
Reckeck/refactor

Global MS_E2_ZS_CollectorOverLanes::writeXMLDetectorProlog (OutputDevice &dev) const
What happens with the additional information if several detectors use the same output?
Exceptions:
IOError If an error on writing occurs (!!! not yet implemented)

Global MS_E2_ZS_CollectorOverLanes::extendTo (SUMOReal length)
Describe length's usage

Global MS_E2_ZS_CollectorOverLanes::getStartLaneID () const
Check whether this is needed

Global MS_E2_ZS_CollectorOverLanes::makeID (const std::string &baseID, size_t c, size_t r) const
Describe!

Global NLDetectorBuilder::buildMultiLaneE2Det (const std::string &id, DetectorUsage usage, MSLane *lane, SUMOReal pos, SUMOReal length, SUMOTime haltingTimeThreshold, MetersPerSecond haltingSpeedThreshold, SUMOReal jamDistThreshold)
Check whether this method is really needful

Global NLDetectorBuilder::buildSingleLaneE2Det (const std::string &id, DetectorUsage usage, MSLane *lane, SUMOReal pos, SUMOReal length, SUMOTime haltingTimeThreshold, MetersPerSecond haltingSpeedThreshold, SUMOReal jamDistThreshold)
Check whether this method is really needful

Class GUIDialog_Breakpoints
Use a LineReader instead of >> while reading

Global GUIDialog_GLChosenEditor::onCmdLoad (FXObject *, FXSelector, void *)
Recheck loading/saving of selections

Global GUIDialog_GLChosenEditor::onCmdSave (FXObject *, FXSelector, void *)
Recheck loading/saving of selections

Class GUIDialog_ViewSettings
Check whether saving/loading settings should be done via XML

Global MSEdge::leftLane (const MSLane *const lane) const
This method searches for the given in the container; probably, this could be done faster

Global MSEdge::rightLane (const MSLane *const lane) const
This method searches for the given in the container; probably, this could be done faster

Global MSEdge::closeBuilding ()
Has to be called after all edges were built and all connections were set...; Still, is not very nice

Global NLGeomShapeBuilder::getPointPosition (SUMOReal x, SUMOReal y, const std::string &laneID, SUMOReal posOnLane) const
No check whether the position on the lane is valid

Global NLGeomShapeBuilder::getPointPosition (SUMOReal x, SUMOReal y, const std::string &laneID, SUMOReal posOnLane) const
No friendly_pos is regarded

Global NLGeomShapeBuilder::getPointPosition (SUMOReal x, SUMOReal y, const std::string &laneID, SUMOReal posOnLane) const
Using defined INVALID_POSITION is not very pretty...

Global MSInductLoop::getCurrentOccupancy () const
recheck (especially if more than one vehicle has passed)

Global MSInductLoop::getCurrentPassedNumber () const
recheck (especially if more than one vehicle has passed)

Global MSInductLoop::getCurrentVehicleIDs () const
recheck (especially if more than one vehicle has passed)

Global MSLane::initialize (MSLinkCont *succs)
Why are succs not const?

Global MSInternalLane::setPassPosition (SUMOReal passPos)
!!! incomplete usage; check

Global MSNet::clearAll ()
Try to move all this to the destructor

Global MSNet::closeBuilding (MSEdgeControl *edges, MSJunctionControl *junctions, MSRouteLoaderControl *routeLoaders, MSTLLogicControl *tlc, std::vector< SUMOTime > stateDumpTimes, std::vector< std::string > stateDumpFiles)
Try to move all this to the constructor?

Global MSNet::closeSimulation (SUMOTime start)
What exceptions may occure?

Global MSNet::simulate (SUMOTime start, SUMOTime stop)
Recheck return value

Global MSNet::simulate (SUMOTime start, SUMOTime stop)
What exceptions may occure?

Global MSNet::simulationStep ()
Which exceptions may occur?

Global MSNet::writeOutput ()
Which exceptions may occur?

Global GUIParameterTableItem::GUIParameterTableItem (FXTable *table, unsigned pos, const std::string &name, bool dynamic, ValueSource< T > *src)
Consider using a reference to the table

Global GUIParameterTableItem::GUIParameterTableItem (FXTable *table, unsigned pos, const std::string &name, bool dynamic, ValueSource< T > *src)
Check whether the name should be stored in GUIParameterTableItemInterface

Global GUIParameterTableItem::GUIParameterTableItem (FXTable *table, unsigned pos, const std::string &name, bool dynamic, T value)
Consider using a reference to the table

Global GUIParameterTableItem::GUIParameterTableItem (FXTable *table, unsigned pos, const std::string &name, bool dynamic, T value)
Check whether the name should be stored in GUIParameterTableItemInterface

Global GUIParameterTableItem::GUIParameterTableItem (FXTable *table, unsigned pos, const std::string &name, bool dynamic, T value)
Should never be dynamic!?

Global GUIParameterTableItem::GUIParameterTableItem (FXTable *table, unsigned pos, const std::string &name, bool dynamic, std::string value)
Consider using a reference to the table

Global GUIParameterTableItem::GUIParameterTableItem (FXTable *table, unsigned pos, const std::string &name, bool dynamic, std::string value)
Check whether the name should be stored in GUIParameterTableItemInterface

Global GUIParameterTableItem::GUIParameterTableItem (FXTable *table, unsigned pos, const std::string &name, bool dynamic, std::string value)
Should never be dynamic!?

Global GUIParameterTableWindow::mkItem (const char *name, bool dynamic, SUMOTime value)
the dynamic-parameter is obsolete

Global GUIParameterTableWindow::mkItem (const char *name, bool dynamic, SUMOReal value)
the dynamic-parameter is obsolete

Global GUIParameterTableWindow::mkItem (const char *name, bool dynamic, unsigned value)
the dynamic-parameter is obsolete

Global GUIParameterTableWindow::mkItem (const char *name, bool dynamic, std::string value)
the dynamic-parameter is obsolete(?)

Global GUIParameterTableWindow::onTableDeselected (FXObject *, FXSelector, void *)
Recheck whether this is needed (to override FXTable-behaviour?)

Global GUIParameterTableWindow::onTableSelected (FXObject *, FXSelector, void *)
Recheck whether this is needed (to override FXTable-behaviour?)

Global GUISelectedStorage::load (int type, const std::string &filename)
Recheck: is this used(?)

Global GUISelectedStorage::load (int type, const std::string &filename)
Recheck usage of IOError

Global GUISelectedStorage::save (int type, const std::string &filename)
Recheck: is this used(?)

Global GUISelectedStorage::save (int type, const std::string &filename)
Recheck usage of IOError

Global GUISelectedStorage::SingleTypeSelections::load (const std::string &filename)
Recheck: is this used(?)

Global GUISelectedStorage::SingleTypeSelections::load (const std::string &filename)
Recheck usage of IOError

Global GUISelectedStorage::SingleTypeSelections::save (const std::string &filename)
Recheck: is this used(?)

Global GUISelectedStorage::SingleTypeSelections::save (const std::string &filename)
Recheck usage of IOError

Global GUISUMOViewParent::init (FXGLCanvas *share, GUINet &net)
Check whether this could be done in the constructor

Global NLTriggerBuilder::buildLaneCalibrator (MSNet &net, const std::string &id, MSLane *destLane, SUMOReal pos, const std::string &file)
Recheck and describe parameter

Global NLTriggerBuilder::getFileName (const SUMOSAXAttributes &attrs, const std::string &base, const bool allowEmpty=false)
Recheck usage of the helper class

Global NLTriggerBuilder::buildTrigger (MSNet &net, const SUMOSAXAttributes &attrs, const std::string &base)
Recheck behaviour if the "objecttype" attribute is not supported or one of the asked parameter is meaningless

Global NLTriggerBuilder::buildTrigger (MSNet &net, const SUMOSAXAttributes &attrs, const std::string &base)
Recheck usage of the helper class

Global MSVehicle::getRoute (int index) const
Should an exception be thrown if a not existing route is requested?

Global MSVehicle::willPass (const MSEdge *const edge) const
Move to MSRoute?

Global MSVehicle::getBestLanesContinuation (const MSLane *const l) const
Describe better

Global MSVehicle::getBestLanesContinuation () const
Describe better

Global MSVehicle::getCORNIntValue (MSCORN::Function f) const
Recheck whether throwing an exception for unset values is more appropriate

Global MSVehicle::getCORNPointerValue (MSCORN::Pointer p) const
Recheck whether throwing an exception for unset values is more appropriate

Global MSVehicle::getPositionOnActiveMoveReminderLane (const MSLane *const searchedLane) const
Maybe this should be rechecked - the name says it: much to complicated and the parameter should be a move reminder?

Global MSVehicle::processNextStop (SUMOReal currentVelocity)
Describe more detailed

Class GUIVehicleControl
This is partially unsecure due to concurrent access...

Class GUIVehicleControl
Recheck vehicle deletion

Global GUIVehicleControl::deleteVehicle (MSVehicle *v)
Isn't this quite insecure?

Global MSVehicleControl::getMeanTravelTime () const
Enable this for guisim?

Global MSVehicleControl::getMeanWaitingTime () const
Enable this for guisim?

Global MSVehicleControl::vehicleEmitted (const MSVehicle &v)
Consolidate with vehiclesEmitted

Global GUIVehicleControl::insertVehicleIDs (std::vector< GLuint > &into)
Well, what about concurrent modifications?

Class LineReader
No checks are done so far during reading/setting position etc.

Class LineReader
Should not IOError be thrown if something fails?

Global MS_E2_ZS_CollectorOverLanes::MS_E2_ZS_CollectorOverLanes (const std::string &id, DetectorUsage usage, MSLane *lane, SUMOReal startPos, SUMOTime haltingTimeThreshold, MetersPerSecond haltingSpeedThreshold, SUMOReal jamDistThreshold)
The lane should not be given as a pointer

Global MS_E2_ZS_CollectorOverLanes::buildCollector (size_t c, size_t r, MSLane *l, SUMOReal start, SUMOReal end)
Describe!

Global MSSimpleTrafficLightLogic::getPhases ()
Recheck!

Global MSSimpleTrafficLightLogic::setLinkPriorities () const
Check whether this can be integrated into "setTrafficLightSignals"

Global MSCalibrator::MSCalibrator (const std::string &id, MSNet &net, MSLane *destLane, SUMOReal pos, const std::string &file)
Recheck and describe parameter

Global MSCalibrator::MSCalibrator_FileTriggeredChild::execute (SUMOTime currentTime)
Recheck, describe!!!

Global MSCFModel::ffeS (const MSVehicle *const veh, SUMOReal gap2pred) const =0
generic Interface, models can call for the values they need

Global MSCFModel::ffeV (const MSVehicle *const veh, const MSVehicle *const pred) const =0
generic Interface, models can call for the values they need

Global MSCFModel::ffeV (const MSVehicle *const veh, SUMOReal gap2pred, SUMOReal predSpeed) const =0
used by MSLCM_DK2004, allows hypothetic values of gap2pred and predSpeed

Global MSCFModel::ffeV (const MSVehicle *const veh, SUMOReal speed, SUMOReal gap2pred, SUMOReal predSpeed) const =0
used by MSLane, can hopefully be removed eventually

Global MSCFModel::hasSafeGap (SUMOReal speed, SUMOReal gap, SUMOReal predSpeed, SUMOReal laneMaxSpeed) const =0
evaluate signature

Global MSCFModel::interactionGap (const MSVehicle *const veh, SUMOReal vL) const =0
evaluate signature

Global MSCFModel_IDM::ffeS (const MSVehicle *const veh, SUMOReal gap2pred) const
generic Interface, models can call for the values they need

Global MSCFModel_IDM::ffeV (const MSVehicle *const veh, const MSVehicle *const pred) const
generic Interface, models can call for the values they need

Global MSCFModel_IDM::ffeV (const MSVehicle *const veh, SUMOReal gap2pred, SUMOReal predSpeed) const
used by MSLCM_DK2004, allows hypothetic values of gap2pred and predSpeed

Global MSCFModel_IDM::hasSafeGap (SUMOReal speed, SUMOReal gap, SUMOReal predSpeed, SUMOReal laneMaxSpeed) const
evaluate signature

Global MSCFModel_IDM::hasSafeGap (SUMOReal speed, SUMOReal gap, SUMOReal predSpeed, SUMOReal laneMaxSpeed) const
update logic to IDM

Global MSCFModel_IDM::interactionGap (const MSVehicle *const , SUMOReal vL) const
evaluate signature

Global MSCFModel_IDM::interactionGap (const MSVehicle *const , SUMOReal vL) const
update logic to IDM

Global MSCFModel_Kerner::ffeS (const MSVehicle *const veh, SUMOReal gap2pred) const
generic Interface, models can call for the values they need

Global MSCFModel_Kerner::ffeV (const MSVehicle *const veh, const MSVehicle *const pred) const
generic Interface, models can call for the values they need

Global MSCFModel_Kerner::ffeV (const MSVehicle *const veh, SUMOReal gap2pred, SUMOReal predSpeed) const
used by MSLCM_DK2004, allows hypothetic values of gap2pred and predSpeed

Global MSCFModel_Kerner::hasSafeGap (SUMOReal speed, SUMOReal gap, SUMOReal predSpeed, SUMOReal laneMaxSpeed) const
evaluate signature

Global MSCFModel_Kerner::interactionGap (const MSVehicle *const veh, SUMOReal vL) const
evaluate signature

Global MSCFModel_Krauss::ffeS (const MSVehicle *const veh, SUMOReal gap2pred) const
generic Interface, models can call for the values they need

Global MSCFModel_Krauss::ffeV (const MSVehicle *const veh, const MSVehicle *const pred) const
generic Interface, models can call for the values they need

Global MSCFModel_Krauss::ffeV (const MSVehicle *const veh, SUMOReal gap2pred, SUMOReal predSpeed) const
used by MSLCM_DK2004, allows hypothetic values of gap2pred and predSpeed

Global MSCFModel_Krauss::hasSafeGap (SUMOReal speed, SUMOReal gap, SUMOReal predSpeed, SUMOReal laneMaxSpeed) const
evaluate signature

Global MSCFModel_Krauss::interactionGap (const MSVehicle *const veh, SUMOReal vL) const
evaluate signature

Global MSCFModel_KraussOrig1::ffeS (const MSVehicle *const veh, SUMOReal gap2pred) const
generic Interface, models can call for the values they need

Global MSCFModel_KraussOrig1::ffeV (const MSVehicle *const veh, const MSVehicle *const pred) const
generic Interface, models can call for the values they need

Global MSCFModel_KraussOrig1::ffeV (const MSVehicle *const veh, SUMOReal gap2pred, SUMOReal predSpeed) const
used by MSLCM_DK2004, allows hypothetic values of gap2pred and predSpeed

Global MSCFModel_KraussOrig1::hasSafeGap (SUMOReal speed, SUMOReal gap, SUMOReal predSpeed, SUMOReal laneMaxSpeed) const
evaluate signature

Global MSCFModel_KraussOrig1::interactionGap (const MSVehicle *const veh, SUMOReal vL) const
evaluate signature

Global MSCFModel_PWag2009::ffeS (const MSVehicle *const veh, SUMOReal gap2pred) const
generic Interface, models can call for the values they need

Global MSCFModel_PWag2009::ffeV (const MSVehicle *const veh, const MSVehicle *const pred) const
generic Interface, models can call for the values they need

Global MSCFModel_PWag2009::ffeV (const MSVehicle *const veh, SUMOReal gap2pred, SUMOReal predSpeed) const
used by MSLCM_DK2004, allows hypothetic values of gap2pred and predSpeed

Global MSCFModel_PWag2009::hasSafeGap (SUMOReal speed, SUMOReal gap, SUMOReal predSpeed, SUMOReal laneMaxSpeed) const
evaluate signature

Global MSCFModel_PWag2009::interactionGap (const MSVehicle *const veh, SUMOReal vL) const
evaluate signature

Global MSDevice_Routing::adaptEdgeEfforts (SUMOTime currentTime)
Describe how the weights are adapted

Global MSE2Collector::MSE2Collector (const std::string &id, DetectorUsage usage, MSLane *const lane, SUMOReal startPos, SUMOReal detLength, SUMOTime haltingTimeThreshold, SUMOReal haltingSpeedThreshold, SUMOReal jamDistThreshold)
The lane should not be given as a pointer

Global MSEdgeControl::moveFirst (SUMOTime t)
When moving to parallel processing, the usage of myWithVehicles2Integrate would get insecure!!

Global MSEdgeControl::MSEdgeControl (const std::vector< MSEdge * > &edges)
Assure both containers are not 0

Global MSEdgeControl::getEdges () const
Check: Is this secure?

Global MSEdgeControl::gotActive (MSLane *l)
Check for l==0?

Class MSEmitControl
Whe a vehicle is deleted due to waiting too long or because of vaporizing, ths is not reported anywhere

Global MSEmitControl::checkPrevious (SUMOTime time)
recheck

Global MSEmitControl::getWaitingVehicleNo () const
Note that vehicles in emitters are not counted!

Global MSEmitter::MSEmitter_FileTriggeredChild::execute (SUMOTime currentTime)
Recheck, describe!!!

Global MSFrame::checkOptions ()
Rechek usage of the lane change model

Global MSFrame::checkOptions ()
probably, more things should be checked...

Global OutputDevice::closeTag (bool abbreviated=false)
it is not verified that the topmost element was closed

Global OutputDevice::writeXMLHeader (const std::string &rootElement, const bool writeConfig=true, const std::string &attrs="", const std::string &comment="")
Check which parameter is used herein

Global OutputDevice::writeXMLHeader (const std::string &rootElement, const bool writeConfig=true, const std::string &attrs="", const std::string &comment="")
Describe what is saved

Class MSInternalLane
Complete work on pass position

Class MSInternalLane
Join with MSLane

Global MSInternalLane::myPassPosition
!!! incomplete usage; check

Global MSLink::getApproaching () const
Unsecure!

Global MSLink::setRequestInformation (MSLogicJunction::Request *request, unsigned int requestIdx, MSLogicJunction::Respond *respond, unsigned int respondIdx, const MSLogicJunction::LinkFoes &foes, bool isCrossing, bool isCont, const std::vector< MSLink * > &foeLinks, const std::vector< MSLane * > &foeLanes)
Unsecure!

Class MSLinks
Check whether links with via-lanes should be subclassed

Class MSMeanData
consider error-handling on write (using IOError)

Class MSMeanData_Harmonoise
consider error-handling on write (using IOError)

Class MSMeanData_HBEFA
consider error-handling on write (using IOError)

Class MSMeanData_Net
check where mean data is stored in mesosim.

Class MSMeanData_Net
consider error-handling on write (using IOError)

Global MSMoveReminder::MSMoveReminder (MSLane *const lane, const bool doAdd=true)
Why is the lane not given as a reference?

Global MSOffTrafficLightLogic::setLinkPriorities () const
Check whether this can be integrated into "setTrafficLightSignals"

Global MSRouteProbe::writeXMLDetectorProlog (OutputDevice &dev) const
What happens with the additional information if several detectors use the same output?
Exceptions:
IOError If an error on writing occurs (!!! not yet implemented)

Global MSTrafficLightLogic::setLinkPriorities () const =0
Check whether this can be integrated into "setTrafficLightSignals"

Class MSVehicle::LaneQ
Describe

Global MSVehicleControl::deleteVehicle (MSVehicle *v)
Isn't this quite insecure?

Global MSVehicleTransfer::proceedVirtualReturnWhetherEnded (MSVehicle &veh, const MSEdge *const newEdge)
The edges are compared by pointers only; this will not work if the seen edge occurs twice in the vehicle's route

Class MSXMLRawOut
consider error-handling on write (using IOError)

Global MSXMLRawOut::writeEdge (OutputDevice &of, const MSEdge &edge)
MSGlobals::gOmitEmptyEdgesOnDump should not be used; rather the according option read in write
Exceptions:
IOError If an error on writing occurs (!!! not yet implemented)

Class NamedColumnsParser
What happens if an uninitialised NamedColumnsParser is used? exceptions?

Class NBDistrict
Recheck whether this can be somehow joined with ODDistrict

Global NBEdge::addLane2LaneConnection (unsigned int fromLane, NBEdge *dest, unsigned int toLane, Lane2LaneInfoType type, bool mayUseSameDestination=false, bool mayDefinitelyPass=false)
Check difference between "setConnection" and "addLane2LaneConnection"

Global NBEdge::setConnection (unsigned int lane, NBEdge *destEdge, unsigned int destLane, Lane2LaneInfoType type, bool mayUseSameDestination=false, bool mayDefinitelyPass=false)
Check difference between "setConnection" and "addLane2LaneConnection"

Global NBEdge::computeEdgeShape ()
Describe what is done here

Global NBEdge::setGeometry (const Position2DVector &g)
Recheck usage, disallow access

Global NBEdge::getStep () const
Recheck usage!

Global NBEdge::getJunctionPriority (const NBNode *const node) const
Maybe the edge priority whould be stored in the node

Global NBEdge::setJunctionPriority (const NBNode *const node, int prio)
Maybe the edge priority whould be stored in the node

Global NBEdgeCont::appendTurnarounds (bool noTLSControlled)
Recheck whether a visitor-pattern should be used herefor

Global NBEdgeCont::computeEdge2Edges ()
Recheck whether a visitor-pattern should be used herefor

Global NBEdgeCont::computeEdgeShapes ()
Recheck whether a visitor-pattern should be used herefor

Global NBEdgeCont::computeEdgeShapes ()
Recheck usage

Global NBEdgeCont::computeLanes2Edges ()
Recheck whether a visitor-pattern should be used herefor

Global NBEdgeCont::computeTurningDirections ()
Recheck whether a visitor-pattern should be used herefor

Global NBEdgeCont::joinSameNodeConnectingEdges (NBDistrictCont &dc, NBTrafficLightLogicCont &tlc, EdgeVector edges)
Recheck and describe usage

Global NBEdgeCont::recheckLanes ()
Recheck whether a visitor-pattern should be used herefor

Global NBEdgeCont::recheckLaneSpread ()
Recheck usage; check whether this is really needed and whether it works at all

Global NBEdgeCont::recomputeLaneShapes ()
Recheck whether a visitor-pattern should be used herefor

Global NBEdgeCont::recomputeLaneShapes ()
Recheck usage

Global NBEdgeCont::removeUnwishedEdges (NBDistrictCont &dc)
Recheck usage; check whether keep-edges.postload is really useful

Global NBEdgeCont::reshiftEdgePositions (SUMOReal xoff, SUMOReal yoff)
Recheck whether a visitor-pattern should be used herefor

Global NBEdgeCont::reshiftEdgePositions (SUMOReal xoff, SUMOReal yoff)
Recheck usage

Global NBEdgeCont::sortOutgoingLanesConnections ()
Recheck whether a visitor-pattern should be used herefor

Global NBEdgeCont::erase (NBDistrictCont &dc, NBEdge *edge)
Recheck whether the district cont is needed - if districts are processed using an external tool

Global NBEdgeCont::retrievePossiblySplitted (const std::string &id, SUMOReal pos) const
Recheck usage

Global NBEdgeCont::retrievePossiblySplitted (const std::string &id, const std::string &hint, bool incoming) const
Recheck usage

Global NBEdgeCont::getAllNames () const
Recheck usage, probably, filling a given vector would be better...

Global NBEdgeCont::applyOptions (OptionsCont &oc)
Recheck exceptions

Global NBEdgeCont::getGeneratedFrom (const std::string &id) const
Recheck usage

Global NBNodeCont::guessTLs (OptionsCont &oc, NBTrafficLightLogicCont &tlc)
Recheck exception handling

Global NBNodeCont::joinTLS (NBTrafficLightLogicCont &tlc)
Recheck exception handling

Global NBNodeCont::setAsTLControlled (NBNode *node, NBTrafficLightLogicCont &tlc, std::string id="")
Recheck exception handling

Global NBOwnTLDef::computeUnblockedWeightedStreamNumber (const NBEdge *const e1, const NBEdge *const e2)
There are several magic numbers; describe

Global NBOwnTLDef::getDirectionalWeight (NBMMLDirection dir)
There are several magic numbers; describe

Global NBTrafficLightLogicCont::applyOptions (OptionsCont &oc)
Recheck exceptions

Global NBTrafficLightLogicCont::remapRemoved (NBEdge *removed, const EdgeVector &incoming, const EdgeVector &outgoing)
Recheck usage

Global NBTrafficLightLogicCont::replaceRemoved (NBEdge *removed, int removedLane, NBEdge *by, int byLane)
Recheck usage

Global NBTypeCont::getIsOneWay (const std::string &type) const
There is no default for one-way!?

Global NGNet::createSpiderWeb (int numRadDiv, int numCircles, SUMOReal spaceRad, bool hasCenter)
consolidate the name of the center node

Global NGNet::toNB () const
Check whether throwing an exception is really necessary, here

Global NGNode::buildNBNode (NBNetBuilder &nb) const
There is no interaction with explicite node setting options? Where is this done?

Global NGNode::buildNBNode (NBNetBuilder &nb) const
Check whether throwing an exception is really necessary, here

Class NGRandomNetBuilder
Describe the algorithm

Global NGRandomNetBuilder::NGRandomNetBuilder (NGNet &net, SUMOReal minAngle, SUMOReal minDistance, SUMOReal maxDistance, SUMOReal connectivity, int numTries, const TNeighbourDistribution &neighborDist)
check meanings of connectivity/numTries

Global NGRandomNetBuilder::createNet (int numNodes)
Describe the algorithm

Global NGRandomNetBuilder::createNewNode (NGNode *baseNode)
Describe better

Global NGRandomNetBuilder::findPossibleOuterNodes (NGNode *node)
Describe better

Class NIImporter_ArcView
reinsert import via shapelib

Global NIImporter_SUMO::addSuccEdge (const SUMOSAXAttributes &attrs)
Recheck: should the junction be read? What is this attribute for?

Global NIOptionsIO::checkOptions ()
Unused currently; repair/fill

Global NIVissimEdge::buildConnectionClusters ()
Probably the distance (MAX_CLUSTER_DISTANCE=10m) should be made variable

Class NIXMLEdgesHandler
revalidate node retrieval

Global NIXMLNodesHandler::myStartElement (SumoXMLTag element, const SUMOSAXAttributes &attrs)
ProcessErrors are thrown when parsing traffic lights!?

Global NIXMLNodesHandler::NIXMLNodesHandler (NBNodeCont &nc, NBTrafficLightLogicCont &tlc, OptionsCont &options)
Options are only given to determine whether "flip-y" is set; maybe this should be done by giving a bool

Global NIXMLNodesHandler::NIXMLNodesHandler (NBNodeCont &nc, NBTrafficLightLogicCont &tlc, OptionsCont &options)
Why are options not const?

Global NLBuilder::build ()
Again, both returning a bool and throwing an exception; quite inconsistent

Class NLEdgeControlBuilder
Assignment of lanes is not really well. Should be reworked after shapes are given as params.

Global NLEdgeControlBuilder::addLane (const std::string &id, SUMOReal maxSpeed, SUMOReal length, bool isDepart, const Position2DVector &shape, const std::vector< SUMOVehicleClass > &allowed, const std::vector< SUMOVehicleClass > &disallowed)
Definitely not a good way

Class NLGeomShapeBuilder
Check why the container is not given directly

Class NLGeomShapeBuilder
find a better solution than using INVALID_POSITION

Global NLGeomShapeBuilder::NLGeomShapeBuilder (MSNet &net)
Check why the container is not given directly

Global NLGeomShapeBuilder::NLGeomShapeBuilder (MSNet &net)
Check why the net is not const

Global NLHandler::myCharacters (SumoXMLTag element, const std::string &chars)
Refactor/describe

Global NLHandler::myEndElement (SumoXMLTag element)
Refactor/describe

Global NLHandler::myStartElement (SumoXMLTag element, const SUMOSAXAttributes &attrs)
Refactor/describe

Global NLHandler::addDistrictEdge (const SUMOSAXAttributes &attrs, bool isSource)
No exception?

Global NLHandler::endDetector ()
Remove this

Class NLJunctionControlBuilder
Refactor this class - it's too large

Class NLJunctionControlBuilder
Resort method by one of the topics.

Global NLJunctionControlBuilder::NLJunctionControlBuilder (MSNet &net, OptionsCont &oc)
Why are options not const?

Global NLJunctionControlBuilder::addLogicItem (int request, const std::string &response, const std::string &foes, bool cont)
Recheck "cont"; is the description correct?

Global NLJunctionControlBuilder::addParam (const std::string &key, const std::string &value)
Where are these parameter used? Describe!

Global NLJunctionControlBuilder::addParam (const std::string &key, const std::string &value)
Can a parameter be overwritten?

Global NLJunctionControlBuilder::addPhase (SUMOTime duration, const std::string &state, int min, int max)
min/max is used only by one junction type. Recheck

Global NLJunctionControlBuilder::addPhase (SUMOTime duration, const std::string &state, int min, int max)
min/max: maybe only one type of a phase definition should be built

Global NLJunctionControlBuilder::closeJunction ()
Throwing ProcessError would get unneeded if the container would be built by default (see prepare)

Global NLJunctionControlBuilder::closeJunction ()
The type of the junctions shoould probably be checked when supprted (in openJunction)

Global NLJunctionControlBuilder::closeJunctions (NLDetectorBuilder &db)
Really nasty! Both parameter are not used herein.

Global NLJunctionControlBuilder::closeJunctions (NLDetectorBuilder &db)
Where do extended tl build their detectors, what value are set herein?

Global NLJunctionControlBuilder::closeJunctions (NLDetectorBuilder &db)
May the called method throw something?

Global NLJunctionControlBuilder::getJunctionLogicSecure ()
Where is this used?

Global NLJunctionControlBuilder::initIncomingLanes ()
It seems as the container would be used in several ways; Recheck!

Global NLJunctionControlBuilder::initTrafficLightLogic (const std::string &id, const std::string &programID, const std::string &type, int offset, SUMOReal detectorOffset)
Why is the type not verified?

Global NLJunctionControlBuilder::initTrafficLightLogic (const std::string &id, const std::string &programID, const std::string &type, int offset, SUMOReal detectorOffset)
Recheck, describe usage of detectorOffset (where does the information come from?)

Global NLJunctionControlBuilder::initTrafficLightLogic (const std::string &id, const std::string &programID, const std::string &type, int offset, SUMOReal detectorOffset)
detectorOffset is used only by one junction type. Is it not possible, to remove this from the call?

Global NLJunctionControlBuilder::openJunction (const std::string &id, const std::string &key, const std::string &type, SUMOReal x, SUMOReal y, const Position2DVector &shape)
Check why "key" is given

Global NLJunctionControlBuilder::setLaneNumber (int size)
This information is not used anymore!

Global NLJunctionControlBuilder::setOffset (int val)
Check why the offset is not SUMOTime

Global NLJunctionControlBuilder::setRequestSize (int size)
Where does this information come from?

Class NLSucceedingLaneBuilder
Consider moving this functionality to another class

Global NLSucceedingLaneBuilder::myCurrentLane
Why is not the lane itself saved?

Global NLSucceedingLaneBuilder::mySuccLanes
Is it really necessary to have this as a pointer - the link container is rebuilt anyway

Global NLSucceedingLaneBuilder::addSuccLane (bool yield, const std::string &laneId, MSLink::LinkDirection dir, MSLink::LinkState state, bool internalEnd, const std::string &tlid="", unsigned int linkNo=0)
Recheck usage of "pass"
Exceptions:
InvalidArgument If one of the referenced structures was not found or is invalid

Global NLSucceedingLaneBuilder::openSuccLane (const std::string &laneId)
Why is the ID kept, not already the lane itself?

Class ODCell
Check whether the vehicle type is used and makes sense herein

Global ODDistrictHandler::addSink (const SUMOSAXAttributes &attrs)
Checking whether myCurrentDistrict is valid through getValues is not quite nice

Global ODDistrictHandler::addSource (const SUMOSAXAttributes &attrs)
Checking whether myCurrentDistrict is valid through getValues is not quite nice

Global ODMatrix::applyCurve (const Distribution_Points &ps, ODCell *cell, CellVector &newCells)
describe better!!!

Global ODMatrix::applyCurve (const Distribution_Points &ps)
Describe

Global OptionsCont::getStringVector (const std::string &name) const
Is it possible to retrieve a const-reference of the string?

Global OptionsCont::isInStringVector (const std::string &optionName, const std::string &itemName)
Try to optimize - at each call, the vector is rebuilt

Global OptionsCont::splitLines (std::ostream &os, std::string what, size_t offset, size_t nextOffset)
Describe parameter

Global OptionsLoader::characters (const XMLCh *const chars, const XERCES3_SIZE_t length)
Describe better

Class PCLoaderArcView
reinsert import via shapelib

Global PCTypeDefHandler::myStartElement (SumoXMLTag element, const SUMOSAXAttributes &attrs)
Completely unsecure currently (invalid values may force abortion with no error message)

Global ROAbstractRouteDefLoader::readRoutesAtLeastUntil (SUMOTime time, bool skipping)=0
Recheck usage of exceptions vs. return value

Global ROEdge::getEffort (const ROVehicle *const veh, SUMOReal time) const
Recheck whether the vehicle's maximum speed is considered

Global ROEdge::getTravelTime (const ROVehicle *const veh, SUMOReal time) const
Recheck whether the vehicle's maximum speed is considered

Global ROEdge::addFollower (ROEdge *s)
What about vehicle-type aware connections?

Global ROEdge::addLane (ROLane *lane)
What about vehicle-type aware connections?

Global RODFFrame::checkOptions ()
Unused currently; repair/fill

Global RONet::getEdge (const std::string &name) const
Check whether a const pointer may be returned

Global RONet::getNode (const std::string &id) const
Check whether a const pointer may be returned

Global RONet::getRouteDef (const std::string &name) const
Check whether a const pointer may be returned

Global RONet::getRouteDef (const std::string &name) const
Rename myRoutes to myRouteDefinitions

Global RONet::getVehicleTypeSecure (const std::string &id)
Check whether a const pointer may be returned

Global RODFRouteCont::removeIllegal (const std::vector< std::vector< ROEdge * > > &illegals)
Not used, yet

Global RODUAEdgeBuilder::RODUAEdgeBuilder (bool useBoundariesOnOverride, bool interpolate)
useBoundariesOnOverride should not be a member of the edges

Global RODUAFrame::checkOptions ()
probably, more things should be checked...

Global ROEdge::ROEdge (const std::string &id, RONode *from, RONode *to, unsigned int index, bool useBoundariesOnOverride, bool interpolate=false)
useBoundariesOnOverride and interpolate should not be members of the edge

Global ROFrame::checkOptions (OptionsCont &oc)
Why is the container given? Everywhere else not...

Global ROFrame::checkOptions (OptionsCont &oc)
probably, more things should be checked...

Global ROFrame::fillOptions (OptionsCont &oc)
Why is the container given? Everywhere else not...

Global ROJTRFrame::checkOptions ()
probably, more things should be checked...

Global ROLoader::ROLoader (OptionsCont &oc, bool emptyDestinationsAllowed)
Recheck usage of emptyDestinationsAllowed

Class RONet
Vehicle ids are not tracked; it may happen that the same id is added twice...

Global RONetHandler::parseConnectedEdge (const SUMOSAXAttributes &attrs)
No exception?

Global RONetHandler::parseDistrictEdge (const SUMOSAXAttributes &attrs, bool isSource)
No exception?

Global RONetHandler::parseEdge (const SUMOSAXAttributes &attrs)
The edge is "built" first, then the nodes are added; should be done while constructing, probably a legacy issue

Global RONetHandler::parseEdge (const SUMOSAXAttributes &attrs)
No exception?

Global RONetHandler::parseJunction (const SUMOSAXAttributes &attrs)
In fact, the junction should be built given its position.

Global RONetHandler::parseJunction (const SUMOSAXAttributes &attrs)
No exception?

Global RONetHandler::parseLane (const SUMOSAXAttributes &attrs)
No exception?

Global RORDLoader_TripDefs::beginNextRoute ()
recheck/refactor

Global ROTypedXMLRoutesLoader::endDocument ()
Recheck usage of route loaders; it is not very fine to have one that use a parser and other that do not

Global RORDLoader_SUMOBase::beginNextRoute ()
recheck/refactor

Global RORoute::RORoute (const std::string &id, SUMOReal costs, SUMOReal prob, const std::vector< const ROEdge * > &route, const RGBColor *const color)
Are costs/prob really mandatory?

Global RORoute::add (ROEdge *edge)
What for? Isn't the route already complete?

Global RORoute::getCosts () const
Recheck why the costs are stored in a route

Global RORoute::getProbability () const
Recheck why the probability is stored in a route

Global RORoute::setCosts (SUMOReal costs)
Recheck why the costs are stored in a route

Global RORoute::setProbability (SUMOReal prob)
Recheck why the probability is stored in a route

Class ROTypedXMLRoutesLoader
recheck/refactor

Global ROTypedXMLRoutesLoader::beginNextRoute ()=0
recheck/refactor

Global ROTypedXMLRoutesLoader::nextRouteRead ()=0
recheck/refactor

Global ROVehicle::ROVehicle (const SUMOVehicleParameter &pars, RORouteDef *route, SUMOVTypeParameter *type)
Why is the vehicle builder given?

Global ROVehicle::copy (const std::string &id, unsigned int depTime, RORouteDef *newRoute)
Is this used? What for if everything is replaced?

Global ROVehicle::getRouteDefinition () const
Why not return a reference?

Global ROVehicle::getType () const
Why not return a reference?

Global ROVehicle::saveAllAsXML (SUMOAbstractRouter< ROEdge, ROVehicle > &router, OutputDevice &os, OutputDevice *const altos, bool withExitTimes) const
What is the given route definition?

Global ROVehicleByDepartureComperator::operator() (ROVehicle *veh1, ROVehicle *veh2) const
Check whether both vehicles can be const

Global SUMOVehicleParserHelper::parseEmissionClass (const SUMOSAXAttributes &attrs, const std::string &type, const std::string &id)
Recheck how errors are handled and what happens if they occure

Global SUMOVehicleParserHelper::parseGuiShape (const SUMOSAXAttributes &attrs, const std::string &type, const std::string &id)
Recheck how errors are handled and what happens if they occure

Global SUMOVehicleParserHelper::parseVehicleClass (const SUMOSAXAttributes &attrs, const std::string &type, const std::string &id)
Recheck how errors are handled and what happens if they occure

Global SystemFrame::addConfigurationOptions (OptionsCont &oc)
let the container be retrieved

Global SystemFrame::addReportOptions (OptionsCont &oc)
let the container be retrieved

Class TNeighbourDistribution
Check whether this can be replaced by RandomDistributor

Class XMLSubSys
make schema checking optional

Global gSelected
Check whether this should be replaced by a Singleton

Global ROHelper::recheckForLoops (std::vector< const ROEdge * > &edges)
Check whether vehicle's max speed is considered

Generated on Wed May 5 00:06:40 2010 for Sumo - Simulation of Urban MObility by  doxygen 1.5.6