|
@@ -0,0 +1,81 @@
|
|
|
+#include "mainwindow.h"
|
|
|
+#include "ui_mainwindow.h"
|
|
|
+
|
|
|
+#include <QFileDialog>
|
|
|
+#include <QMessageBox>
|
|
|
+
|
|
|
+#include "odtolanelet.h"
|
|
|
+
|
|
|
+MainWindow::MainWindow(QWidget *parent)
|
|
|
+ : QMainWindow(parent)
|
|
|
+ , ui(new Ui::MainWindow)
|
|
|
+{
|
|
|
+ ui->setupUi(this);
|
|
|
+
|
|
|
+ setWindowTitle(tr("Convert OpenDrive Map To LaneLet2 Map"));
|
|
|
+}
|
|
|
+
|
|
|
+MainWindow::~MainWindow()
|
|
|
+{
|
|
|
+ delete ui;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+void MainWindow::on_pushButton_Convert_clicked()
|
|
|
+{
|
|
|
+ QString strhome = getenv("HOME");
|
|
|
+ if(strhome.isEmpty())
|
|
|
+ {
|
|
|
+ strhome = ".";
|
|
|
+ }
|
|
|
+
|
|
|
+ QString str = QFileDialog::getOpenFileName(this,tr("Load XODR"),strhome,"*.xodr");
|
|
|
+ if(str.isEmpty())return;
|
|
|
+
|
|
|
+ QString strlanelet = QFileDialog::getSaveFileName(this,tr("Save LaneLet2"),strhome,"*.osm");
|
|
|
+ if(strlanelet.isEmpty())return;
|
|
|
+
|
|
|
+
|
|
|
+ if(strlanelet.length()>4)
|
|
|
+ {
|
|
|
+ if(strlanelet.right(4) == ".osm")
|
|
|
+ {
|
|
|
+// qDebug("not need append.");
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ strlanelet.append(".osm");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ strlanelet.append(".osm");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+// qDebug("name: %s",strlanelet.toLatin1().data());
|
|
|
+
|
|
|
+
|
|
|
+ odtolanelet * potl = new odtolanelet(str.toStdString());
|
|
|
+
|
|
|
+ int nrtn = 0;
|
|
|
+
|
|
|
+ int64_t time1 = std::chrono::system_clock::now().time_since_epoch().count();
|
|
|
+ nrtn = potl->ConvertToLanelet(strlanelet.toStdString());
|
|
|
+ int64_t time2 = std::chrono::system_clock::now().time_since_epoch().count();
|
|
|
+
|
|
|
+ std::cout<<"use time: "<<(time2 - time1)<<std::endl;
|
|
|
+
|
|
|
+ if(nrtn == 0)
|
|
|
+ {
|
|
|
+ QMessageBox::information(this,tr("Success"),tr("Success Convert."),QMessageBox::YesAll);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ QMessageBox::warning(this,tr("Warning"),tr("Fail Convert."),QMessageBox::YesAll);
|
|
|
+ }
|
|
|
+
|
|
|
+ delete potl;
|
|
|
+
|
|
|
+}
|
|
|
+
|