瀏覽代碼

change map_lanetoxodr.

yuchuli 2 年之前
父節點
當前提交
322054e430

+ 101 - 0
src/common/common/xodr/OpenDrive/ObjectSignal.cpp

@@ -2923,5 +2923,106 @@ signal_laneValidity * Signal::GetlaneValidity()
 }
 
 
+signals_signalReference::signals_signalReference(double s, double t, std::string id, std::string orientation)
+{
+    ms = s;
+    mt = t;
+    mid = id;
+    morientation = orientation;
+}
+
+double signals_signalReference::Gets()
+{
+    return ms;
+}
+
+double signals_signalReference::Gett()
+{
+    return mt;
+}
+
+std::string signals_signalReference::Getid()
+{
+    return mid;
+}
+
+std::string signals_signalReference::Getorientation()
+{
+    return  morientation;
+}
 
+void signals_signalReference::Sets(double s)
+{
+    ms = s;
+}
+
+void signals_signalReference::Sett(double t)
+{
+    mt = t;
+}
+
+void signals_signalReference::Setid(std::string id)
+{
+    mid = id;
+}
 
+void signals_signalReference::Setorientation(std::string orientation)
+{
+    morientation = orientation;
+}
+
+vector<signal_laneValidity> * signals_signalReference::GetlaneValidityVector()
+{
+    return &mlaneValidity;
+}
+
+signal_laneValidity* signals_signalReference::GetlaneValidity(unsigned int i)
+{
+    if ((mlaneValidity.size()>0)&&(i<(mlaneValidity.size())))
+        return &(mlaneValidity.at(i));
+    else
+        return NULL;
+}
+
+unsigned int signals_signalReference::GetlaneValidityCount()
+{
+    return static_cast<unsigned int >(mlaneValidity.size()) ;
+}
+
+signal_laneValidity*			signals_signalReference::GetLastlaneValidity()
+{
+    if (mlaneValidity.size()>0)
+        return &mlaneValidity.at(mlaneValidity.size()-1);
+    else
+        return NULL;
+}
+
+signal_laneValidity*			signals_signalReference::GetLastAddedlaneValidity()
+{
+    if(mLastAddedlaneValidity<mlaneValidity.size())
+        return &mlaneValidity.at(mLastAddedlaneValidity);
+    else
+        return NULL;
+}
+
+unsigned int signals_signalReference::AddlaneValidity(int fromLane, int toLane)
+{
+    mlaneValidity.push_back(signal_laneValidity(fromLane,toLane));
+    mLastAddedlaneValidity = static_cast<unsigned int>(mlaneValidity.size()-1) ;
+    return mLastAddedlaneValidity;
+}
+
+unsigned int signals_signalReference::ClonelaneValidity(unsigned int index)
+{
+    if(index<(mlaneValidity.size()-1))
+        mlaneValidity.insert(mlaneValidity.begin()+index+1, mlaneValidity[index]);
+    else if(index==mlaneValidity.size()-1)
+        mlaneValidity.push_back(mlaneValidity[index]);
+    mLastAddedlaneValidity=index+1;
+    return mLastAddedlaneValidity;
+}
+
+void signals_signalReference::DeletelaneValidity(unsigned int index)
+{
+    mlaneValidity.erase(mlaneValidity.begin()+index);
+}

+ 37 - 0
src/common/common/xodr/OpenDrive/ObjectSignal.h

@@ -925,5 +925,42 @@ public:
 };
 //----------------------------------------------------------------------------------
 
+//***********************************************************************************
+//Signal Reference
+//***********************************************************************************
+
+class signals_signalReference
+{
+private:
+    double ms;
+    double mt;
+    std::string mid;
+    std::string morientation;
+
+    std::vector<signal_laneValidity> mlaneValidity;
+    unsigned int mLastAddedlaneValidity;
+
+public:
+    signals_signalReference(double s, double t, std::string id, std::string orientation);
+
+    double Gets();
+    double Gett();
+    std::string Getid();
+    std::string Getorientation();
+
+    void Sets(double s);
+    void Sett(double t);
+    void Setid(std::string id);
+    void Setorientation(std::string orientation);
+
+    vector<signal_laneValidity> * GetlaneValidityVector();
+    signal_laneValidity* GetlaneValidity(unsigned int i);
+    unsigned int GetlaneValidityCount();
+    signal_laneValidity*			GetLastlaneValidity();
+    signal_laneValidity*			GetLastAddedlaneValidity();
+    unsigned int AddlaneValidity(int fromLane, int toLane);
+    unsigned int ClonelaneValidity(unsigned int index);
+    void DeletelaneValidity(unsigned int index);
+};
 
 #endif

+ 2 - 0
src/tool/map_lanetoxodr/cdaproc.pro

@@ -18,6 +18,8 @@ QMAKE_LFLAGS += -no-pie
 # deprecated API in order to know how to port your code away from it.
 DEFINES += QT_DEPRECATED_WARNINGS
 
+DEFINES += CDAPROC
+
 # You can also make your code fail to compile if you use deprecated APIs.
 # In order to do so, uncomment the following line.
 # You can also select to disable deprecated APIs only up to a certain version of Qt.

+ 8 - 1
src/tool/map_lanetoxodr/excelapi.cpp

@@ -3,10 +3,17 @@
 #include <QLibrary>
 #include <iostream>
 
-extern QString gstrAppPath;
+#ifdef CDAPROC
+    extern QString gstrAppPath;
+#else
+    QString gstrAppPath;
+#endif
 ExcelAPI::ExcelAPI()
 {
     std::cout<<"Load Excel API"<<std::endl;
+#ifndef CDAPROC
+    gstrAppPath = ".";
+#endif
 
 #ifdef Q_OS_WIN
     QLibrary xlib("./plugin/libxlnt.dll");