1

全部,

除了我在这里的帖子,

@Phrogz 建议我们查看Kevin Lindsey 的图书馆,以满足我们识别边界和应用限制的需要。有没有人有使用这个库的经验?

问题: 在我们的 Web 应用程序中,我们有一个由 SVG 路径组成的对象。我们正在尝试实现在此对象内拖放其他对象的功能,但需要限制对象不能被拖放到此 SVG 对象之外。

根据 Phrogz 的建议,我们对此进行了调查,但正在努力弄清楚如何通过该对象。我们将对象作为路径字符串还是作为 SVG 对象传递。

错误: 此时,我们没有得到任何输出,甚至不确定它是否接受我们通过的对象。

这是一个相当开放的问题,我特别热衷于听取可能对 Kevin 的库/它的工作原理/功能有所了解的人的意见。

干杯

4

1 回答 1

0

我不确定这对您来说性能如何。我编写这个库更多地是作为概念验证,并教育自己了解高阶曲线的交叉点。话虽如此,我假设您正在尝试从库中实例化 Path 的实例?如果是这样,请查看以下实用程序中的 loadShapes:

https://github.com/thelonious/js-intersections/blob/master/samples/IntersectionUtilities.js

在处理这个文件时,它会在开始时被调用:

https://github.com/thelonious/js-intersections/blob/master/samples/intersect_bezier3_rect.svg

请注意,我正在使用自定义 gui:edit 属性标记要处理的项目。这很简洁,但我在很多年前(8 岁以上)写过这个,我确信最先进的技术有更好的技术,但我离题了。主要的是,您需要使用其节点类型的类来实例化每种形状类型。每次要检查交叉点时,都需要调用 Intersection.intersectShapes(node1, node2)。这将返回一个带有状态属性的对象,让您知道是否存在交叉或注释。我确信这一切都可以改进。代码在 github 上供那些希望分叉、修复和改进的人使用:)

https://github.com/thelonious/js-intersections https://github.com/thelonious/svg-2d

HTH,凯文

于 2011-07-18T21:56:17.643 回答