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.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
# ifndef SCENELAYERSVIEW_H
# define SCENELAYERSVIEW_H
# include <QTreeWidget>
# include <QTreeWidgetItem>
# include "sceneControl.h"
# include "Scene/UGLayer3DGroup.h"
# include "Layer3DDataset/UGLayer3DDatasetImage.h"
# include "Layer3DDatasetModel/UGLayer3DDatasetModelPro.h"
# include "Layer3DDataset/UGLayer3DDatasetVector.h"
# include "Layer3DDataset/UGLayer3DDatasetVectorLR.h"
# include "Layer3DDataset/UGLayer3DDatasetVectorPoint.h"
# include "Layer3DDataset/UGLayer3DDatasetVolume.h"
# include "Icons.h"
class SceneLayersView : public QTreeWidget
{
Q_OBJECT
public :
enum ItemType {
TypeTerrainLayers ,
TypeLayerTerrain ,
TypeDatasetLayers ,
TypeLayerGroup ,
TypeLayer ,
TypeLayerPoint ,
TypeLayerLine ,
TypeLayerRegion ,
TypeLayerText ,
TypeLayerCAD ,
TypeLayerNetwork ,
TypeLayerGrid ,
TypeLayerDEM ,
TypeLayerPoint3D ,
TypeLayerLine3D ,
TypeLayerRegion3D ,
TypeLayerModel ,
TypeLayerOSGB ,
TypeLayerImage ,
TypeLayerOverlay ,
TypeLayerTin ,
} ;
int ItemDataType ; // QTreeWidgetItem存放数据类型, 自定义类型
public :
explicit SceneLayersView ( QWidget * parent = nullptr ) ;
private :
QTreeWidgetItem * pTreeNormalLayers ; // 普通层组,关联数据集或三维缓存数据,可保存到工作空间
QTreeWidgetItem * pTreeTerrianLayers ; // 地形图层组,可保存到工作空间
const int typeIconCol = 0 ;
private :
void addDefaultTree ( ) ;
void clearItems ( QTreeWidgetItem * pItem ) ;
void updateLayer ( UGLayer3D * pLayer , QTreeWidgetItem * parent , bool isTop = false ) ;
ItemType updateItemByDataset ( UGDataset * pDataset , QTreeWidgetItem * pItem ) ;
public :
void updateLayers ( SceneControl * sceneControl ) ;
void addLayer ( UGLayer3D * pLayer , bool isTop = true ) ;
void clear ( ) ;
signals :
public slots :
} ;
# endif // SCENELAYERSVIEW_H