Browse Source

change adcxodrview2 in windows.

yuchuli 2 years ago
parent
commit
3508522392
1 changed files with 11 additions and 2 deletions
  1. 11 2
      src/common/common/xodr/xodrfunc/roadsample.cpp

+ 11 - 2
src/common/common/xodr/xodrfunc/roadsample.cpp

@@ -167,21 +167,25 @@ int RoadSample::SampleRoad(Road * pRoad)
             }
             }
 
 
 
 
-            if((bInserPoint == false)&&(bHaveLast))
+     //       if((bInserPoint == false)&&(bHaveLast))
+            if((bHaveLast))
             {
             {
 
 
                 if(bIsCrossFeature)
                 if(bIsCrossFeature)
                 {
                 {
-                    SampleLanePoint(pRoad,pLS,fS,xvectorLanePoint);
+                    SampleLanePoint(pRoad,pLS,fS-0.0000001,xvectorLanePoint);
                     xRP.mvectorLanePoint = xvectorLanePoint;
                     xRP.mvectorLanePoint = xvectorLanePoint;
                     unsigned int k;
                     unsigned int k;
                     unsigned int ksize = static_cast<unsigned int >(xRP.mvectorLanePoint.size());
                     unsigned int ksize = static_cast<unsigned int >(xRP.mvectorLanePoint.size());
                     for(k=0;k<ksize;k++)
                     for(k=0;k<ksize;k++)
                     {
                     {
+    //                    std::vector<LaneSamplePoint> *pvectorLastLanePoint = &mvectorRoadPoint[mvectorRoadPoint.size()-1].mvectorLanePoint;;
                         xRP.mvectorLanePoint[k].mstrroadmarkcolor = mvectorRoadPoint[mvectorRoadPoint.size()-1].mvectorLanePoint[k].mstrroadmarkcolor;
                         xRP.mvectorLanePoint[k].mstrroadmarkcolor = mvectorRoadPoint[mvectorRoadPoint.size()-1].mvectorLanePoint[k].mstrroadmarkcolor;
                         xRP.mvectorLanePoint[k].mstrroadmarktype = mvectorRoadPoint[mvectorRoadPoint.size()-1].mvectorLanePoint[k].mstrroadmarktype;
                         xRP.mvectorLanePoint[k].mstrroadmarktype = mvectorRoadPoint[mvectorRoadPoint.size()-1].mvectorLanePoint[k].mstrroadmarktype;
                     }
                     }
                     mvectorRoadPoint.push_back(xRP);
                     mvectorRoadPoint.push_back(xRP);
+                    xvectorLanePoint.clear();
+                    SampleLanePoint(pRoad,pLS,fS,xvectorLanePoint);
                     bInserPoint = true;
                     bInserPoint = true;
                     nSec++;
                     nSec++;
                     xRP.nSecNum = nSec;
                     xRP.nSecNum = nSec;
@@ -273,6 +277,11 @@ int RoadSample::SampleRoad(Road * pRoad)
             if(bInserPoint)
             if(bInserPoint)
             {
             {
                 xRP.mvectorLanePoint = xvectorLanePoint;
                 xRP.mvectorLanePoint = xvectorLanePoint;
+//                if(xvectorLanePoint.size() == 0)
+//                {
+//                    int a = 1;
+//                    a++;
+//                }
                 xRP.mbMarkBrokenVisable = bMarkBrokenVisable;
                 xRP.mbMarkBrokenVisable = bMarkBrokenVisable;
                 if(fabs(xRP.mfLaneOffValue)<0.01)
                 if(fabs(xRP.mfLaneOffValue)<0.01)
                 {
                 {