跟踪功能简介可见ArcGIS 文档
arcgis的追踪如下图
arcgis跟踪演示
这边是我自己独立设计开发的跟踪功能,效果如下。
效果演示
在当前数据源中,取视窗内全部的实体(图形),取其所有线段存进成员变量vector点数组中。
(实际有三个vector 点数组,凸度数组,z值数组。这里只按点数组讨论)
(如果编辑中途改变视窗,则通过对应的槽函数更新此vector数据)
开启此功能后,首先提示用户点击确定跟踪起点(如取最近点),然后程序调一次更新点数组功能。
之后,用户移动鼠标,程序在事件响应的函数中进行跟踪的实现,以下逻辑代码全在此鼠标移动事件响应函数内。
//第一步 直接遍历点数组,取出所有与跟踪起点相连的点,代码略
//第二步,遍历所有与跟踪起点相连的点,计算夹角(代码内有解释),找到最小的,这就完成了一次跟踪,随着鼠标移动事件的重复触发,达到预期的追踪效果。
QVector<QPointF> con