56 #ifdef CHECK_MEMORY_LEAKS
58 #endif // CHECK_MEMORY_LEAKS
72 const std::string& name,
73 const std::vector<int>& districts,
const std::vector<SUMOReal>& percentages,
75 const std::vector<std::pair<int, int> > &assignedVehicles)
76 : myID(id), myName(name), myDistricts(districts),
77 myEdgeID(edgeid), myPosition(position),
78 myAssignedVehicles(assignedVehicles) {
80 std::vector<SUMOReal>::const_iterator j = percentages.begin();
95 const std::vector<int>& districts,
const std::vector<SUMOReal>& percentages,
97 const std::vector<std::pair<int, int> > &assignedVehicles) {
100 edgeid, position, assignedVehicles);
111 DictType::iterator i =
myDict.find(
id);
122 DictType::iterator i =
myDict.find(
id);
132 for (DictType::iterator i =
myDict.begin(); i !=
myDict.end(); i++) {
134 const std::vector<int>& districts = c->
myDistricts;
135 for (std::vector<int>::const_iterator j = districts.begin(); j != districts.end(); j++) {
146 const std::vector<int>& connections = (*k).second;
147 for (std::vector<int>::const_iterator j = connections.begin(); j != connections.end(); j++) {
168 const std::vector<int>& connections = (*k).second;
170 std::string dsid = toString<int>((*k).first);
175 for (std::vector<int>::const_iterator j = connections.begin(); j != connections.end(); j++) {
180 if (connections.size() == 1) {
181 distCenter.
add(10, 10);
183 district->setCenter(distCenter);
185 std::string
id =
"District" + district->getID();
187 new NBNode(
id, district->getPosition(), district);
188 if (!nc.
insert(districtNode)) {
205 const std::vector<int>& connections = (*k).second;
208 dc.
retrieve(toString<int>((*k).first));
210 assert(district != 0 && districtNode != 0);
212 for (std::vector<int>::const_iterator l = connections.begin(); l != connections.end(); l++) {
220 WRITE_WARNING(
"Could not build district '" + toString<int>((*k).first) +
"' - edge '" + toString<int>(c->
myEdgeID) +
"' is missing.");
223 std::string
id =
"ParkingPlace" + toString<int>(*l);
225 if (parkingPlace == 0) {
227 if (pos < e->getLength() - pos) {
242 id =
"VissimFromParkingplace" + toString<int>((*k).first) +
"-" + toString<int>(c->
myID);
244 new NBEdge(
id, districtNode, parkingPlace,
251 if (!district->
addSource(source, percNormed)) {
258 id =
"VissimToParkingplace" + toString<int>((*k).first) +
"-" + toString<int>(c->
myID);
260 new NBEdge(
id, parkingPlace, districtNode,
262 if (!ec.
insert(destination)) {
267 if (!district->
addSink(destination, percNormed2)) {
351 for (DictType::iterator i =
myDict.begin(); i !=
myDict.end(); i++) {
352 if ((*i).second->myEdgeID == edgeid) {
362 for (DictType::iterator i =
myDict.begin(); i !=
myDict.end(); i++) {
377 std::vector<std::pair<int, int> >::const_iterator i;
387 std::string
id = toString<int>(distNo);
390 WRITE_WARNING(
"The referenced speed distribution '" +
id +
"' is not known.");
396 if (speed < 0 || speed > 1000) {