LogicFlow
LogicFlow copied to clipboard
[Feature]: 如何实现自定义选区
背景&目的
需求:如题,假如我的画布上存在许多节点,我想选择其中一部分时只能一个一个选中或使用框选功能,框选功能就需要我将节点摆放在一个规定的区域内,但实际应用中我的节点位置可能是乱七八糟的,这时框选就比较麻烦了。 现有的文档中我好像没有看到类似的功能,请问如果有这样的功能是怎么使用的,要是没有日后会考虑添加类似canvas中用鼠标绘制一个自定义选择区的api吗🤔
目前应该是没有这个功能,不过整体上可以理解为是框选功能的增强版,从以起止点计算框选区域增强为基于鼠标绘制框选区,具体可以参考框选插件的实现重新写一个插件来实现该功能。
目前应该是没有这个功能,不过整体上可以理解为是框选功能的增强版,从以起止点计算框选区域增强为基于鼠标绘制框选区,具体可以参考框选插件的实现重新写一个插件来实现该功能。
我按照示例的框选插件实现了绘制自定义多边形选区,但是我发现框选计算是否包裹节点底层都是使用的isElementInArea来判断,这个只能判断矩形面积内,没办法判断多边形,请问下这种情况有没有别的什么工具函数能够帮助判断节点或者边在多边形内,我在文档中好像没有看到相关函数。
目前确实没有相关的工具函数能判断节点或边是否在多边形内,这个可能需要自行实现,不过整体思路是差不多的,可以考虑先实现一个判断任意点是否在多边形区域内,以此为基础实现判断节点或边是否在多边形内的工具函数的实现。