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.
60 lines
1.9 KiB
C++
60 lines
1.9 KiB
C++
#ifndef LAYEROPERATOR_H
|
|
#define LAYEROPERATOR_H
|
|
|
|
#include "Map/UGMap.h"
|
|
#include "Scene/UGLayer3D.h"
|
|
#include <QStringList>
|
|
#include "routeglobalvariant.h"
|
|
#include "qmapcontrol.h"
|
|
#include "scenecontrol.h"
|
|
|
|
using namespace UGC;
|
|
|
|
class LayerOperator
|
|
{
|
|
public:
|
|
LayerOperator();
|
|
|
|
// 获取Layer中选中几何对象标记信息
|
|
QMap<int,QStringList> getSelectedFeature(UGMap* pMap);
|
|
|
|
//设置图层风格
|
|
void setVectorLayerStyle(UGLayer* layer,UGDataset::DatasetType m_nType);
|
|
|
|
//显示几何对象
|
|
void addGeometryInTrackingLayer(UGTrackingLayer* pTrackingLayer,UGRecordsetPtr res,UGStyle &sty);
|
|
|
|
void addGeometryInDynamicLayer(UGDynamicLayer* pDyLayer,UGRecordsetPtr res,UGStyle &sty);
|
|
|
|
//获取动态图层
|
|
void getDynamicLayer(UGMap* pMap,UGDynamicLayer* &pDyLayer,UGString dyLayerName);
|
|
void getQDynamicLayer(QMapControl* pMapControl,QDynamicLayer* &pDyLayer,QString dyLayerName);
|
|
|
|
UGLayer* appendDatasetToMap(UGDatasetPtr pDataset,UGMap* m_pMap); //将dataset展示到地图中
|
|
|
|
//添加航点标记
|
|
void addNodeLabel(UGGeoLine* pGeoline,UGDynamicLayer* pLabelDyLayer,QString routeType,QString routeNum);
|
|
void addNodeLabel(QMapControl* qMapControl,UGRecordsetPtr selectionRes);
|
|
|
|
//导入kml文件时临时显示航线
|
|
void showKMLTemporary(QMapControl* qMapControl,UGRecordsetPtr kmlRes);
|
|
|
|
//显示三维航线注记
|
|
void showNodeLabel3D(SceneControl* pSceneControl);
|
|
|
|
public: //用于三维场景的函数
|
|
//导入kml3D文件时临时显示航线
|
|
void showKML3DTemporary(SceneControl* pSceneControl,UGRecordsetPtr kml3DRes);
|
|
|
|
//添加几何对象到三维追踪层
|
|
void addGeometryToTrackingLayer3D(SceneControl* pSceneControl,UGRecordsetPtr kml3DRes);
|
|
|
|
// 获取Layer3D中选中几何对象标记信息
|
|
QMap<int,QStringList> getSelectedFeature3D(SceneControl* pSceneControl);
|
|
|
|
private:
|
|
RouteGlobalVariant routeGVar;
|
|
};
|
|
|
|
#endif // LAYEROPERATOR_H
|