コード例 #1
0
 public static void GetCsvData(this WhiteLine whiteLine,
                               out List <CsvPoint> csvPoints,
                               out List <CsvLine> csvLines,
                               out List <CsvWhiteLine> csvWhiteLines)
 {
     csvPoints     = new List <CsvPoint>();
     csvLines      = new List <CsvLine>();
     csvWhiteLines = new List <CsvWhiteLine>();
     for (int i = 0; i < whiteLine.LineRenderer.positionCount; i++)
     {
         var csvPoint = new CsvPoint()
         {
             Position = whiteLine.LineRenderer.GetPosition(i)
         };
         csvPoints.Add(csvPoint);
         if (i > 0)
         {
             var csvLine = new CsvLine()
             {
                 PointBegin = csvPoints[i - 1], PointFinal = csvPoint
             };
             if (i > 1)
             {
                 csvLine.LineLast = csvLines.Last();
             }
             csvLines.Add(csvLine);
             csvWhiteLines.Add(new CsvWhiteLine()
             {
                 Line = csvLine, Width = whiteLine.width
             });
         }
     }
 }
コード例 #2
0
ファイル: VectorMapTool.cs プロジェクト: abdelq/simulator
    void MakeVisualLine(Line line, LineType type, out int retLinkID)
    {
        retLinkID = -1;

        var startPos = GetUnityPosition(new VectorMapPosition()
        {
            Bx = points[line.BPID - 1].Bx, Ly = points[line.BPID - 1].Ly, H = points[line.BPID - 1].H
        });
        var endPos = GetUnityPosition(new VectorMapPosition()
        {
            Bx = points[line.FPID - 1].Bx, Ly = points[line.FPID - 1].Ly, H = points[line.FPID - 1].H
        });

        if (type == LineType.STOP) //If it is stopline
        {
            int LinkID = FindNearestLaneId(GetVectorMapPosition((startPos + endPos) / 2), true);
            retLinkID = LinkID;
            var vmStopline = StopLine.MakeStopLine(stoplines.Count + 1, line.LID, 0, 0, LinkID);
            stoplines.Add(vmStopline);
        }
        else if (type == LineType.WHITE || type == LineType.YELLOW) //if it is whiteline
        {
            int LinkID = FindNearestLaneId(GetVectorMapPosition((startPos + endPos) / 2));
            retLinkID = LinkID;
            string color = "W";
            switch (type)
            {
            case LineType.WHITE:
                color = "W";
                break;

            case LineType.YELLOW:
                color = "Y";
                break;
            }
            var vmWhiteline = WhiteLine.MakeWhiteLine(whiteLines.Count + 1, line.LID, .15, color, 0, LinkID);
            whiteLines.Add(vmWhiteline);
        }
    }
コード例 #3
0
        void MakeVisualLine(Line line, LineType type, out int retLinkID)
        {
            retLinkID = 0;

            var startPos = VectorMapUtility.GetUnityPosition(new VectorMapPosition()
            {
                Bx = Points[line.BPID - 1].Bx, Ly = Points[line.BPID - 1].Ly, H = Points[line.BPID - 1].H
            }, MapAnnotationTool.EXPORT_SCALE_FACTOR);
            var endPos = VectorMapUtility.GetUnityPosition(new VectorMapPosition()
            {
                Bx = Points[line.FPID - 1].Bx, Ly = Points[line.FPID - 1].Ly, H = Points[line.FPID - 1].H
            }, MapAnnotationTool.EXPORT_SCALE_FACTOR);

            if (type == LineType.STOP) //If it is stopline
            {
                int LinkID = FindNearestLaneId(VectorMapUtility.GetVectorMapPosition((startPos + endPos) / 2, MapAnnotationTool.EXPORT_SCALE_FACTOR), true);
                retLinkID = LinkID;
                var vmStopline = StopLine.MakeStopLine(StopLines.Count + 1, line.LID, 0, 0, LinkID);
                StopLines.Add(vmStopline);
            }
            else if (type == LineType.WHITE || type == LineType.YELLOW) //if it is whiteline
            {
                int LinkID = FindNearestLaneId(VectorMapUtility.GetVectorMapPosition((startPos + endPos) / 2, MapAnnotationTool.EXPORT_SCALE_FACTOR));
                retLinkID = LinkID;
                string color = "W";
                switch (type)
                {
                case LineType.WHITE:
                    color = "W";
                    break;

                case LineType.YELLOW:
                    color = "Y";
                    break;
                }
                var vmWhiteline = WhiteLine.MakeWhiteLine(WhiteLines.Count + 1, line.LID, .15, color, 0, LinkID);
                WhiteLines.Add(vmWhiteline);
            }
        }