#ifndef GEOFEATUREOPERATOR_H #define GEOFEATUREOPERATOR_H #include #include #include #include "Engine/UGDatasetVector.h" #include "Geometry/UGGeometry.h" #include "qmapcontrol.h" #include "scenecontrol.h" #include "sceneview.h" using namespace UGC; class GeoFeatureOperator { public: GeoFeatureOperator(); // 查询地理要素 UGRecordsetPtr queryFeature(UGDatasetVector *dv, UGString filter=_U("")); UGRecordsetPtr queryFeature(UGDatasetVector *dv, UGRect2D bounds); //高亮几何对象 void highLightGeometry(UGGeometry* pGeometry); //导入航线属性信息 int importFeatureAttribute(UGDatasetVector *dv, UGGeometry* pGeometry, QMap fieldsValue,bool isAddGeometry = true); //获取几何对象所有节点坐标 void getNodePoints(UGRecordsetPtr res,UGint geometryType,QVector&points); //线要素绘制 void drawLine(QMapControl* qMapControl,UGDataSource* pDataSource,UGString datasetName); //3D线要素绘制 void drawLine3D(SceneView* pSceneView,UGString datasourceName, UGString datasetName); void drawLine3D(SceneView* pSceneView,UGString dataName); //添加三维几何对象到记录集 void addGeometry3DToDataset(UGDatasetVector* dv,UGGeometry* pGeometry); //添加三维几何对象 int importGeometry3DAttribute(UGDatasetVector *dv, UGGeometry* pGeometry, QMap fieldsValue); }; #endif // GEOFEATUREOPERATOR_H