/* ------------------------------------------------------------------------- * GUITriggeredRerouter - methods * ----------------------------------------------------------------------- */ GUITriggeredRerouter::GUITriggeredRerouter( const std::string& id, const std::vector<MSEdge*>& edges, SUMOReal prob, const std::string& aXMLFilename, bool off, SUMORTree& rtree) : MSTriggeredRerouter(id, edges, prob, aXMLFilename, off), GUIGlObject_AbstractAdd("rerouter", GLO_TRIGGER, id) { // add visualisation objects for edges which trigger the rerouter for (std::vector<MSEdge*>::const_iterator it = edges.begin(); it != edges.end(); ++it) { myEdgeVisualizations.push_back(new GUITriggeredRerouterEdge(dynamic_cast<GUIEdge*>(*it), this, false)); } // add visualisation objects for closed edges for (std::vector<RerouteInterval>::const_iterator it_interval = myIntervals.begin(); it_interval != myIntervals.end(); ++it_interval) { const std::vector<MSEdge*>& closed = it_interval->closed; for (std::vector<MSEdge*>::const_iterator it = closed.begin(); it != closed.end(); ++it) { myEdgeVisualizations.push_back(new GUITriggeredRerouterEdge(dynamic_cast<GUIEdge*>(*it), this, true)); } } // register with rtree and rerouter boundary for (std::vector<GUITriggeredRerouterEdge*>::iterator it = myEdgeVisualizations.begin(); it != myEdgeVisualizations.end(); ++it) { rtree.addAdditionalGLObject(*it); myBoundary.add((*it)->getCenteringBoundary()); } }
/* ------------------------------------------------------------------------- * GUITriggeredRerouter - methods * ----------------------------------------------------------------------- */ GUITriggeredRerouter::GUITriggeredRerouter( const std::string& id, const MSEdgeVector& edges, SUMOReal prob, const std::string& aXMLFilename, bool off, SUMORTree& rtree) : MSTriggeredRerouter(id, edges, prob, aXMLFilename, off), GUIGlObject_AbstractAdd("rerouter", GLO_TRIGGER, id) { // add visualisation objects for edges which trigger the rerouter for (MSEdgeVector::const_iterator it = edges.begin(); it != edges.end(); ++it) { myEdgeVisualizations.push_back(new GUITriggeredRerouterEdge(dynamic_cast<GUIEdge*>(*it), this, false)); rtree.addAdditionalGLObject(myEdgeVisualizations.back()); myBoundary.add(myEdgeVisualizations.back()->getCenteringBoundary()); } }