跳转到内容

吸附与共享点

吸附(snap)和共享点(point sharing)处理的都是 “这个点要落在那个东西上”。它们在界面上看起来很像, 但产生的后果不同。混淆这两者,是”我的图形怎么飘开了?” 这类 bug 最常见的根源。

吸附会把光标(或你正在拖动的顶点)拉到一个已有目标上。 最终结果是两个独立的点,只不过碰巧坐标一致。

之后再移动原目标,你吸附过去的那个点不会跟着—— 它们从未被链接。

这正是你在快速勾画时想要的:精准对齐,但没有隐式耦合。

共享点是被多个图形引用的同一个对象。移动一次, 所有持有引用的图形都会随之移动。

创建共享点的方式:点击时按住 Alt, 或在段编辑模式下把一个顶点拖到已有顶点上。

这正是你为”绝不能分开”的边界想要的—— 两条相邻车道的边、两个不能脱开的多边形顶点、 一条路径的终点和另一条路径的起点。

如果两个本该是”同一条边”的图形边,实际上是两个吸附过去的点, 那么拖动其中一个、再导出 OpenDRIVE,路网就会在那个顶点处裂开。 仿真器可能把这段缝隙当作不连续,也可能根据自身实现忽略它。

车道的 Left/Right 邻居,只要共享一条边界,在内部就一定使用 共享点——这是非可选项,也不由用户控制。 对于任意的图形(Linestring、Polygon、Path),由你来选择。

  • 吸附目标会高亮显示一个手柄,并把光标拉过去。
  • 共享点在段编辑模式下会显示为一个双层手柄。