#ifndef ROADEDITDIALOG_H #define ROADEDITDIALOG_H #include #include #include "myview.h" #include "OpenDrive/OpenDrive.h" #include "ivxodrtool.h" #include "roadviewitem.h" #include "dialogeditlane.h" #include "dialogeditroadmark.h" #include "dialoglanefromrtk.h" #include "dialogroadsplit.h" #include "dialogroadmerge.h" #include "dialogroadmove.h" #include "dialogroadrotate.h" #include "dialogroadmirror.h" #include "dialoglaneoffset.h" #include "dialogroadobject.h" #include "dialogroadoptimize.h" #include "roaddigit.h" #include "xodrscenfunc.h" namespace Ui { class RoadEditDialog; } class RoadEditDialog : public QDialog { Q_OBJECT public: explicit RoadEditDialog(OpenDrive * pxodr,std::string strdefroad,QWidget *parent = nullptr); ~RoadEditDialog(); private: void ExecPainter(); private slots: virtual void paintEvent(QPaintEvent *); void on_comboBox_Road_activated(const QString &arg1); void on_comboBox_Road_currentIndexChanged(int index); void on_comboBox_Geo_currentIndexChanged(int index); void on_pushButton_EditLane_clicked(); void on_pushButton_EditRoadMark_clicked(); void on_pushButton_LaneFromRTK_clicked(); void on_pushButton_RoadSplit_clicked(); void on_pushButton_RoadMerge_clicked(); void on_pushButton_MoveRoad_clicked(); void on_pushButton_RotateRoad_clicked(); void on_pushButton_MirrorRoad_clicked(); void on_pushButton_EditLaneOffset_clicked(); void on_pushButton_EditRoadObjects_clicked(); void on_pushButton_RoadOptimize_clicked(); private: bool IsDrawMark(double s); private: Ui::RoadEditDialog *ui; OpenDrive * mpxodr; QImage *image; QPainter *painter; MyView *myview; QTimer *timer; QGraphicsScene *scene; Road * mpCurRoad = 0; int mnSelGeo = -1; std::vector mvectorroadview; std::vector mvectorviewitem; double mfViewMoveX = 0; double mfViewMoveY = 0; }; #endif // ROADEDITDIALOG_H