diff --git a/include/road.h b/include/road.h index 43de16ac15b3dd596a34da50f19da7698f385790..3af83a6a1a6df723a7744e8b117c3ee22c00a878 100644 --- a/include/road.h +++ b/include/road.h @@ -12,6 +12,7 @@ class CRoad friend class CRoadMap; friend class CRoadSegment; friend class COpendriveRoadSegment; + friend class COSMRoadSegment; private: unsigned int id; double resolution; diff --git a/src/opendrive/opendrive_junction.cpp b/src/opendrive/opendrive_junction.cpp index a5bf7063a049fcbf30057276d86e23d765dcc5b0..9651b7ffb977807990e060ea354c76b475b0ba53 100644 --- a/src/opendrive/opendrive_junction.cpp +++ b/src/opendrive/opendrive_junction.cpp @@ -109,7 +109,6 @@ void COpendriveJunction::save(OpenDRIVE::junction_type &junction_info) void COpendriveJunction::convert(CJunction **junction,opendrive_road_map_t &road_map) { - CRoad *in_left=NULL,*in_right=NULL,*out_left=NULL,*out_right=NULL; CRoad *in=NULL,*out=NULL; unsigned int from_index,to_index; @@ -118,7 +117,6 @@ void COpendriveJunction::convert(CJunction **junction,opendrive_road_map_t &road // add incomming and outgoing roads for(unsigned int i=0;i<this->connections.size();i++) { - in_left=in_right=out_left=out_right=NULL; for(opendrive_road_map_t::iterator it=road_map.begin();it!=road_map.end();it++) { if(it->first->get_id()==this->connections[i].incomming_road_id) @@ -127,20 +125,18 @@ void COpendriveJunction::convert(CJunction **junction,opendrive_road_map_t &road { if((it->second).size()>0) { - in_right=(it->second)[0]; - if(!(*junction)->has_incomming_road((it->second)[0]->get_id())) - (*junction)->add_incomming_road(in_right); - in=in_right; + in=(it->second)[0]; + if(!(*junction)->has_incomming_road(in->get_id())) + (*junction)->add_incomming_road(in); } } else if(it->first->has_predecessor() && it->first->is_predecessor_junction() && it->first->get_predecessor_id()==this->id) { if((it->second).size()>1) { - in_left=(it->second)[1]; - if(!(*junction)->has_incomming_road(in_left->get_id())) - (*junction)->add_incomming_road(in_left); - in=in_left; + in=(it->second)[1]; + if(!(*junction)->has_incomming_road(in->get_id())) + (*junction)->add_incomming_road(in); } } @@ -151,20 +147,18 @@ void COpendriveJunction::convert(CJunction **junction,opendrive_road_map_t &road { if((it->second).size()>0) { - out_right=(it->second)[0]; - if(!(*junction)->has_outgoing_road(out_right->get_id())) - (*junction)->add_outgoing_road(out_right); - out=out_right; + out=(it->second)[0]; + if(!(*junction)->has_outgoing_road(out->get_id())) + (*junction)->add_outgoing_road(out); } } else if(it->first->has_successor() && it->first->is_successor_junction() && it->first->get_successor_id()==this->id) { if((it->second).size()>1) { - out_left=(it->second)[1]; - if(!(*junction)->has_outgoing_road(out_left->get_id())) - (*junction)->add_outgoing_road(out_left); - out=out_left; + out=(it->second)[1]; + if(!(*junction)->has_outgoing_road(out->get_id())) + (*junction)->add_outgoing_road(out); } } }