You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
1.9 KiB
C++
81 lines
1.9 KiB
C++
#ifndef DISPLAYROUTEDIALOG_H
|
|
#define DISPLAYROUTEDIALOG_H
|
|
|
|
#include <QDialog>
|
|
#include <QMap>
|
|
#include "Engine/UGDatasetVector.h"
|
|
#include "MapEditor/UGMapEditorWnd.h"
|
|
#include "Map/UGMap.h"
|
|
#include "routeglobalvariant.h"
|
|
#include "scenecontrol.h"
|
|
#include "Stream/ugdefs.h"
|
|
|
|
//MSVC编译器界面显示乱码问题
|
|
#if _MSC_VER >= 1600
|
|
#pragma execution_character_set("utf-8")
|
|
#endif
|
|
|
|
namespace Ui {
|
|
class DisplayRouteDialog;
|
|
}
|
|
using namespace UGC;
|
|
|
|
class DisplayRouteDialog : public QDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit DisplayRouteDialog(QWidget *parent = nullptr);
|
|
~DisplayRouteDialog();
|
|
|
|
void setDataset(UGDatasetPtr ds);
|
|
|
|
void setMapEditorWnd(UGMapEditorWnd* pMapEditorWnd);
|
|
|
|
void setSceneControl(SceneControl* pSceneControl);
|
|
|
|
void addRouteTypeItem(); // 添加航线类型
|
|
|
|
private slots:
|
|
void on_RouteTypeCbbox_currentIndexChanged(int index);
|
|
|
|
void on_displayBtn_clicked();
|
|
|
|
void on_cancelBtn_clicked();
|
|
|
|
private:
|
|
void addRouteNumberItem(UGRecordsetPtr res); //添加航线编号
|
|
|
|
void showRoute(); //显示二维航线
|
|
|
|
void showRoute3D(); //显示三维航线
|
|
|
|
void getDyLayer(UGMap* pMap,UGDynamicLayer* &pDyLayer,UGString dyLayerName);
|
|
|
|
void createDisplayLayer(UGMap* pMap,UGDatasetPtr dt,QString routeType);
|
|
|
|
UGString addGeometry3DToDisplayDataset(UGRecordsetPtr sourceRes,int routeType); //添加三维对象到显示数据集
|
|
|
|
void addGeometryToTrackingLayer3D(UGRecordsetPtr res,UGTrackingLayer3D* pTrackingLayer3D);
|
|
|
|
void removeGeometry(int type,UGTrackingLayer3D *pTrackingLayer3D);
|
|
|
|
private:
|
|
Ui::DisplayRouteDialog *ui;
|
|
RouteGlobalVariant routeGVar;
|
|
UGDatasetPtr dt;
|
|
UGDatasetVector* dtv;
|
|
UGMapEditorWnd* pMapEditorWnd;
|
|
SceneControl* pSceneControl;
|
|
QMap<int,QString> RouteType;
|
|
QString routeType;
|
|
QString routeNumber;
|
|
|
|
QMap<int,QList<QString>> routeTags;
|
|
|
|
bool is3DMap; //二三维标识
|
|
|
|
};
|
|
|
|
#endif // DISPLAYROUTEDIALOG_H
|