|
@@ -207,6 +207,10 @@ int AutoRoadContact::CalcContact(Road *pRoad1, Road *pRoad2,int & contacttype,in
|
|
|
for(i=0;i<xroad1rightlane.size();i++)
|
|
|
{
|
|
|
Lane * pLane1 = xroad1rightlane.at(i);
|
|
|
+ if(i>=xroad2rightlane.size())
|
|
|
+ {
|
|
|
+ break;
|
|
|
+ }
|
|
|
Lane * pLane2 = xroad2rightlane.at(i);
|
|
|
if((pLane1 == NULL)||(pLane2 == NULL))
|
|
|
{
|
|
@@ -224,6 +228,10 @@ int AutoRoadContact::CalcContact(Road *pRoad1, Road *pRoad2,int & contacttype,in
|
|
|
for(i=0;i<xroad1leftlane.size();i++)
|
|
|
{
|
|
|
Lane * pLane1 = xroad1leftlane.at(i);
|
|
|
+ if(i>=xroad2leftlane.size())
|
|
|
+ {
|
|
|
+ break;
|
|
|
+ }
|
|
|
Lane * pLane2 = xroad2leftlane.at(i);
|
|
|
if((pLane1 == NULL)||(pLane2 == NULL))
|
|
|
{
|
|
@@ -268,6 +276,10 @@ int AutoRoadContact::CalcContact(Road *pRoad1, Road *pRoad2,int & contacttype,in
|
|
|
for(i=nindex1;i<xroad1rightlane.size();i++)
|
|
|
{
|
|
|
Lane * pLane1 = xroad1rightlane.at(i);
|
|
|
+ if(nindex2 >= xroad2rightlane.size())
|
|
|
+ {
|
|
|
+ break;
|
|
|
+ }
|
|
|
Lane * pLane2 = xroad2rightlane.at(nindex2);nindex2++;
|
|
|
if((pLane1 == NULL)||(pLane2 == NULL))
|
|
|
{
|