You can not select more than 25 topics
Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- /* Copyright(c)--Navinfo--Author:fangzurui--date:2023-06-30 */
-
- #ifndef DATAMANAER_RENDERTOOL_MARKPOINTLAYER_H_
- #define DATAMANAER_RENDERTOOL_MARKPOINTLAYER_H_
-
- #include <QObject>
- #include <QCoreApplication>
-
- #include <string>
- #include <vector>
-
- #include "DataManager/Common/MarkPoint.h"
-
- /**
- * @brief The MarkPointLayer class
- * 任务点图层,包含多个任务点
- */
- class MarkPointLayer {
- public:
- MarkPointLayer();
- ~MarkPointLayer();
-
- public:
- // 创建TaskPoint
- MarkPoint* createMarkPoint(MapPoint mapPoint);
- MarkPoint* createMarkPoint(MapPoint mapPoint, std::string name);
-
- // 添加TaskPoint
- void addMarkPoint(MarkPoint* markPoint);
-
- // 获取taskPoint数组
- std::vector<MarkPoint*> getMarkPointVec();
-
- // 获取数组中对应位置的taskPoint
- MarkPoint* getMarkPoint(int num);
-
- // 获取数组中对应位置的taskPoint的标注指针
- osg::ref_ptr<Mark> getMarkPtr(int num);
-
- // 获取数组中对应位置的taskPoint的坐标
- MapPoint getMapPoint(int num);
-
- // 获取数组中对应位置的id文字
- std::string getId(int num);
-
- // 设置markPointCount
- void setMarkPointCount(int num);
-
- // 获取taskCount
- int getMarkPointCount();
-
- // 清零taskCount
- void resetMarkPointCount();
-
- // 删除指定位置的TaskPoint
- void deleteMarkPoint(int num);
-
- // 返回指定元素的下标
- int findKeyFromValue(MarkPoint* markPoint);
-
- // 指定范围内匹配taskPoint
- MarkPoint* matchMarkPoint(MapPoint mapPoint);
-
- // 清空数组中的所有任务点
- void clearMarkPoint();
-
- public:
- // 判断值是否存在于数组
- bool isExists(int num);
- bool isExists(std::string strId);
- bool isExists(MarkPoint* markPoint);
-
- private:
- std::vector<MarkPoint*> _vecMarkPoint; // 任务点对象指针数组
- int _markPointCount = 0; // 任务点总计数
-
- };
-
- #endif // DATAMANAER_RENDERTOOL_MARKPOINTLAYER_H_
|