多段线绘制-区间跟踪功能-逻辑设计

跟踪功能简介可见ArcGIS 文档

https://desktop.arcgis.com/zh-cn/arcmap/10.3/manage-data/editing-fundamentals/creating-segments-by-tracing-features.htm

arcgis的追踪如下图

arcgis跟踪演示

这边是我自己独立设计开发的跟踪功能,效果如下。

效果演示

在当前数据源中,取视窗内全部的实体(图形),取其所有线段存进成员变量vector点数组中。

(实际有三个vector  点数组,凸度数组,z值数组。这里只按点数组讨论)

(如果编辑中途改变视窗,则通过对应的槽函数更新此vector数据)

开启此功能后,首先提示用户点击确定跟踪起点(如取最近点),然后程序调一次更新点数组功能。

之后,用户移动鼠标,程序在事件响应的函数中进行跟踪的实现,以下逻辑代码全在此鼠标移动事件响应函数内。

//第一步 直接遍历点数组,取出所有与跟踪起点相连的点,代码略

//第二步,遍历所有与跟踪起点相连的点,计算夹角(代码内有解释),找到最小的,这就完成了一次跟踪,随着鼠标移动事件的重复触发,达到预期的追踪效果。

QVector<QPointF> con
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值