- Global AGFrame::checkOptions ()
- Not implemented yet
- Global BinaryFormatter::closeTag (std::ostream &into)
- it is not verified that the topmost element was closed
- Global BinaryFormatter::writeXMLHeader (std::ostream &into, const std::string &rootElement, const std::string &attrs="", const std::string &comment="")
Check which parameter is used herein
Describe what is saved
- Class BinaryInputDevice
Recheck whether this class could be replaced by a "normal InputDevice"
Maybe some kind of a well-defined types should be used (so that they have a well-defined length)
Maybe the byte-order should be defined
- Global BinaryInputDevice::operator>> (BinaryInputDevice &os, std::vector< std::vector< int > > &v)
- Use either a buffer with a flexible size or report an error if the buffer is too small!
- 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!
- Global BinaryInputDevice::operator>> (BinaryInputDevice &os, std::vector< std::string > &v)
- Use either a buffer with a flexible size or report an error if the buffer is too small!
- Global BinaryInputDevice::operator>> (BinaryInputDevice &os, std::vector< int > &v)
- 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::characters (const XMLCh *const chars, const XERCES3_SIZE_t length)
recheck/describe what happens with characters when a new element is opened
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
do not generate and report the string-representation
- Global GenericSAXHandler::GenericSAXHandler (StringBijection< int >::Entry *tags, int terminatorTag, StringBijection< int >::Entry *attrs, int terminatorAttr, const std::string &file)
- Why are both lists non-const and given as pointers?
- 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 XERCES_CPP_NAMESPACE::Attributes &attrs)
recheck/describe encoding of the string-representation
do not generate and report the string-representation
- Global GeoConvHelper::addProjectionOptions (OptionsCont &oc)
- let the container be retrieved
- Global getVehicleClassNamesList (SVCPermissions permissions)
- cache values?
- Global GNEAdditionalHandler::buildCalibrator (GNEViewNet *viewNet, const std::string &id, GNEEdge *edge, SUMOReal pos, const std::string &outfile, const SUMOTime freq, const std::map< std::string, GNECalibrator::CalibratorFlow > &flowValues, bool blocked)
- Is the position correct/needed
- Global GNEAdditionalHandler::getFileName (const SUMOSAXAttributes &attrs, const std::string &base, const bool allowEmpty=false)
- Recheck usage of the helper class
- Global GNELane::drawCrossties (SUMOReal length, SUMOReal spacing, SUMOReal halfWidth) const
- : XXX This duplicates the code of GUILane::drawCrossties and needs to be
- Global gSelected
- Check whether this should be replaced by a Singleton
- 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, const std::string &vTypes)
- The lane should not be given as a pointer
- 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, const std::set< std::string > &vTypes)
- The lane should not be given as a pointer
- 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 GUIMEVehicleControl::insertVehicleIDs (std::vector< GUIGlID > &into)
- Well, what about concurrent modifications?
- Global GUIParameterTableItem< T >::GUIParameterTableItem (FXTable *table, unsigned pos, const std::string &name, bool dynamic, T value)
Consider using a reference to the table
Check whether the name should be stored in GUIParameterTableItemInterface
Should never be dynamic!?
- Global GUIParameterTableItem< T >::GUIParameterTableItem (FXTable *table, unsigned pos, const std::string &name, bool dynamic, std::string value)
Consider using a reference to the table
Check whether the name should be stored in GUIParameterTableItemInterface
Should never be dynamic!?
- Global GUIParameterTableItem< T >::GUIParameterTableItem (FXTable *table, unsigned pos, const std::string &name, bool dynamic, ValueSource< T > *src)
Consider using a reference to the table
Check whether the name should be stored in GUIParameterTableItemInterface
- Global GUIParameterTableWindow::mkItem (const char *name, bool dynamic, std::string 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, long long int value)
- the dynamic-parameter is obsolete
- Global GUIParameterTableWindow::mkItem (const char *name, bool dynamic, int value)
- the dynamic-parameter is obsolete
- Global GUIParameterTableWindow::mkItem (const char *name, bool dynamic, SUMOReal 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 GUISettingsHandler::setSnapshots (GUISUMOAbstractView *view) const
- Please describe why the snapshots are only set if no other existed before (see code)
- Global GUISUMOViewParent::init (FXGLCanvas *share, GUINet &net, ViewType type)
- Check whether this could be done in the constructor
- Global GUITransportableControl::insertPersonIDs (std::vector< GUIGlID > &into)
- Well, what about concurrent modifications?
- Global GUITriggerBuilder::buildCalibrator (MSNet &net, const std::string &id, MSEdge *edge, SUMOReal pos, const std::string &file, const std::string &outfile, const SUMOTime freq, const MSRouteProbe *probe)
- Is the position correct/needed
- Class GUIVehicleControl
This is partially unsecure due to concurrent access...
Recheck vehicle deletion
- Global GUIVehicleControl::insertVehicleIDs (std::vector< GUIGlID > &into)
- Well, what about concurrent modifications?
- Class LineReader
No checks are done so far during reading/setting position etc.
Should not IOError be thrown if something fails?
- Global MELoop::nextSegment (MESegment *s, MEVehicle *v)
- Recheck the "quick and dirty" stuff (
- Global MESegment::loadState (std::vector< std::string > &vehIDs, MSVehicleControl &vc, const SUMOTime blockTime, const int queIdx)
What about throwing an IOError?
What about throwing an error if something else fails (a vehicle can not be referenced)?
- Global MESegment::MESegment (const std::string &id, const MSEdge &parent, MESegment *next, SUMOReal length, SUMOReal speed, int idx, SUMOTime tauff, SUMOTime taufj, SUMOTime taujf, SUMOTime taujj, SUMOReal jamThresh, bool multiQueue, bool junctionControl, SUMOReal lengthGeometryFactor)
- recheck the id; using a ':' as divider is not really nice
- Global MESegment::receive (MEVehicle *veh, SUMOTime time, bool isDepart=false, bool afterTeleport=false)
- Isn't always time == veh->getEventTime?
- Global MESegment::saveState (OutputDevice &out)
- What about throwing an IOError?
- Global MESegment::send (MEVehicle *veh, MESegment *next, SUMOTime time)
- Isn't always time == veh->getEventTime?
- Class MEVehicleControl
This is partially unsecure due to concurrent access...
Recheck vehicle deletion
- Global MS_E2_ZS_CollectorOverLanes::buildCollector (int c, int r, MSLane *l, SUMOReal start, SUMOReal end, const std::set< std::string > &vTypes)
- Describe!
- 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, int c, int r) const
- Describe!
- Global MS_E2_ZS_CollectorOverLanes::MS_E2_ZS_CollectorOverLanes (const std::string &id, DetectorUsage usage, MSLane *lane, SUMOReal startPos, SUMOTime haltingTimeThreshold, SUMOReal haltingSpeedThreshold, SUMOReal jamDistThreshold, const std::string &vTypes)
- The lane should not be given as a pointer
- Global MS_E2_ZS_CollectorOverLanes::writeXMLDetectorProlog (OutputDevice &dev) const
- What happens with the additional information if several detectors use the same output?
- Class MSAmitranTrajectories
- consider error-handling on write (using IOError)
- Class MSBatteryExport
- consider error-handling on write (using IOError)
- Global MSCFModel::interactionGap (const MSVehicle *const veh, SUMOReal vL) const
- evaluate signature
- Global MSCFModel::stopSpeed (const MSVehicle *const veh, const SUMOReal speed, SUMOReal gap) const =0
- generic Interface, models can call for the values they need
- Global MSCFModel_Daniel1::stopSpeed (const MSVehicle *const veh, const SUMOReal speed, SUMOReal gap2pred) const
- generic Interface, models can call for the values they need
- Global MSCFModel_IDM::interactionGap (const MSVehicle *const, SUMOReal vL) const
evaluate signature
update interactionGap logic to IDM
update interactionGap logic to IDM
- Global MSCFModel_IDM::stopSpeed (const MSVehicle *const veh, const SUMOReal speed, SUMOReal gap2pred) const
- generic Interface, models can call for the values they need
- Global MSCFModel_Kerner::stopSpeed (const MSVehicle *const veh, const SUMOReal speed, SUMOReal gap2pred) const
- generic Interface, models can call for the values they need
- Global MSCFModel_Krauss::stopSpeed (const MSVehicle *const veh, const SUMOReal speed, SUMOReal gap2pred) const
- generic Interface, models can call for the values they need
- Global MSCFModel_KraussOrig1::stopSpeed (const MSVehicle *const veh, const SUMOReal speed, SUMOReal gap2pred) const
- generic Interface, models can call for the values they need
- Global MSCFModel_PWag2009::stopSpeed (const MSVehicle *const veh, const SUMOReal speed, SUMOReal gap2pred) const
- generic Interface, models can call for the values they need
- Global MSCFModel_SmartSK::stopSpeed (const MSVehicle *const veh, const SUMOReal speed, SUMOReal gap2pred) const
- generic Interface, models can call for the values they need
- Global MSCFModel_Wiedemann::interactionGap (const MSVehicle *const, SUMOReal vL) const
- evaluate signature
- Global MSCFModel_Wiedemann::stopSpeed (const MSVehicle *const veh, const SUMOReal speed, SUMOReal gap) const
- generic Interface, models can call for the values they need
- Global MSDetectorFileOutput::reset ()
- Reckeck/refactor
- Global MSDevice_Routing::adaptEdgeEfforts (SUMOTime currentTime)
- Describe how the weights are adapted
- Global MSDevice_Vehroutes::myRouteInfos
- : describe
- Global MSE2Collector::MSE2Collector (const std::string &id, DetectorUsage usage, MSLane *const lane, SUMOReal startPos, SUMOReal detLength, SUMOTime haltingTimeThreshold, SUMOReal haltingSpeedThreshold, SUMOReal jamDistThreshold, const std::string &vTypes)
- The lane should not be given as a pointer
- Global MSE2Collector::MSE2Collector (const std::string &id, DetectorUsage usage, MSLane *const lane, SUMOReal startPos, SUMOReal detLength, SUMOTime haltingTimeThreshold, SUMOReal haltingSpeedThreshold, SUMOReal jamDistThreshold, const std::set< std::string > &vTypes)
- The lane should not be given as a pointer
- Global MSEdge::closeBuilding ()
- Has to be called after all edges were built and all connections were set...; Still, is not very nice
- 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::parallelLane (const MSLane *const lane, int offset) 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 MSEdgeControl::executeMovements (SUMOTime t)
- When moving to parallel processing, the usage of myWithVehicles2Integrate would get insecure!!
- Global MSEdgeControl::getEdges () const
- Check: Is this secure?
- Global MSEdgeControl::gotActive (MSLane *l)
- Check for l==0?
- Global MSEdgeControl::MSEdgeControl (const std::vector< MSEdge * > &edges)
- Assure both containers are not 0
- Class MSEmissionExport
- consider error-handling on write (using IOError)
- Class MSFCDExport
- consider error-handling on write (using IOError)
- Global MSFrame::checkOptions ()
Rechek usage of the lane change model
probably, more things should be checked...
- Class MSFullExport
- consider error-handling on write (using IOError)
- 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)
- Class MSInsertionControl
- When a vehicle is deleted due to waiting too long or because of vaporizing, this is not reported anywhere
- Global MSInsertionControl::checkCandidates (SUMOTime time, const bool preCheck)
- recheck
- Global MSLane::dictionary (const std::string &id, MSLane *lane)
make non-static
why is the id given? The lane is named
- Global MSLane::getLeaderOnConsecutive (SUMOReal dist, SUMOReal seen, SUMOReal speed, const MSVehicle &veh, const std::vector< MSLane *> &bestLaneConts) const
- : There are some oddities:
- what about crossing a link at red, or if a link is closed? Has a following vehicle to be regarded or not?
- Global MSLane::lastInsertion (MSVehicle &veh, SUMOReal mspeed)
- documentation
- Global MSLane::loadState (std::vector< std::string > &vehIDs, MSVehicleControl &vc)
What about throwing an IOError?
What about throwing an error if something else fails (a vehicle can not be referenced)?
- Global MSLane::saveState (OutputDevice &out)
- What about throwing an IOError?
- Global MSLink::ApproachingVehicleInformation::willPass
- : check semantics)
- Global MSLink::setRequestInformation (int index, bool hasFoes, bool isCont, const std::vector< MSLink *> &foeLinks, const std::vector< MSLane *> &foeLanes, MSLane *internalLaneBefore=0)
- Unsecure!
- Class MSMeanData
- consider error-handling on write (using IOError)
- Class MSMeanData_Amitran
- consider error-handling on write (using IOError)
- Class MSMeanData_Emissions
- consider error-handling on write (using IOError)
- Class MSMeanData_Harmonoise
- consider error-handling on write (using IOError)
- Class MSMeanData_Net
- consider error-handling on write (using IOError)
- Global MSNet::clearAll ()
- Try to move all this to the destructor
- Global MSNet::closeBuilding (const OptionsCont &oc, MSEdgeControl *edges, MSJunctionControl *junctions, SUMORouteLoaderControl *routeLoaders, MSTLLogicControl *tlc, std::vector< SUMOTime > stateDumpTimes, std::vector< std::string > stateDumpFiles, bool hasInternalLinks, bool hasNeighs, bool lefthand, SUMOReal version)
- 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
What exceptions may occure?
- Global MSNet::simulationStep ()
- Which exceptions may occur?
- Global MSNet::writeOutput ()
- Which exceptions may occur?
- Class MSQueueExport
- consider error-handling on write (using IOError)
- Global MSRouteProbe::writeXMLDetectorProlog (OutputDevice &dev) const
- What happens with the additional information if several detectors use the same output?
- Global MSSimpleTrafficLightLogic::getPhases ()
- Recheck!
- Global MSVehicle::checkRewindLinkLanes (const SUMOReal lengthsInFront, DriveItemVector &lfLinks) const
- : documentation
- Global MSVehicle::myAngle
- consider moving this into myState)
- Global MSVehicle::planMoveInternal (const SUMOTime t, MSLeaderInfo ahead, DriveItemVector &lfLinks, SUMOReal &myStopDist) const
- : documentation
- Global MSVehicle::processNextStop (SUMOReal currentVelocity)
- Describe more detailed
- Global MSVehicle::willPass (const MSEdge *const edge) const
- Move to MSRoute?
- Global MSVehicleControl::deleteVehicle (SUMOVehicle *v, bool discard=false)
- Isn't this quite insecure?
- Class MSVTKExport
- Class MSXMLRawOut
- consider error-handling on write (using IOError)
- Global MSXMLRawOut::writeEdge (OutputDevice &of, const MSEdge &edge, SUMOTime timestep)
- MSGlobals::gOmitEmptyEdgesOnDump should not be used; rather the according option read in write
- Class NamedColumnsParser
- What happens if an uninitialised NamedColumnsParser is used? exceptions?
- Class NBDistrict
- Recheck whether this can be somehow joined with ODDistrict
- Global NBDistrict::addSink (NBEdge *const sink, SUMOReal weight)
- Consider using only one list for sinks/weights
- Global NBDistrict::addSource (NBEdge *const source, SUMOReal weight)
- Consider using only one list for sources/weights
- Global NBDistrict::getPosition () const
- Recheck when this information is set/needed
- Global NBDistrict::setCenter (const Position &pos)
- Recheck when this information is set/needed
- Global NBEdge::addLane2LaneConnection (int fromLane, NBEdge *dest, int toLane, Lane2LaneInfoType type, bool mayUseSameDestination=false, bool mayDefinitelyPass=false, bool keepClear=true, SUMOReal contPos=UNSPECIFIED_CONTPOS, SUMOReal visibility=UNSPECIFIED_VISIBILITY_DISTANCE)
- Check difference between "setConnection" and "addLane2LaneConnection"
- Global NBEdge::getJunctionPriority (const NBNode *const node) const
- Maybe the edge priority whould be stored in the node
- Global NBEdge::getLoadedLength () const
- consolidate use of myLength and myLoaded length
- Global NBEdge::getStep () const
- Recheck usage!
- Global NBEdge::remapConnections (const EdgeVector &incoming)
- recheck!
- Global NBEdge::setConnection (int lane, NBEdge *destEdge, int destLane, Lane2LaneInfoType type, bool mayUseSameDestination=false, bool mayDefinitelyPass=false, bool keepClear=true, SUMOReal contPos=UNSPECIFIED_CONTPOS, SUMOReal visibility=UNSPECIFIED_VISIBILITY_DISTANCE)
- Check difference between "setConnection" and "addLane2LaneConnection"
- Global NBEdge::setGeometry (const PositionVector &g, bool inner=false)
- Recheck usage, disallow access
- 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::applyOptions (OptionsCont &oc)
- Recheck exceptions
- Global NBEdgeCont::computeEdge2Edges (bool noLeftMovers)
- Recheck whether a visitor-pattern should be used herefor
- Global NBEdgeCont::computeEdgeShapes ()
Recheck whether a visitor-pattern should be used herefor
Recheck usage
- Global NBEdgeCont::computeLanes2Edges ()
- Recheck whether a visitor-pattern should be used herefor
- Global NBEdgeCont::computeLaneShapes ()
Recheck whether a visitor-pattern should be used herefor
Recheck usage
- Global NBEdgeCont::erase (NBDistrictCont &dc, NBEdge *edge)
- Recheck whether the district cont is needed - if districts are processed using an external tool
- Global NBEdgeCont::extract (NBDistrictCont &dc, NBEdge *edge, bool remember=false)
Recheck whether the district cont is needed - if districts are processed using an external tool
Recheck whether this is used at all and why
- Global NBEdgeCont::getAllNames () const
- Recheck usage, probably, filling a given vector would be better...
- Global NBEdgeCont::getGeneratedFrom (const std::string &id) const
- Recheck usage
- 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::removeUnwishedEdges (NBDistrictCont &dc)
- Recheck usage; check whether keep-edges.postload is really useful
- Global NBEdgeCont::retrievePossiblySplit (const std::string &id, SUMOReal pos) const
- Recheck usage
- Global NBEdgeCont::retrievePossiblySplit (const std::string &id, bool downstream) const
- Recheck usage
- Global NBEdgeCont::retrievePossiblySplit (const std::string &id, const std::string &hint, bool incoming) const
- Recheck usage
- Global NBEdgeCont::sortOutgoingLanesConnections ()
- Recheck whether a visitor-pattern should be used herefor
- Global NBNodeCont::guessTLs (OptionsCont &oc, NBTrafficLightLogicCont &tlc)
- Recheck exception handling
- Global NBNodeCont::joinTLS (NBTrafficLightLogicCont &tlc, SUMOReal maxdist)
- Recheck exception handling
- Global NBNodeCont::setAsTLControlled (NBNode *node, NBTrafficLightLogicCont &tlc, TrafficLightType type, 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 (LinkDirection dir)
- There are several magic numbers; describe
- Global NBSign::writeAsPOI (OutputDevice &into, const NBEdge *edge) const
- add default colors
- 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!?
- Module netbuild
Removing unwished edges: Recheck whether this can be done during loading - whether this option/step is really needed.
Finding isolated roads: Describe
- 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 explicit node setting options? Where is this done?
Check whether throwing an exception is really necessary, here
- Class NGRandomNetBuilder
- Describe the algorithm
- Global NGRandomNetBuilder::createNet (int numNodes)
- Describe the algorithm
- Global NGRandomNetBuilder::createNewNode (NGNode *baseNode)
- Describe better
- Global NGRandomNetBuilder::findPossibleOuterNodes (NGNode *node)
- Describe better
- Global NGRandomNetBuilder::NGRandomNetBuilder (NGNet &net, SUMOReal minAngle, SUMOReal minDistance, SUMOReal maxDistance, SUMOReal connectivity, int numTries, const TNeighbourDistribution &neighborDist)
- check meanings of connectivity/numTries
- Global NIFrame::checkOptions ()
- Unused currently; repair/fill
- Class NIImporter_ArcView
- reinsert import via shapelib
- Global NIImporter_OpenDrive::loadNetwork (const OptionsCont &oc, NBNetBuilder &nb)
: One could think of determining whether lane sections may be joined when being equal in SUMO's sense Their naming would have to be updated, too, also in TraCI
: probably, the lane offsets to the center are not right
- Global NIImporter_OpenDrive::OPENDRIVE_TAG_GEOMETRY
OPENDRIVE_TAG_NEIGHBOR,
OPENDRIVE_TAG_TYPE,
- Global NIImporter_OpenDrive::OpenDriveLane::width
- : this is the maximum width only
- Global NIImporter_SUMO::reconstructEdgeShape (const EdgeAttrs *edge, const Position &from, const Position &to)
- : actually, when looking at the road networks, the center line is not in the center
- Global NIVissimEdge::buildConnectionClusters ()
- Probably the distance (MAX_CLUSTER_DISTANCE=10m) should be made variable
- Class NIXMLEdgesHandler
revalidate node retrieval
One day, one should rethink the order of parsing. Now, the handler is able to load edges, using information from the types, first, and extending them by given information. In addition, if the read edge is already known, it's values are also used. Then, defining vehicles allowed per lane, and additional edge split definitions add some further complexity. This all works somehow for most of our use cases, but it's definitely not as consistent that everything what seems to be possible would also work appropriately.
- Global NIXMLNodesHandler::myStartElement (int 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
Why are options not const?
- Global NLBuilder::build ()
- Again, both returning a bool and throwing an exception; quite inconsistent
- Global NLDetectorBuilder::buildMultiLaneE2Det (const std::string &id, DetectorUsage usage, MSLane *lane, SUMOReal pos, SUMOReal length, SUMOTime haltingTimeThreshold, SUMOReal haltingSpeedThreshold, SUMOReal jamDistThreshold, const std::string &vTypes)
- Check whether this method is really needful
- Global NLDetectorBuilder::buildSingleLaneE2Det (const std::string &id, DetectorUsage usage, MSLane *lane, SUMOReal pos, SUMOReal length, SUMOTime haltingTimeThreshold, SUMOReal haltingSpeedThreshold, SUMOReal jamDistThreshold, const std::string &vTypes)
- Check whether this method is really needful
- Global NLDetectorBuilder::checkSampleInterval (SUMOTime splInterval, SumoXMLTag type, const std::string &id)
- Why is splInterval an int???
- 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, const PositionVector &shape, SUMOReal width, SVCPermissions permissions, int index)
- Definitely not a good way
- Global NLHandler::addDistrictEdge (const SUMOSAXAttributes &attrs, bool isSource)
- No exception?
- Global NLHandler::addPhase (const SUMOSAXAttributes &attrs)
- : the following should be moved to StringTok
- Global NLHandler::myEndElement (int element)
- Refactor/describe
- Global NLHandler::myStartElement (int element, const SUMOSAXAttributes &attrs)
- Refactor/describe
- Class NLJunctionControlBuilder
Refactor this class - it's too large
Resort method by one of the topics.
- 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!
Can a parameter be overwritten?
- Global NLJunctionControlBuilder::addPhase (SUMOTime duration, const std::string &state, SUMOTime min, SUMOTime max)
min/max is used only by one junction type. Recheck
min/max: maybe only one type of a phase definition should be built
- Global NLJunctionControlBuilder::closeJunction (const std::string &basePath)
Throwing ProcessError would get unneeded if the container would be built by default (see prepare)
The type of the junctions shoould probably be checked when supprted (in openJunction)
- Global NLJunctionControlBuilder::getJunctionLogicSecure ()
- Where is this used?
- Global NLJunctionControlBuilder::initTrafficLightLogic (const std::string &id, const std::string &programID, TrafficLightType type, SUMOTime offset)
Why is the type not verified?
Recheck, describe usage of detectorOffset (where does the information come from?)
- Global NLJunctionControlBuilder::openJunction (const std::string &id, const std::string &key, const SumoXMLNodeType type, SUMOReal x, SUMOReal y, const PositionVector &shape, const std::vector< MSLane *> &incomingLanes, const std::vector< MSLane *> &internalLanes)
- Check why "key" is given
- Global NLTriggerBuilder::buildCalibrator (MSNet &net, const std::string &id, MSEdge *edge, SUMOReal pos, const std::string &file, const std::string &outfile, const SUMOTime freq, const MSRouteProbe *probe)
- Is the position correct/needed
- Global NLTriggerBuilder::buildMECalibrator (MSNet &net, const std::string &id, const MSEdge *edge, SUMOReal pos, const std::string &file, const std::string &outfile, const SUMOTime freq, MSRouteProbe *probe)
- Is the position correct/needed
- Global NLTriggerBuilder::getFileName (const SUMOSAXAttributes &attrs, const std::string &base, const bool allowEmpty=false)
- Recheck usage of the helper class
- 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, std::vector< ODCell *> &newCells)
- describe better!!!
- Global ODMatrix::applyCurve (const Distribution_Points &ps)
- Describe
- Global ODMatrix::getNextNonCommentLine (LineReader &lr)
- Describe
- Global ODMatrix::loadMatrix (OptionsCont &oc)
- Describe
- Global ODMatrix::loadRoutes (OptionsCont &oc, SUMOSAXHandler &handler)
- Describe
- Global ODMatrix::parseSingleTime (const std::string &time)
- Describe
- Global ODMatrix::parseTimeLine (const std::vector< std::string > &def, bool timelineDayInHours)
- Describe
- Global ODMatrix::readFactor (LineReader &lr, SUMOReal scale)
- Describe
- Global ODMatrix::readO (LineReader &lr, SUMOReal scale, std::string vehType, bool matrixHasVehType)
- Describe
- Global ODMatrix::readTime (LineReader &lr)
- Describe
- Global ODMatrix::readV (LineReader &lr, SUMOReal scale, std::string vehType, bool matrixHasVehType)
- 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, int offset, int nextOffset)
- Describe parameter
- Global OptionsLoader::characters (const XMLCh *const chars, const XERCES3_SIZE_t length)
- Describe better
- Global OutputDevice::closeTag ()
- it is not verified that the topmost element was closed
- Global OutputDevice::writeXMLHeader (const std::string &rootElement, const std::string &attrs="", const std::string &comment="")
Check which parameter is used herein
Describe what is saved
- Global OutputFormatter::closeTag (std::ostream &into)=0
- it is not verified that the topmost element was closed
- Global OutputFormatter::writeXMLHeader (std::ostream &into, const std::string &rootElement, const std::string &attrs="", const std::string &comment="")=0
Check which parameter is used herein
Describe what is saved
- Class PCLoaderArcView
- reinsert import via shapelib
- Global PCTypeDefHandler::myStartElement (int element, const SUMOSAXAttributes &attrs)
- Completely unsecure currently (invalid values may force abortion with no error message)
- Global PHEMCEP::_cepCurveFC
- describe
- Global PHEMCEP::_normedCepCurveFC
- describe
- Global PHEMCEP::_powerPatternFC
- describe
- Global PHEMCEP::_powerPatternPollutants
- describe
- Global PHEMCEP::_sizeOfPatternPollutants
- describe
- Global PHEMCEP::GetCdValue () const
- : Why is it named "cdValue", here?
- Global PlainXMLFormatter::closeTag (std::ostream &into)
- it is not verified that the topmost element was closed
- Global PlainXMLFormatter::writeXMLHeader (std::ostream &into, const std::string &rootElement, const std::string &attrs="", const std::string &comment="")
Check which parameter is used herein
Describe what is saved
- Global RODFFrame::checkOptions ()
- Unused currently; repair/fill
- Global RODFRouteCont::removeIllegal (const std::vector< ROEdgeVector > &illegals)
- Not used, yet
- Global RODUAFrame::checkOptions ()
- probably, more things should be checked...
- Global ROEdge::addLane (ROLane *lane)
- What about vehicle-type aware connections?
- Global ROEdge::addSuccessor (ROEdge *s, std::string dir="")
- What about vehicle-type aware connections?
- Global ROEdge::getEffort (const ROVehicle *const veh, SUMOReal time) const
- Recheck whether the vehicle's maximum speed is considered
- Global ROEdge::getEffortStatic (const ROEdge *const edge, const ROVehicle *const veh, SUMOReal time)
- Recheck whether the vehicle's maximum speed is considered
- Global ROFrame::checkOptions (OptionsCont &oc)
Why is the container given? Everywhere else not...
probably, more things should be checked...
- Global ROFrame::fillOptions (OptionsCont &oc, bool forDuarouter)
- Why is the container given? Everywhere else not...
- Global ROJTRFrame::checkOptions ()
- probably, more things should be checked...
- Global ROLoader::ROLoader (OptionsCont &oc, const bool emptyDestinationsAllowed, const bool logSteps)
- Recheck usage of emptyDestinationsAllowed
- Global ROMAEdge::addSuccessor (ROEdge *s, std::string dir="")
- What about vehicle-type aware connections?
- Global ROMAFrame::checkOptions ()
- probably, more things should be checked...
- 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
Rename myRoutes to myRouteDefinitions
- Global RONet::getVehicleTypeSecure (const std::string &id)
- Check whether a const pointer may be returned
- 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
No exception?
- Global RONetHandler::parseJunction (const SUMOSAXAttributes &attrs)
In fact, the junction should be built given its position.
No exception?
- Global RONetHandler::parseLane (const SUMOSAXAttributes &attrs)
- No exception?
- Global RORoutable::getType () const
- Why not return a reference?
- 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::RORoute (const std::string &id, SUMOReal costs, SUMOReal prob, const ConstROEdgeVector &route, const RGBColor *const color, const std::vector< SUMOVehicleParameter::Stop > &stops)
- Are costs/prob really mandatory?
- 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
- Global ROVehicle::getRouteDefinition () const
- Why not return a reference?
- Global ROVehicleByDepartureComperator::operator() (ROVehicle *veh1, ROVehicle *veh2) const
- Check whether both vehicles can be const
- Global ShapeHandler::myStartElement (int element, const SUMOSAXAttributes &attrs)
- Refactor/describe
- Global SUMOVehicleParserHelper::parseEmissionClass (const SUMOSAXAttributes &attrs, const std::string &id)
- Recheck how errors are handled and what happens if they occure
- Global SUMOVehicleParserHelper::parseGuiShape (const SUMOSAXAttributes &attrs, const std::string &id)
- Recheck how errors are handled and what happens if they occure
- Global SUMOVehicleParserHelper::parseVehicleClass (const SUMOSAXAttributes &attrs, 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
- Global TraCIServer::myDoingSimStep
- : What is this for?
- Class XMLSubSys
- make schema checking optional